# Secure Hash Algorithm

La família SHA (Secure Hash Algorithm, Algorisme de Hash Segur) és un sistema de funcions hash criptogràfiques publicades pel National Institute of Standards and Technology (NIST). El primer membre de la família es va publicar el 1993 i se'l va anomenar de forma oficial SHA. No obstant això, avui en dia i de forma no oficial se l'anomena SHA-0, per evitar confusions amb els seus successors. Dos anys més tard es va publicar el primer successor de SHA amb el nom de SHA-1. Des d'aleshores s'han publicat quatre tipus més, les diferències dels quals es basen en un disseny una mica modificat i rangs de sortida incrementats: SHA-224, SHA-256, SHA-384 i SHA-512 (anomenats tots quatre SHA-2).
El 1998 es va trobar un atac a SHA-0, però no va ser reconegut per SHA-1. Es desconeix si va ser la NSA qui el va descobrir, però va augmentar la seguretat de l'SHA-1.

## SHA-1

SHA-1 ha estat examinat molt de prop per la comunitat criptogràfica pública, i no s'ha trobat cap atac efectiu. No obstant això, l'any 2004 es va divulgar un nombre significatiu d'atacs sobre funcions criptogràfiques de hash amb una estructura similar a SHA-1, el que ha plantejat dubtes sobre la seguretat a llarg termini de SHA-1.
SHA-0 i SHA-1 produeixen una sortida resum de 160 bits (20 bytes) d'un missatge que pot tenir una grandària màxima de 2$^{64}$ bits, i es basa en principis similars als usats pel professor Ronald L. Rivest del MIT en el disseny dels algorismes de resum de missatge MD4 i MD5.
La codificació hash buida per SHA-1 correspon a:

## Atacs contra SHA-1

La resistència de l'algorisme SHA-1 s'ha vist compromesa al llarg de l'any 2005., Després que MD5, entre d'altres, quedés seriosament compromès el 2004 per part d'un equip d'investigadors xinesos, el temps de vida de SHA-1 va quedar vist per a sentència.
El mateix equip d'investigadors xinesos, compost per Xiaoyun Wang, Yiqun Lisa Yin i Hongbo Yu (principalment de la Shandong University de la Xina), ha demostrat que són capaços de trencar l'SHA-1 en almenys 2 $^{69}$ operacions, unes 2000 vegades més ràpid que un atac de força bruta (que requeriria 2 $^{80}$ operacions). Els últims atacs contra SHA-1 han aconseguit debilitar-lo fins a 2 $^{63}$.
Segons el NIST:
«Aquest atac és de particular importància per a les aplicacions que usen signatures digitals tals com marques de temps i notaries. No obstant això, moltes aplicacions que usen signatures digitals inclouen informació sobre el context, que fan aquest atac difícil de dur a terme a la pràctica. »
Tot i que 2 $^{63}$ suposa encara un nombre alt d'operacions, es troba dins dels límits de les capacitats actuals de càlcul, i és previsible que amb el pas del temps trencar aquesta funció sigui trivial, en augmentar les capacitats de càlcul i en ser més seriosos els atacs contra SHA-1.
La importància del trencament d'una funció hash s'ha d'interpretar en el sentit següent: un hash permet crear una empremta digital, teòricament única, d'un fitxer. Una col·lisió entre hashes suposaria la possibilitat de l'existència de dos documents amb la mateixa empremta. La similitud inicialment proposada amb l'equivalència que hi hagués persones que compartissin les mateixes empremtes digitals o, pitjor encara, el mateix ADN no és adequada, perquè encara que fos trivial trobar dos fitxers amb el mateix resum criptogràfic això no implicaria que els fitxers fossin congruents en el context adequat. Seguint amb la hipòtesi de la similitud biomètrica de dues persones, seria l'equivalent a necessitar modificar el nombre de braços en una persona perquè la seva impressió dactilar fos igual a la d'una altra.
Tot i que el NIST contempla funcions de SHA de major grandària (per exemple, el SHA-512, de 512 bits de longitud), experts de la talla de Bruce Schneier advoquen per, sense cridar a alarmismes, buscar una nova funció hash estandarditzada que permeti substituir a SHA-1. Els noms que s'esmenten al respecte són Tiger, dels creadors de Serpent, i WHIRLPOOL, dels creadors de AES.

## Referències

* ↑ Announcing the first SHA1 collision, 23 de febrer de 2017
* ↑ The MD5 Message-Digest Algorithm
* ↑ Bruce Schneier. «SHA-1 Broken», 15-02-2005.
* ↑ Xiaoyun Wang, Yiqun Lisa Yin und Hongbo Yu. PDF Finding Collisions in the Full SHA-1. CRYPTO, 2005, p. 17−36.

## Vegeu també

* MD5
* Control de redundància cíclica

## Enllaços externs

* RFC del SHA-1
* SHA-1 trencat, per Bruce Schneier (anglès)
* SHA-1 reduït a 2 $^{63}$ càlculs, per Bruce Schneier (anglès)
* SHA-1 trencat, per Wang Xiaoyun amb un ordinador comú (anglès)
* Generant un hash sha1 amb ASP.NET i C# de manera senzilla i simple]