¿El contenido de una cuestión clave AES?

Peter Kingston:

He estado buscando alrededor por y AES algoritmo de generación de claves, un poco preocupado por 'qué' era mi llave, y más concerningly, ¿hay llaves 'fuertes' y 'débiles'?

Había encontrado un artículo de pitón que específicamente no utilizar un algoritmo similar a esto cuando se genera una clave:

import random

key = []
for x in range(16):
    key.append(chr(random.randrange(0,255)))
return key

Me da la idea de que una clave no debe ser predecible, y sé que la generación de la normalidad 'al azar' byte basado en el tiempo no es exactamente al azar.

Mi pregunta sin embargo, es que incluso si usted hace uso de un algoritmo simple (o incluso una frase de contraseña de 16 bytes para el caso) para la llave y AES se implementa correctamente, es la clave de cualquier débil que cualquier otro?

Martin Bodewes:

AES en sí mismo no tiene ningún claves débiles. claves débiles son las claves que presentará propiedades especiales del cifrado por bloques. Por ejemplo, una clave débil podría ser clave en el doble cifrado con esa clave se traducirá en el texto completo de nuevo. Esa definición de una clave débil sin embargo, no es el que usted está utilizando.

Por supuesto adivinar el tiempo es una opción real, y el generador de números aleatorios se puede sembrar con ese tiempo y las teclas se pueden regenerar de esa manera. Así que no es sin duda fuerte. Si el número aleatorio genera cualquier otro dato, entonces el atacante también puede ser capaz de calcular los estados anteriores, incluyendo la que generó la clave. No es Buena idea.

Cualquier cifrado simétrico requiere las claves para ser totalmente impredecible. Eso no sólo significa que son difíciles de adivinar; que debe ser imposible de adivinar. De lo contrario no se cumple la fuerza de seguridad de la clave. Por ejemplo, si se utiliza 16 caracteres hexadecimales totalmente al azar en lugar de bytes como la clave, lo haría con la mitad del tamaño de la clave, dejando sólo 64 bits de lugar de 128.

El mismo problema es con las contraseñas. Desafortunadamente contraseñas que los humanos llevan hasta son increíblemente débil. Es por esto que usamos trucos como clave de estiramiento en una contraseña basada en una clave Derivación de funciones o PBKDF para fortalecer la contraseña de cifrado basado o PBE.

Así que sí, la clave es más débil que una clave que consiste en bytes totalmente al azar, ya que un atacante tiene un tiempo más fácil de adivinar. Esto es básicamente independiente del sistema de cifrado (bloque) que se utiliza.

El contenido de la clave que hace sin duda importan.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=320920&siteId=1
Recomendado
Clasificación