Вопрос: используя хэш, отличный от sha1 для OAEP с OpenSSL / CLI


утилита rsautl OpenSSL похоже, не имеет настройки, в которой хэш для OAEP может быть изменен. Мое тестирование показывает, что он просто по умолчанию не соответствует sha1, и все.

Мой вопрос ... есть ли способ изменить хэш?

Команда, которую я использовал для проверки:

openssl rsautl -inkey publickey.txt -encrypt -oaep -in plaintext.txt -out ciphertext.txt

4
2017-12-21 13:50


Источник




Ответы:


rsautl который является древним, нет. pkeyutl который должен был заменить rsautl в 2010 году, да. -pkeyopt rsa_oaep_md:name или rsa_mgf1_md:name где name является хешем как в вашем Q на PSS,

Примечание для pkeyutl  порядок вариантов; ты должен сделать -encrypt тогда -inkey rsaprivate  тогда  -pkeyopt (в настоящее время не зарегистрирована AFAICS, хотя аналогичные случаи в genpkey ), и вам нужно сделать rsa_padding_mode:oaep до rsa_{oaep,mgf1}_md:hash ,

Такая же проблема с режимом FIPS.


10
2017-12-21 16:05



Я пытался это сделать прямо сейчас (возможно, я попробовал это раньше, тоже idk), и мне пришлось делать -pkeyopt перед каждым вариантом. например. openssl pkeyutl -in ciphertext.txt -decrypt -inkey test.pem -pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256 -pkeyopt rsa_mgf1_md:sha1, Поэтому в этом случае мне нужно было сделать это один раз для каждого варианта - не один раз в глобальном масштабе. - neubert
@neubert: да, вам нужно -pkeyopt для каждого ключевого варианта; Я думал, что эта часть была ясна из справочной страницы и не повторяла ее. Но требования к порядку были (и есть) не все документально подтвержденными AFAICS, и такие требования необычны для openssl, поэтому я вызвал их. - dave_thompson_085
Упорядочение не имеет значения с OpenSSL 1.1.0f, но я не мог найти эти параметры задокументированными. Несмотря на то что -pkeyopt rsa_oaep_md:sha256 работ, он не упоминается в man pkeyutl, - starfry