SHA-2

De la Viquipèdia, l'enciclopèdia lliure
Una iteració en una funció de compressió de la família SHA-2.

SHA-2 (acrònim anglès de Secure Hash Algorithm 2) és un conjunt de funcions hash criptogràfiques dissenyades per l'Agència de Seguretat Nacional (NSA) dels Estats Units i publicats per primera vegada el 2001.[1][2] Es construeixen utilitzant la construcció Merkle–Damgård, a partir d'una funció de compressió unidireccional construïda utilitzant l'estructura de Davies–Meyer a partir d'un xifratge de blocs especialitzat.

SHA-2 inclou canvis significatius respecte al seu predecessor, SHA-1. La família SHA-2 consta de sis funcions hash amb resums (valors hash) de 224, 256, 384 o 512 bits: [3] SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/ 224, SHA-512/256. SHA-256 i SHA-512 són noves funcions hash calculades amb vuit paraules de 32 i 64 bits, respectivament. Utilitzen diferents quantitats de canvi i constants additives, però les seves estructures són pràcticament idèntiques, només es diferencien en el nombre de rondes. SHA-224 i SHA-384 són versions truncades de SHA-256 i SHA-512 respectivament, calculades amb diferents valors inicials. SHA-512/224 i SHA-512/256 també són versions truncades de SHA-512, però els valors inicials es generen mitjançant el mètode descrit a Federal Information Processing Standards (FIPS) PUB 180-4.

SHA-2 va ser publicat per primera vegada pel National Institute of Standards and Technology (NIST) com a estàndard federal dels EUA (FIPS). La família d'algorismes SHA-2 està patentada als EUA.[4] Els Estats Units han alliberat la patent sota una llicència lliure de drets d'autor.[5]

A partir del 2011, els millors atacs públics trenquen la resistència a la preimatge durant 52 de les 64 rondes de SHA-256 o 57 de les 80 rondes de SHA-512, i la resistència a la col·lisió durant 46 de les 64 rondes de SHA-256.[6][7]

Figura de la dreta: els components blaus realitzen les següents operacions:

    

    

    

    

La rotació per bits utilitza diferents constants per a SHA-512. Els números donats són per SHA-256.

El vermell és l'addició mòdul 2 ³² per SHA-256, o 2 64 per SHA-512.

Aplicacions[modifica]

La funció hash SHA-2 s'implementa en algunes aplicacions i protocols de seguretat àmpliament utilitzats, com ara TLS i SSL, PGP, SSH, S/MIME i IPsec.

SHA-256 s'utilitza per autenticar paquets de programari Debian [8] i en l'estàndard de signatura de missatges DKIM; SHA-512 forma part d'un sistema per autenticar el vídeo d'arxiu del Tribunal Penal Internacional del genocidi ruandès.[9] SHA-256 i SHA-512 es proposen per utilitzar-los a DNSSEC.[10] Els proveïdors d'Unix i Linux estan passant a utilitzar SHA-2 de 256 i 512 bits per a un hash segur de contrasenyes.[11]

Diverses criptomonedes, inclosa Bitcoin, utilitzen SHA-256 per verificar transaccions i calcular la prova de treball [12] o la prova de participació. L'augment dels xips acceleradors ASIC SHA-2 ha portat a l'ús d'esquemes de prova de treball basats en scrypt.

Referències[modifica]

  1. «On the Secure Hash Algorithm family» (en anglès). Arxivat de l'original el 2016-03-30.
  2. Federal Register Notice 02-21599, Announcing Approval of FIPS Publication 180-2
  3. «IPR Details: The United States of America as represented by the National Security Agency's general license statement» (en anglès). IETF Datatracker. [Consulta: 17 febrer 2008].
  4. Lilly, Glenn M., "Device for and method of one-way cryptographic hashing", US 6829355, publicada 2004-12-07, assignada a National Security Agency
  5. «IPR Details: The United States of America as represented by the National Security Agency's general license statement» (en anglès). IETF Datatracker. [Consulta: 17 febrer 2008].
  6. Dmitry Khovratovich, Christian Rechberger; Alexandra Savelieva IACR Cryptology ePrint Archive, 2011:286, 2011.
  7. Mario Lamberger; Florian Mendel IACR Cryptology ePrint Archive, 2011:37, 2011.
  8. «Debian codebase in Google Code». Arxivat de l'original el 7 novembre 2011. [Consulta: 8 novembre 2011].
  9. John Markoff, A Tool to Verify Digital Records, Even as Technology Shifts, New York Times, January 26, 2009
  10. RFC 5702,RFC-Editor.org
  11. Ulrich Drepper, Unix crypt with SHA-256/512
  12. Bitcoin, Surplus. «Bitcoin Does Not Waste Energy» (en anglès). Surplus Bitcoin. Arxivat de l'original el 2022-05-28. [Consulta: 20 abril 2020].