¿Por qué es importante la función de derivación de claves?

5

Consideremos este comando openssl :

openssl enc -aes-256-cbc -pass pass:PASSWORD

¿Por qué es importante tener una buena función de derivación de claves? Esta respuesta a otra pregunta sugiere que GnuPG es preferible a Openssl porque el KDF de Openssl es débil. En mi opinión, lo único que es importante para descifrar un archivo cifrado es la clave de 256 bits utilizada por AES. ¿Por qué es tan importante la forma en que la contraseña se transforma en esa clave de 256 bits?

    
pregunta Gradient 31.12.2015 - 11:41
fuente

1 respuesta

7

" lo único que es importante para descifrar un archivo encriptado ": Creo que aquí es donde te equivocas en tu reflexión, si puedo decirlo.

Lo único que es importante no es que usted descifre su archivo cifrado, sino evitar que otros lo descifren adivinando su contraseña.

Por lo tanto, una buena función de derivación de clave hará que sea computacionalmente difícil y lento derivar una clave de su contraseña para que un atacante pueda probar relativamente pocos candidatos clave diferentes con el tiempo. La respuesta que vincula menciona que GPG implementa esto utilizando una gran cantidad de iteraciones para derivar la clave real de la contraseña.

Si la función de derivación de claves no toma esta precaución, entonces un atacante podrá probar un número muy alto de candidatos de contraseña very rápidamente (la respuesta que vincula indica " varias docenas de millones de contraseñas potenciales por segundo (se podrán lograr cientos de millones con una GPU) ", a esta velocidad se puede esperar que cubra las 8 cadenas de caracteres alfanuméricos en menos de una hora , por lo que la contraseña ni siquiera tiene que ser una palabra del diccionario que se pueda adivinar para que se pueda descifrar).

    
respondido por el WhiteWinterWolf 31.12.2015 - 15:06
fuente

Lea otras preguntas en las etiquetas