Zum Inhalt springen
ecdsa.com

SHA-256

Das 256-Bit-Mitglied der SHA-2-Familie (FIPS 180-4), Standard-Hashfunktion von TLS, JWT, X.509, Bitcoin und den meisten Tools zur Prüfung der Dateiintegrität, mit 128 Bit Kollisions- und 256 Bit Urbildresistenz.
Auch geschrieben alsSHA256SHA2-256sha256sum

SHA-256 verarbeitet 64-Byte-Blöcke in 64 Runden über 32-Bit-Wörter in einer Merkle–Damgård-Konstruktion und gibt 32 Byte aus. Der Digest des leeren Strings ist e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855, der von abc ist ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. Kein Angriff kommt auch nur in die Nähe seiner Sicherheitsgrenzen.

Die meisten modernen CPUs haben SHA-256-Befehle (SHA Extensions von Intel und AMD, Crypto Extensions von ARMv8). Auf einem Kern eines Apple M4 Max hasht OpenSSL 3.6.5 mit 16-KiB-Puffern etwa 2,85 GB/s, schneller als SHA-512 (1,65 GB/s) und SHA3-256 (1,01 GB/s) auf derselben Maschine. Bitcoin wendet die Funktion zweimal an (SHA-256d), für Block- und Transaktions-IDs.

Die Merkle–Damgård-Struktur von SHA-256 erlaubt Length-Extension-Angriffe, daher ist SHA-256(secret ‖ message) kein sicherer MAC; verwende HMAC-SHA256. Kennungen: OID 2.16.840.1.101.3.4.2.1, JOSE S256 in PKCE und sha-256 in _sd_alg von SD-JWT, SHA-256 in WebCrypto, sha256 in OpenSSL und Node.

Standards und Quellen

Alle Begriffe