Pregunta

Chicos, hay muchos cifrados diferentes disponibles, pero ¿cuál es el más seguro de usar hoy en día?

Lista: http://www.php.net/manual/en/mcrypt.ciphers.php

¿Fue útil?

Solución

Si el uso seguro de AES (también conocido como "Rijndael") con una clave de 128 bits. Si usted ha desarrollado una especie de fetichismo sobre el tamaño de la clave, entonces podría cumplir con sus reparos irracionales mediante la selección de una tecla más grande, por ejemplo, 192 o 256 bits; el costo adicional no es muy alta (+ 40% carga de trabajo para AES-256, en comparación con AES-128, y se necesita un muy de red rápida para realmente observar que la diferencia).

Tenga en cuenta que, sin importar el tamaño de la clave elegida, el cifrado AES mcrypt correcta para siempre MCRYPT_RIJNDAEL_128. Esto se debe a la norma AES se refiere al sabor del cifrado Rijndael con un tamaño de bloque de 128 bits. Si quieres AES-256, es necesario utilizar MCRYPT_RIJNDAEL_128 con una clave de 256 bits (32 bytes), no MCRYPT_RIJNDAEL_256.

AES fue publicado en 1998 y adoptada por el gobierno de Estados Unidos como un estándar federal en 2001, y no muestra signos de debilidad en la actualidad. Algunas propiedades matemáticas se encontraron más adelante, pero que no afectan la seguridad real; sobre todo, ponen de relieve que tenemos cierto conocimiento relativamente precisa sobre qué AES es seguro. Ningún otro algoritmo de cifrado simétrico ha recibido tanta atención (por miles de criptógrafos talento) que AES.

La mayoría de los problemas de seguridad provienen de cómo se utiliza el algoritmo criptográfico, no el propio algoritmo. Use un modo de encadenamiento adecuado, añadir un MAC, administrar el relleno, y sobre todo manejar la teclas de forma segura. Si tienes todo esto derecha (que es mucho más complicado de lo que parece) entonces se hace tiempo para preocuparse por la elección de Rijndael, Twofish o lo que sea.

Otros consejos

Además de la gran respuesta de Thomas Pornin, también se debe tener en cuenta lo que está tratando de lograr en términos de "seguridad" (confidencialidad / integridad / autenticidad / disponibilidad).

En todos los casos, tendrá que hacer frente a una serie de preguntas, como ... ¿Quién se aplica esto a? Dónde y por qué se está utilizando (lo que estás protegiendo)? ¿Cuánto tiempo destinado a durar? etc.

Por ejemplo, es probable que haya ningún punto en realidad el cifrado de datos de la sesión con una sucesión de operaciones completo soplado 256 bits cuando los datos son realmente sólo destinado a durar para Say 20-30 minutos. Un algoritmo de 128 bits seguro sería cerca de dos veces más rápido o al menos el uso de cargas menos ciclos de reloj y ser tan (si no más) asegurar.

También hay ningún punto en la encriptación de algo que está destinado a durar mucho tiempo (como un documento confidencial o archivo, clave privada etc ...) con un método clave débil, corto. Lo que quiere a veces varios algoritmos con algún tipo de autenticación y el uso adecuado de relleno. He encriptado y firmado regularmente el contenido a petición de los clientes que utilizan varios algoritmos (en su mayoría Twofish, AES, RSA).

Y no hay que olvidar tampoco (como señaló Thomas), se puede implementar un método seguro (o métodos) de forma insegura. Con la gran cantidad de variantes de cada fórmula y el tal, puede ser difícil de aplicar en la práctica algo que está "seguro".

En general, algo que es tan segura como la clave es para desbloquearlo. Si dejo las llaves del coche en el coche con el coche desbloqueado, las claves no son seguras y es abierto para la toma de cualquier persona más allá caminar. Blowfish con un bien dispersado 32 tecla de carácter sería tan segura como cualquier otra cosa en la actualidad. Una de las claves de 3 caracteres sin embargo puede ser roto en un abrir y cerrar de ojos.

"El sistema de cifrado más fuerte es AES-256"

A partir de los detalles en la página web de Bruce Schneier, AES-256 fuerza, irónicamente, sea el menos seguro de las tres claves tamaños de 128, 192 y 256. Hay problemas con la generación de claves en la variante de 256 bits.

Algunos algoritmos son mejores que otros en diferentes cosas; no estoy seguro de cuál es su criterio para ser "más seguro".

Ciertamente no debería utilizar ninguno de los algoritmos basados ​​en DES en estos días (suponiendo que tenga libertad de elección).AES (Rijndael) es el estándar actual para NIST y otros organismos.

En general, más bits para un algoritmo específico significa más seguro, pero asegúrese de utilizar un vector de inicialización y NO utilice ECB.

HT

C.

De acuerdo con el documento de NIST, RJINDAEL tuvo un margen de seguridad bajo en comparación con MARS, Twofish o serpiente. Si realmente necesita el sistema de cifrado más fuerte, elija una de ellas.

http://csrc.nist.gov/archive/aes/round2/ r2report.pdf

Para citar: "MARS parece tener un margen de seguridad elevado. Una caracterización precisa de MARS es difícil debido al hecho de que Marte emplea dos tipos diferentes de rondas. MARTE ha recibido algunas críticas sobre la base de su complejidad, que puede haber dificultado su análisis de la seguridad durante el período de tiempo del proceso de desarrollo de AES.

Rijndael parece tener un margen de seguridad adecuado. El margen de seguridad es un poco difícil de medir debido a que el número de rondas cambia con el tamaño de la clave. Rijndael ha recibido algunas críticas por dos motivos: que su margen de seguridad es en la parte baja entre los finalistas, y que su estructura matemática puede conducir a ataques. Sin embargo, su estructura es bastante simple, que puede haber facilitado su análisis de la seguridad durante la determinado período de tiempo del proceso de desarrollo de AES.

Serpiente parece tener un margen de seguridad de alto. Serpiente también tiene una estructura simple, que puede haber facilitado su análisis de la seguridad durante el período de tiempo especificado de la AES proceso de desarrollo.

Twofish parece tener un margen de seguridad de alto. Desde Twofish utiliza dependiente de la clave función de redondeo, la noción de margen de seguridad puede tener menos significado para este algoritmo que para los otros finalistas. La dependencia de las cajas S Twofish sólo en k / 2 bits de entropía en el caso tecla k bits ha llevado a una especulación de que Twofish puede ser susceptible a una ataque de divide y vencerás, aunque hay tal ataque ha sido encontrado. Twofish ha recibido algunas críticas por su complejidad, lo que hace difícil el análisis durante el marco temporal de la AES proceso de desarrollo ".

Si desea ver los detalles, hay un artículo, sobre todo por mí, en cifras de bloque en http://en.citizendium.org/wiki/Block_cipher

Para cumplir con las normas actuales de Estados Unidos, el uso de AES, Rijndael anteriormente. Cualquiera de los otros finalistas de la competición AES - Serpent, MARS, Twofish o RC-6 - debería estar bien también. Creo que se necesita una licencia para RC6, sin embargo.

Yo normalmente utilizan AES-128 desde AES FIPS aprobados. El sistema de cifrado más fuerte es AES-256 (MCRYPT_RIJNDAEL_256).

mcrypt tiene un diseño modular y el nuevo sistema de cifrado se puede añadir fácilmente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top