AES estándar vs parámetros adicionales con Rijndael: ¿qué es más seguro?

1

Sé que Rijndael y AES son muy similares y AES es solo un subconjunto de Rijndael, y he leído que Rijndael puede tener bloques de 256 bits, mientras que AES tiene "solo" bloques de 128 bits.

El problema es que no tengo una idea real de la criptografía, mi pregunta es ¿qué es más seguro? ¿Es "AES estándar" más seguro o alguna de las opciones modificadas utilizando Rijndael? En este momento estoy usando MCRYPT_RIJNDAEL_256 en PHP, que es (por lo que puedo decir) Rijndael con bloque de 256 bits y tamaño de clave, mientras que AES-256 tiene una tecla de 256 bits pero "solo" bloques de 128 bits.

  1. El punto es, al final, si usar AES o Rijndael?

  2. ¿También qué modo sería mejor para la seguridad / el rendimiento? Ahora mismo tengo ECB desde que se usó en un tutorial en ese momento.

  3. ¿Hay otro algoritmo que sea aún más seguro? Debería ser rápido, ya que estoy haciendo muchas cosas criptográficas al usarlo, pero sigo estando seguro.

pregunta My1 18.09.2015 - 13:36
fuente

2 respuestas

2

Los bloques de 128 bits están bien

Sí, los tamaños de bloque más grandes tienen algunas ventajas. Si los bloques son más grandes, puede cifrar más datos con la misma clave hasta que tenga que pasar a una nueva clave.

Pero para propósitos prácticos es suficiente. (Vuelva a evaluar una vez que tenga la intención de mantenerse a salvo más allá de la barrera de petabytes con la misma clave).

ECB es malo.

Los bloques de entrada idénticos se cifran en bloques de salida idénticos. Esto es malo.

El cifrado no autenticado es incorrecto.

Los atacantes pueden voltear bits en sus bloques, eliminar bloques, bloques de complejos, insertar bloques. Esto es malo.

Intenta usar GCM

GCM es un modo de operación de "cifrado autenticado" para cifrados de bloque. Oculta las repeticiones en el texto simple y sella el texto cifrado contra la manipulación.

No sé si esto está en PHP de forma nativa. Esta pregunta sugiere que algo como esto es factible a través de OpenSSL:

respondido por el StackzOfZtuff 18.09.2015 - 13:53
fuente
1

El tamaño del bloque AES / Rijndael no tiene influencia en la seguridad. Los bloques de mayor tamaño de Rijndael pueden ayudar con la seguridad solo cuando comience a cifrar sustancialmente más de 2 68 bytes con una sola clave: estamos hablando de un millón de terabytes aquí, por lo que no suceder en cualquier momento pronto.

Lo que importa para la seguridad es cómo utiliza el algoritmo. Usted habla de "BCE" y eso no es una buena señal. Los algoritmos criptográficos alcanzan algunas características muy precisas, que tienen sentido y en realidad mejoran la seguridad solo cuando se usan de manera sensata, es decir, como parte de un protocolo bien definido y bien diseñado donde los problemas atacan los modelos y la administración de claves. Han sido investigados a fondo. Simplemente rocíe criptografía sobre su código como si fuera un polvo mágico de duendecillos que no le dará seguridad; solo un sentimiento de seguridad.

En cuanto al rendimiento, se medirá. Cuando las personas miden el impacto en el rendimiento del uso de la criptografía, generalmente notan que importa mucho menos de lo que inicialmente asumieron.

    
respondido por el Thomas Pornin 18.09.2015 - 13:53
fuente

Lea otras preguntas en las etiquetas