RIPEMD
RIPEMD (Resumen de mensajes RIPE) es una familia de funciones hash criptográficas desarrolladas en 1992 (el RIPEMD original) y 1996 (otras variantes). Hay cinco funciones en la familia: RIPEMD, RIPEMD-128, RIPEMD-160, RIPEMD-256 y RIPEMD-320, de las cuales RIPEMD-160 es la más común.
El RIPEMD original, así como el RIPEMD-128, no se considera seguro porque el resultado de 128 bits es demasiado pequeño y también (para el RIPEMD original) debido a las debilidades del diseño. Las versiones de 256 y 320 bits de RIPEMD brindan el mismo nivel de seguridad que RIPEMD-128 y RIPEMD-160, respectivamente; están diseñados para aplicaciones donde el nivel de seguridad es suficiente pero se necesita un resultado de hash más largo.
Si bien las funciones RIPEMD son menos populares que SHA-1 y SHA-2, se utilizan, entre otros, en Bitcoin y otras criptomonedas basadas en Bitcoin.
Historia
La función RIPEMD original se diseñó en el marco del proyecto de la UE RIPE (RACE Integrity Primitives Evaluation) en 1992. Su diseño se basó en la función hash MD4. En 1996, en respuesta a las debilidades de seguridad encontradas en el RIPEMD original, Hans Dobbertin, Antoon Bosselaers y Bart Preneel del grupo de investigación COSIC de la Katholieke Universiteit Leuven en Lovaina, Bélgica, publicaron cuatro variantes reforzadas: RIPEMD-128, RIPEMD-160, RIPEMD -256 y RIPEMD-320.
En agosto de 2004, se informó de una colisión en el RIPEMD original. Esto no se aplica a RIPEMD-160.
Hashes RIPEMD-160
Los hashes RIPEMD-160 de 160 bits (también denominados resúmenes de mensajes RIPE) se representan normalmente como números hexadecimales de 40 dígitos. A continuación se muestra una entrada ASCII de 43 bytes y el hash RIPEMD-160 correspondiente:
RIPEMD-160("El zorro marrón rápido salta sobre el perezoso dog) =
37f332f68db77bd9d7edd4969571ad671cf9dd3b
RIPEMD-160 se comporta con el efecto de avalancha deseado de las funciones hash criptográficas (pequeños cambios, por ejemplo, cambiando d a c, dar como resultado un hash completamente diferente):
RIPEMD-160("El zorro marrón rápido salta sobre el perezoso cog) =
132072df690933835eb8b6ad0b77e7b6f14acad7
El hash de una cadena de longitud cero es:
RIPEMD-160("") = 9c1185a5c5e9fc54612808977ee8f548b2258d31
Implementaciones
A continuación se muestra una lista de bibliotecas de criptografía compatibles con RIPEMD (específicamente RIPEMD-160):
- Botan
- Bouncy Castle
- Cryptlib
- Crypto+
- Libgcrypt
- Mbed TLS
- Nettle
- OpenSSL
- wolfSSL
Contenido relacionado
Subaru Forester
Explosivo plástico
Lista de sistemas operativos