¿Cuál es más seguro y menos posible de romper mediante el criptoanálisis AES o 3DES (sin importar el rendimiento)?
Necesito utilizar el cifrado para que mis proyectos almacenen y protejan información confidencial que incluye cuentas bancarias, códigos de clasificación y datos bancarios de terceros. Actualmente estoy considerando usar 3DES en modo CFB, pero no estoy muy seguro si es la mejor opción y cuáles son otras alternativas.
Sé que el título no da mucha idea de qué trata la pregunta, pero no pude pensar en algo mejor.
Responder
Opte por AES.
AES es el sucesor de DES como algoritmo de cifrado simétrico estándar para las organizaciones federales de EE. UU. AES utiliza claves de 128, 192 o 256 bits, aunque , Las claves de 128 bits proporcionan suficiente fuerza en la actualidad. Utiliza bloques de 128 bits y es eficiente tanto en implementaciones de software como de hardware. Fue seleccionado a través de una competencia abierta que involucró a cientos de criptógrafos durante varios años.
DES es el «estándar de cifrado de datos» anterior de los años setenta. El tamaño de su clave es demasiado corto para una seguridad adecuada. Los 56 bits efectivos pueden ser br ute-force, y eso se ha hecho hace más de diez años. DES usa bloques de 64 bits, lo que plantea algunos problemas potenciales al cifrar varios gigabytes de datos con la misma clave.
3DES es una forma de reutilizar implementaciones DES, encadenando tres instancias de DES con claves diferentes. Se cree que 3DES aún es seguro porque requiere 2 operaciones 112 que no se pueden lograr con la tecnología previsible. 3DES es muy lento, especialmente en implementaciones de software porque DES fue diseñado para el rendimiento en hardware.
Recursos:
http://www.differencebetween.net/technology/difference-between-aes-and-3des http://www.icommcorp.com/downloads/Comparison%20AES%20vs%203DES.pdf (sin conexión, todavía en el archivo web )
Comentarios
- AES y otros estándares NIST aren ' t muy bueno en software
- @AndreyBotalov: para el caso de AES, esta es una vista bastante sesgada. En el momento del proceso de selección de AES (¡yo estaba allí!), Después de haber realizado muchos análisis en el sentido de que 13 de los 15 candidatos parecían " sólidos como una roca ", se realizaron muchas mediciones de rendimiento y Rijndael fue uno de los cifrados " rápidos ". En realidad, fue el que fue el más rápido en muchas arquitecturas, y eso fue muy importante en su elección. RC6 fue más rápido en una PC , pero una PC es la última plataforma que tiene problemas reales de rendimiento de cifrado. AES supera a RC6 en tarjetas inteligentes y ARM / Mips pequeños.
- Además, ahora tenemos extensiones AES en procesadores modernos, que pueden aumentar enormemente la velocidad del cifrado.
Respuesta
Ni 3DES ni AES se pueden romper con la tecnología actual (y también con la tecnología previsible). Sin embargo, puede encontrar algunos problemas de seguridad con 3DES si cifra más de aproximadamente 32 gigabytes de datos con una sola clave, mientras que el límite es mucho mayor con AES (esto se debe al tamaño del bloque; 3DES usa bloques de 64 bits, que puede provocar problemas después de procesar 2 bloques 64/2 , es decir, 32 gigabytes; AES usa bloques de 128 bits, para un límite de 2 bloques 128/2 , es decir, 2 68 bytes, también conocido como «bastantes datos»).
Dado que AES también es notablemente más rápido que 3DES, hay pocas razones para usar 3DES para nuevos diseños.
Comentarios
- Gracias, hoy aprendí un nuevo término técnico. " Muchos datos "
- +1 para " una gran cantidad de datos. " Según WolframAlpha , 2 ^ 68 bytes de datos son aproximadamente 20 veces contenido de información de " todo el conocimiento humano. "
- @AndreyBotalov: son 2 ^ 64 bloques , y cada bloque tiene 16 bytes (2 ^ 4), por lo tanto, 2 ^ 68 bytes .
- ¿Alguien puede explicar qué tipo de " problema " ¿uno se encuentra después de 2 ^ (64/2) con un tamaño de bloque de 64 bits?
- @FahadYousuf por el cumpleaños Problema, una vez que cifra los bloques sqrt (2 ^ n), tiene un 50% de posibilidades de colisión