Можно ли использовать openssl вместо алгоритмов Python RSA и Base64? - PullRequest
0 голосов
/ 27 мая 2019

Можно ли использовать команду openssl для реализации эквивалентной функциональности с помощью алгоритмов Python RSA и Base64?

Например, известен открытый ключ RSA и пароль для шифрования.Алгоритм Python:

ciphertext = base64.b64encode(PKCS1_v1_5.new(pubkey).encrypt(password.encode('utf-8')))

Предположим, пароль - 123456, а открытый ключ - pubkey.pem.Является ли следующая команда openssl эквивалентной алгоритму Python?

echo 123456 | openssl rsautl -encrypt -pubin -inkey pubkey.pem -out ciphertext.txt | openssl enc -e -base64 -in ciphertext.txt -out r.txt

Результат r.txt эквивалентен зашифрованному тексту алгоритма Python?

1 Ответ

0 голосов
/ 27 мая 2019

Да, так и должно быть, если и только если ваш пароль "123456", конечно.

Рандомизация, которую выполняет заполнение PKCS # 1 v1.5, будет, конечно, означать, что зашифрованный текст всегда отличается.

Для проверки: расшифруйте зашифрованный текст, используя обратные операции и закрытый ключ в Python. Для большей уверенности расшифруйте, используя openssl.

...