Comment chiffrer un fichier avec OpenSSL et AES-256 avec SHA-256?

0

Système: Linux Mint 18.3 Cinnamon 64-bit.

OpenSSL: 1.0.2g

Normalement, je crypte un fichier comme suit:

openssl enc -aes-256-cbc -salt -in somefile -out somefile.enc

Mais je me demande quel algorithme sera utilisé pour hacher mon mot de passe et si je peux le changer?

Vlastimil
la source
Dupe superuser.com/questions/455463/… sauf que c'était périmé jusqu'à maintenant; pour plus de détails voir crypto.stackexchange.com/questions/3298/… . Notez que tout hachage est un mauvais PBKDF; Le SHA-256 n’est pas nettement meilleur que le MD5. Et -salt est la valeur par défaut depuis plus de dix ans, près de deux.
dave_thompson_085
@ dave_thompson_085: OpenSSL Est-ce que utilisez un fichier KDF au lieu d'un simple hachage, même s'il semble toujours être développé en interne et plutôt faible (voir EVP_BytesToKey).
grawity
1
@grawity ma réponse au crypto Q que j'ai lié explique cela en détail. EVP_BytesToKey est un petit bijou de PBKDF1 de PKCS5, mais enc, en ligne de commande, utilise EVP_BytesToKey avec le nombre d'itérations 1, de sorte qu'il ne fait qu'un seul hachage par bloc de sortie. L'ours accepte: security.stackexchange.com/questions/29106/…
dave_thompson_085
Vlastimil: Vous ne l'utilisez pas pour une sécurité à toute épreuve, n'est-ce pas? Considérez plutôt GPG / PGP, il devrait tout de même écraser les plus gros joueurs. @ dave_thompson_085 Ils ne sont encore qu'une fois itérer? Yowza. S'éloigner de MD5 est une étape pour bébé au moins. Est-ce qu'ils suivent le hash & amp; cryptage utilisé, ou vous devez toujours vous souvenir de vous aussi? (J'ai cité l'ours aussi ;-)
Xen2050

Réponses:

0

J'ai découvert par accident, ici , que pour openssl version 1.1.0:

-md digest
    Use the specified digest to create the key from the passphrase. The default algorithm is sha-256.

Il est donc inutile de spécifier l’algorithme de résumé du message pour la nouvelle version de openssl comme il utilise déjà SHA-256.

Mais puisque sur mon système il y a openssl version 1.0.2g, j'ai creusé plus loin et a découvert, ici , cette:

... In OpenSSL 1.1.0 we changed from MD5 to SHA-256 ...

Essentiellement, cela signifie, mon openssl utilisera par défaut l’ancien et obsolète MD5.

Heureusement, cela peut être changé en SHA-256 avec openssl version 1.0.2g:

openssl enc -aes-256-cbc -md sha256 -salt -in somefile -out somefile.enc

Si vous avez un plus vieux openssl version que moi, vous voudrez peut-être essayer -md sha1, si ce qui précède échoue.

Vlastimil
la source