Aller au contenu
ecdsa.com

SHA-256

Le membre de 256 bits de la famille SHA-2 (FIPS 180-4), hachage par défaut de TLS, JWT, X.509, Bitcoin et de la plupart des outils d’intégrité des fichiers, avec une résistance de 128 bits aux collisions et de 256 bits à la préimage.
Autres graphiesSHA256SHA2-256sha256sum

SHA-256 traite des blocs de 64 octets en 64 tours sur des mots de 32 bits, dans une construction de Merkle–Damgård, et produit 32 octets. Son condensat de la chaîne vide est e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 et celui de abc est ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. Aucune attaque n’approche ses bornes de sécurité.

La plupart des processeurs modernes disposent d’instructions SHA-256 (extensions SHA d’Intel et d’AMD, extensions cryptographiques ARMv8). Sur un cœur d’Apple M4 Max, OpenSSL 3.6.5 hache environ 2,85 Go/s avec des tampons de 16 Kio, plus vite que SHA-512 (1,65 Go/s) et SHA3-256 (1,01 Go/s) sur la même machine. Bitcoin l’applique deux fois (SHA-256d) pour les identifiants de blocs et de transactions.

Sa structure de Merkle–Damgård permet l’extension de longueur : SHA-256(secret ‖ message) n’est donc pas un MAC sûr ; utilisez HMAC-SHA256. Identifiants : OID 2.16.840.1.101.3.4.2.1, JOSE S256 dans PKCE et sha-256 dans le _sd_alg de SD-JWT, SHA-256 dans WebCrypto, sha256 dans OpenSSL et Node.

Normes et références

Tous les termes