Вопрос: Как шифровать файл с помощью OpenSSL и AES-256 с SHA-256?


Система: Linux Mint 18.3 Cinnamon 64-bit.

OpenSSL: 1,0,2 г

Обычно я шифровал файл следующим образом:

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

Но мне интересно, какой алгоритм будет использоваться для хеширования моего пароля, и если я могу его изменить?


0
2017-12-10 06:15


Источник


простофиля superuser.com/questions/455463/... за исключением того, что он устарел до настоящего времени; подробнее см. crypto.stackexchange.com/questions/3298/... , Обратите внимание, что любой один хеш является плохим PBKDF; SHA-256 не заметно лучше, чем MD5. А также -salt был дефолтом более десяти лет, почти два. - dave_thompson_085
@ dave_thompson_085: OpenSSL делает используйте KDF вместо простого хэша, хотя он все еще кажется доморощенным и довольно слабым (см. EVP_BytesToKey). - grawity
@grawity мой ответ на криптографию Q, которую я связал, объясняет это подробно. EVP_BytesToKey - это настройка PBKDF1 из PKCS5, но в командной строке используется EVP_BytesToKey с номером итерации 1, поэтому он делает только один хеш для каждого выходного блока, он НЕ выполняет итерацию как PBKDF. Медведь соглашается: security.stackexchange.com/questions/29106/... - dave_thompson_085
Властимил: Вы не используете это для защиты от пуленепробитов, не так ли? Вместо этого рассмотрите GPG / PGP, он все равно должен пнуть крупнейших игроков. @ dave_thompson_085 Они все еще повторяются только один раз? Yowza. Отступление от MD5 - это, по крайней мере, детский шаг. Отслеживают ли они хеш и шифрование, или вы все еще должны помнить себя? (Я цитирует медведя тоже ;-) - Xen2050


Ответы:


Я случайно узнал, Вот, что для openssl версия 1.1.0:

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

Таким образом, нет смысла указывать алгоритм дайджеста сообщений для более новой версии openssl поскольку он уже использует SHA-256.

Но поскольку в моей системе есть openssl версии 1.0.2g, я выкопал дальше и узнал, Вот, что:

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

По сути, это означает, что openssl по умолчанию будет использовать старый и устаревший MD5.

К счастью, это можно изменить на SHA-256 с помощью openssl версия 1.0.2g:

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

Если у вас есть openssl чем я, вы можете попробовать -md sha1, если выше не удается.


0
2017-12-10 06:15