¿Las claves DES deben ser aleatorias?

2

En cifrado de flujo (es decir, OTP ). El pad con el que está escrito Xored tiene que ser aleatorio para lograr secreto perfecto , o psudorandom para garantizar seguridad semántica

¿Se aplica esto a DES o a cifrados de bloque en general?

¿La aleatoriedad de la clave DES afecta la seguridad?

    
pregunta HSN 09.08.2014 - 08:23
fuente

2 respuestas

4

Bueno, si estás haciendo un DES simple y simple, no importa, las claves DES de 56 bits pueden forzarse fácilmente. El EFF DES cracker podría romper una clave DES de 56 bits en menos de un día en 1999.

En general, sí, es mejor tener una clave totalmente aleatoria para el cifrado simétrico (cifrado de bloque), ya que no habrá atajos cuando la clave sea de fuerza bruta.

En la práctica, usar una clave generada por una key-derivation-function que construye una clave pseudoaleatoria a partir de La contraseña segura elegida por el usuario puede ser perfectamente segura, siempre que use una contraseña segura. Sin embargo, la entropía de su clave derivada pseudoaleatoria realmente dependerá de lo complicada que sea la contraseña. Si su contraseña se encuentra en una lista común de contraseñas o tiene una complejidad intrínseca baja, un atacante experto puede recuperar su clave rápidamente.

Entonces, si desea 100 bits de seguridad, debe elegir una contraseña con unos 100 bits de entropía, por ejemplo, 17 caracteres aleatorios de A-Z, a-z, 0-9; o 15 caracteres aleatorios de todos los ASCII imprimibles, o aproximadamente 8 palabras aleatorias elegidas en un diccionario de 5000 palabras. Y diga que con AES-128 con una contraseña de 100 bits, esto debilitará la seguridad de 2 128 a 2 100 .

    
respondido por el dr jimbob 09.08.2014 - 10:28
fuente
3

Aleatoriedad realmente es: lo que el atacante no sabe . Por lo tanto, las claves de cifrado son precisamente una cosa en la que se necesita mucha aleatoriedad.

Hablamos generalmente de entropía en el siguiente modelo:

  • La clave se genera con un proceso que involucra cálculos (código) e insumos aleatorios (recopilados de elementos físicos).
  • Se supone que el atacante tiene un conocimiento perfecto de los cálculos, pero no de las entradas aleatorias.
  • El atacante intentará recuperar las claves probando las claves posibles en orden óptimo, comenzando con la más probable.

Decimos que la clave tiene n bits de entropía si el atacante golpeará la correcta luego, en promedio, 2 n -1 intenta. Tenga en cuenta que una tecla n -bit, donde todos los bits clave son aleatorios de manera uniforme e independiente, logra exactamente n bits de entropía, que es el punto de la notación.

Una consecuencia es que no puede tener más de n bits de entropía en una clave de n bits (por lo tanto, una clave DES puede < em> nunca sea más fuerte que 56 bits de entropía, que es demasiado bajo para la comodidad como lo indica @drJimbob); Pero puedes tener mucho menos. Por ejemplo, si el proceso de generación de claves se trata de obtener un entero aleatorio de 32 bits, luego mezclándolo con SHA-1 y manteniendo los primeros 56 bits de la salida, la entropía no será más de 32 bits (un atacante podría intentarlo todo). posibles valores de 32 bits, que incluyen a cada uno de ellos: esto golpeará la clave correcta con un costo promedio de como máximo 2 31 ).

En general, utiliza sistemas de cifrado simétrico con las teclas n -bit (por ejemplo, n = 128 para AES) y desea obtener el valor de su dinero, es decir, n -bit entropía. Esta es la razón por la que usas claves de 128 bits: para dar espacio a la entropía suficiente para derrotar a todos los atacantes basados en la Tierra. A veces, acepta usar menos entropía porque su fuente para la clave es un dato que no puede crecer arbitrariamente: en particular cuando las claves se derivan de contraseñas . Las contraseñas no logran una alta entropía porque las mentes humanas no son buenas para recordar contraseñas altamente entrópicas (y son extremadamente malas en generar contraseñas aleatorias).

Cuando procesa un elemento de datos a través de una función de derivación de clave determinista, nunca aumenta la entropía, ya que, por definición de nuestro modelo de ataque, el atacante podría ejecutar la misma función de derivación de clave determinista. Sin embargo, podría bajar la entropía, si lo hace sin cuidado. KDF criptográficamente sólido no reduce la entropía por debajo del límite implícito en el tamaño de la clave (una clave de 56 bits nunca puede contener más de 56 bits de entropía).

    
respondido por el Thomas Pornin 11.08.2014 - 21:54
fuente

Lea otras preguntas en las etiquetas