Un
cifrado de bloque perfecto se modela como un
permutación pseudoaleatoria . Para los bloques de
n bits, hay
2 n ! posibles permutaciones; un cifrado de bloque perfecto es como si la clave fuera una selección aleatoria uniforme de una permutación entre todos estos. Para un PRP, conocer muchos pares de texto simple / texto cifrado
(m, E (m)) le da exactamente cero información sobre el cifrado de los bloques
m ' que no son parte de la pares conocidos.
Ahora mismo, el mejor ataque que sabemos que puede distinguir entre AES y PRP es el denominado biclique attack , que tiene un costo solo un poco más bajo que la fuerza bruta básica en la clave (el costo es teóricamente alrededor de 2126.1 , en comparación con 2 127 para la fuerza bruta, no hace falta decir que el ataque no se puede probar con la tecnología existente, por lo que no estamos absolutamente seguros de que funcione como se anuncia, aunque eso es plausible. / p>
Suponiendo que AES es un PRP tan bueno como podemos obtener, se puede demostrar que los modos de cifrado habituales son "seguros" siempre que no haya procesado más de 2 64 bloques con la misma llave. Ese es el punto donde, estadísticamente, el PRP comienza a diferenciarse de un PRF. Se traduce en unos 300 millones de terabytes, que es un poco grande. AES se ha definido para usar bloques de 128 bits, y no bloques de 64 bits como 3DES, precisamente para que no nos encontremos con ese tipo de problema.
Para resumir: en la práctica , no debe temer volver a utilizar la misma tecla una y otra vez, siempre que lo haga correctamente (por ejemplo, el modo CBC requiere aleatorio uniforme impredecible IV).