Secure Hashing Algorithm (SHA) -256 ist die Hash-Funktion und der Mining-Algorithmus des Bitcoin-Protokolls und bezieht sich auf die kryptographische Hash-Funktion, die einen 256 Bit langen Wert ausgibt. Sie moderiert die Erstellung und Verwaltung von Adressen und wird auch zur Transaktionsüberprüfung verwendet. Bitcoin verwendet doppeltes SHA-256, was bedeutet, dass die Hash-Funktionen zweimal angewendet werden.
Der Algorithmus ist eine Variante des SHA-2 (Secure Hash Algorithm 2), der von der National Security Agency (NSA) entwickelt wurde. SHA-256 wird auch in gängigen Verschlüsselungsprotokollen wie SSL, TLS, SSH und Open-Source-Betriebssystemen wie bswp. Linux verwendet.
Der Hash-Algorithmus ist extrem sicher und seine Funktionsweise ist der Öffentlichkeit nicht bekannt. Er wird von der US-Regierung zum Schutz sensibler Informationen verwendet, da er dank der Verwendung digitaler Signaturen in der Lage ist, den Inhalt von Daten zu verifizieren, ohne ihn preiszugeben. Darüber hinaus wird es auch zur Überprüfung von Passwörtern verwendet, da die Hash-Werte gespeichert und mit den Eingaben des Users abgeglichen werden können, um zu überprüfen, ob sie korrekt sind oder nicht.
In der Tat ist es nahezu unmöglich, die ursprünglichen Daten aus einem Hash-Wert selbst herauszufinden. Ausserdem ist ein Brute-Force-Angriff aufgrund der astronomischen Anzahl möglicher Kombinationen äusserst unwahrscheinlich. Darüber hinaus ist es auch sehr unwahrscheinlich, dass zwei Datenwerte (sogenannte Kollisionen) denselben Hashwert haben.