MD5 puede ser rápido pero está roto desde hace mucho tiempo. Incluso dejando la ilustración de un ataque de preimagen secundario para crear certificados de CA no autorizados.
SHA-1 también está roto. Las colisiones se pueden generar con 2 ^ 69 operaciones en lugar de 2 ^ 80. Puede parecer prácticamente imposible, pero criptográficamente este ataque de colisión hace que sea 2048 veces más fácil encontrar uno. Entonces está roto 🙂
Actualmente no hay ataques conocidos contra SHA2-256 y RIPEMD-160.
Ni preimagen ni preimagen secundaria (colisión débil ) o ataques de colisión fuertes.
- ¿Qué es un error de sintaxis?
- ¿Cuáles son los pros y los contras del uso de redes neuronales artificiales frente a los controles clásicos?
- ¿Vale la pena obtener un título en informática en línea?
- ¿Cuál es el significado de "migas de pan" en la jerga de la base de datos?
- ¿Dónde se puede encontrar inteligencia artificial en nuestras vidas?
En realidad, ya tiene la herramienta requerida para probar la velocidad de una función hash criptográfica particular para su plataforma mediante OpenSSL. Bueno, sus opciones están limitadas con los algoritmos admitidos en OpenSSL, pero bueno, ¿realmente quiere usar algún CHF exótico no estándar?
El comando ‘velocidad’ de OpenSSL nos ayudará.
Ejemplo:
$ openssl speed sha256
Puede ver la lista de algoritmos compatibles con el comando:
“velocidad openssl –ayuda”
No solo está obligado a las funciones hash, sino que también puede probar algoritmos de clave simétrica y asimétrica.
Para el lector perezoso, creé una hoja de cálculo y un buen gráfico de barras en abundancia comparando los algoritmos MD5, SHA-1, RIPEMD-160 y SHA2-256 con diferentes entradas de tamaño de bloque. http://spreadsheets.google.com/p…
Los resultados sin procesar están disponibles en http://gist.github.com/446104
La respuesta a su pregunta es RIPEMD-160.
¿Lo usaría si estuviera en tus zapatos? Probablemente no…
SHA2-256 es un estándar y seguirá siéndolo. RIPEMD-160 puede ser lo suficientemente seguro con 160 bits y más rápido que 256 bits SHA2-256, pero es posible que no sea compatible en el futuro o en la plataforma de un tercero.
Mire los gráficos, ejecute sus propias pruebas de velocidad openssl en su plataforma de destino y piense en los tamaños de sus bloques. Mire los resultados nuevamente y decida si vale la pena la aventura …