¿Qué función hash utiliza OpenSSL para generar una clave para AES-256? No puedo encontrarlo en ninguna parte de su documentación.
$ touch file
$ openssl aes-256-cbc -nosalt -P -in file
enter aes-256-cbc encryption password: (I type "a" and hit enter)
Verifying - enter aes-256-cbc encryption password: (I type "a" and hit enter)
key=0CC175B9C0F1B6A831C399E269772661CEC520EA51EA0A47E87295FA3245A605
iv =4FA92C5873672E20FB163A0BCB2BB4A4
¿Qué algoritmo hash genera el hash sin sal después key=
de la segunda última línea, para la entrada "a"?
encryption
openssl
hashing
aes
mk12
fuente
fuente
md5
lugar desha1
, obtengo los mismos resultados que publiqué originalmente. La pregunta es, ¿cómo obtiene 256 bits de MD5 (un algoritmo de hash de 128 bits)?Es una concatenación de dos hash MD5.
Se deriva así:
Puede verificar esto haciendo:
Observe cómo ambos MD5 de 'key.128.tmp' y 'key.256.tmp' concatenados juntos forman la misma clave que la salida en el comando inicial.
fuente
OpenSSL usa AES con SHA1.
Si desea examinar una fuente mejor escrita que OpenSSL, eche un vistazo al artículo de la
clase C ++ que interactúa con los cifrados de OpenSSL .
El artículo incluye un código fuente muy simple que:
fuente
No sé la respuesta, pero probablemente la puedas encontrar fácilmente en el código fuente de OpenSSL .
fuente
main
función (donde reside la funcionalidad de solicitud de contraseña) tiene ~ 500 líneas de largo y está llena degoto
s.