Bitcoin utiliza hashes SHA-256 y RIPEMD-160. La mayoría de las veces se usa un SHA-256 de doble ronda, pero para generar direcciones, se usa RIPEMD-160 porque genera un valor hash más corto. RIPEMD-160 tiene un valor hash de 160 o 20 bytes, mientras que SHA-256 tiene un valor de 256 o 32 bytes.
Entonces RIPEMD-160 se usa por su hash más corto. Sin embargo, SHA-1 también produce un hash de 160 bits. RIPEMD-160 es un algoritmo menos popular pero, de hecho, logra exactamente lo mismo que SHA-1.
La única diferencia real que puedo encontrar en Internet está en el siguiente fragmento de la página de Wikipedia de RIPEMD-160 :
RIPEMD-160 fue diseñado en la comunidad académica abierta, en contraste con los algoritmos SHA-1 y SHA-2 diseñados por la NSA. Por otro lado, RIPEMD-160 parece usarse con menos frecuencia que SHA-1, lo que puede haber causado que sea menos analizado que SHA. No se sabe que RIPEMD-160 esté limitado por ninguna patente.
¿Son los problemas de patentes la razón? ¿Por qué SHA-1 es un problema pero SHA-256 no? Sé que SHA-1 y SHA-2 (de los cuales SHA-256 forma parte) son iteraciones diferentes de la iniciativa SHA y, por lo tanto, probablemente tengan una implementación legal muy diferente.
¿Alguien sabe realmente por qué se eligió RIPEMD-160 antes que el SHA-1 más popular?
Hay una multitud de razones.
Como mencionó @ThePiachu, hay un ataque teórico de 2^60 bits que es posible en SHA-1 , lo que significa que el algoritmo es más débil de lo diseñado.
RIPEMD-160 fue diseñado en la comunidad académica abierta, en contraste con los algoritmos SHA-1 y SHA-2 diseñados por la NSA.
Vale la pena señalar que Satoshi podría haber usado SHA2-256 dos veces y truncado el segundo resumen a 160 bits, ya que es igualmente seguro . El hecho de que no lo hizo es una evidencia que demuestra que su decisión fue una decisión consciente de usar RIPEMD-160 sobre el conjunto de algoritmos de la NSA.
Por último, creo que RIPEMD se basa en un diseño diferente a los algoritmos SHA1/SHA2 y, por lo tanto, los ataques que se aplican a uno pueden no ser transferibles al otro (lo cual es bueno).
Podría deberse a un ataque teórico de 2^60 bits que es posible en SHA-1 , lo que significa que el algoritmo es más débil de lo diseñado. RIPEMD no parece tener tales debilidades.
steven roose
liamzebedee
liamzebedee
steven roose