Casi coincidiendo con la aprobación del nuevo AES, el NIST americano
ha propuesto tres nuevos algoritmos de HASH, de 256, 384 y 512 bits.
Dichos algoritmos, todavía en fase de propuesta, amplian los 160 bits
actuales del SHA-1. Esta mayor longitud permitirá utilizar estos
algoritmos con el nuevo AES, y proporcionan una mayor protección
contra colisiones y el «ataque del cumpleaños».
Las especificaciones técnicas de los algoritmos están disponibles en
una página del gobierno norteamericano, con fines de evaluación e
informativos, antes de la propuesta formal como estándar, en el 2001.
Los algoritmos HASH toman una entrada de longitud arbitraria y
calculan un valor de tamaño fijo (de 128, 160 o los nuevos 256, 384 y
512 bits), cumpliendo una serie de propiedades criptográficas como:
* Conociendo un HASH, no obtenemos ninguna información sobre el
documento original.
* Teniendo un HASH dado, no es factible encontrar un documento cuyo
HASH coincida con el primero. Otra regla más fuerte dice que no debe
ser factible encontrar dos documentos cualesquiera cuyo HASH
coincida.
* Un cambio cualquiera en el documento de entrada debe modificar, en
media, la mitad de los bits de la salida.
Una de las quejas de la comunidad criptográfica es que en la
documentación del NIST se incluyen pocos «vectores de prueba», por lo
que es posible que implementaciones paralelas cumplan dichos vectores
a pesar de contener errores de programación. Otra de las quejas
generalizadas que se ha podido leer es el hecho de que el SHA-256
propuesto es más de tres veces más lento que el actual SHA-1 (SHA-160).
Por lo que parece, los algoritmos de HASH son cada vez más lentos,
mientras que los algoritmos de cifrado cada día son más rápidos…
Algunas informaciones señalan el hecho de que esa pérdida de
rendimiento está ocasionada, en buena medida, por los pocos registros
disponibles en los procesadores x86, aunque todavía no he visto datos
cuantitativos que avalen esta opinión. No hay que olvidar, asimismo,
que las implementaciones actuales son muy preliminares.
Una última queja de buena parte de la comunidad es el hecho de que no
se haya requerido a un concurso público para los nuevos SHA-2, como se
hizo con AES. Es posible que el resultado fuese un estándar bastante
más rápido y más avanzado tecnológicamente.
jcea@hispasec.com
Más información:
Secure Hash Standard (SHS)
(SHA-1 Algorithm)
http://csrc.nist.gov/cryptval/shs.html
El criptosistema AES acaba de nacer
http://www.hispasec.com/unaaldia.asp?id=708
http://www.argo.es/~jcea/artic/hispasec96.htm
SHA-256/384/512 at http://www.AaronGifford.com
An open source implementation of the SHA-256, SHA-384, and SHA-512
secure hash algorithms in C
http://www.aarongifford.com/computers/sha.html
Deja una respuesta