¿Después de la cantidad de cifrado de datos (AES-256) debemos cambiar la clave?

11

Teniendo en cuenta el cifrado AES-256, ¿cuál es la cantidad máxima de datos que se debe cifrar con una clave? ¿Bloquea los modos de cifrado / IV / contadores también gobierna el límite?

Si el monto máximo es de 50 GB, ¿significa que el archivo de 50 GB tiene un límite o 5 archivos de 10 GB?

    
pregunta Deepesh M 02.02.2013 - 20:18
fuente

2 respuestas

11

Un cifrado de bloque es una permutación pseudoaleatoria : la tecla selecciona la función aparentemente al azar en el conjunto de posibles permutaciones de el espacio de valores de bloque (ese espacio tiene un tamaño 2 128 para el AES, ya que tiene bloques de 128 bits). La mayoría de los usos de un PRP están bien siempre que parezca una función pseudoaleatoria . La diferencia entre un PRP y un PRF es que el PRP nunca le dará dos salidas idénticas para dos entradas distintas, mientras que el PRF puede hacerlo. Sin embargo, una función seleccionada al azar le dará tal colisión solo de forma aleatoria, y requerirá muchas invocaciones: en promedio, 2 invocaciones N / 2 si se están procesando bloques de tamaño N.

Traducción: cuando cifras más de 2 64 bloques con AES (es decir, 2 68 bytes, ya que un bloque AES es de 16 bytes) , AES comienza a parecerse más a un PRP que a un PRF, y ese es el punto en el que debe detenerse. Eso es más de 250 millones de terabytes, que es una cantidad considerable.

No importa si dicha cantidad de datos se procesó como uno, diez o 42 billones de lo que sea que usted elija para llamar un "archivo". El AES procesa bloques de 16 bytes y no sabe nada más. Por otro lado, no importa en absoluto, ya que prácticamente no alcanzará ese límite de 2 68 : AES se definió con bloques de 128 bits precisamente para que podamos cifrar terabytes de datos sin preocuparnos. sobre una llave quedándose sin jugo. Cuando se especificó AES, estaba destinado a reemplazar 3DES , cuyo tamaño de bloque de 64 bits era de hecho preocupante (2 32 bloques de 8 bytes, que son 32 gigabytes, que pueden alcanzarse fácilmente en las máquinas actuales).

Tamaño de clave no tiene nada que ver en absoluto con ese asunto. Se trata de tamaño de bloque , y eso es 128 bits para AES (independientemente del tamaño de la clave).

    
respondido por el Tom Leek 02.02.2013 - 20:33
fuente
6

Thomas Pornin (el otro oso) publicó una excelente explicación de cómo los modos de cifrado afectan este aspecto de su cifrado . La respuesta corta es que si usa la salida del bloque anterior para establecer el estado para el siguiente bloque, corre el riesgo de repetirse.

Y en el modo OFB en particular, entras en un bucle cuando el patrón se repite. Esto podría ser un bucle muy cerrado, o existe la posibilidad de que el bucle no se repita hasta que se exploren todos los valores posibles. El tamaño promedio del bucle es de N / 2 bits. Específicamente, con 2 N el total de estados posibles, en promedio, pasará por 2 N / 2 de esos estados antes de repetir. Debido a que su contador de estado es típicamente del mismo tamaño que su bloque, luego con un tamaño de bloque de 128 bits, en el promedio, pasará por 2 bloques 64 (no bits, no bytes) antes de repetir.

Por el contrario, la operación "modo contador" ("CTR") utiliza un contador simple como estado de cifrado. Esto significa que tienes la garantía de recorrer todo el espacio posible antes de repetir. Entonces, si su estado es de 128 bits, entonces pasará por los 2 estados 128 antes de repetir.

Vale la pena señalar que un espacio cuyo tamaño es efectivamente infinito. Eso es aproximadamente 5,000,000,000,000,000,000,000,000,000,000,000,000 bytes antes de que tenga que cambiar las claves. Y eso es con un bloque de 128 bits; con un bloque de 256 bits, doblas la cantidad de ceros.

El modo

CBC (probablemente el más común) usa la salida de un bloque de cifrado dado para establecer el estado para el siguiente bloque, lo que significa que el estado está muy afectado por el contenido del bloque anterior encriptado . Esto significa que la presencia y el tamaño de los ciclos (si los hubiera) serían determinados en parte por el texto simple cifrado. Esto hace que las matemáticas sean un poco menos exactas, pero no debería probar el rendimiento peor que con el modo OFB.

TL; DR: usa el modo CTR y no te molestes en cambiar las teclas.

    
respondido por el tylerl 03.02.2013 - 03:03
fuente

Lea otras preguntas en las etiquetas