У меня есть открытые и закрытые ключи RSA (все p, q, e, n, d) в формате PEM. Мне любопытно узнать:
- Как
PK11_Sign()
,PK11_Verify()
иPK11_VerifyRecover()
(из библиотеки OpenSSL/Mozilla NSS) работают с RSA? - Как заполнение применяется к входному сообщению, которое нужно подписать?
Контекст моего вопроса таков: я видел, как PK11_Sign() добавляет некоторые дополнения к моим входным данным во время подписания. Например (учитывая размер ключа 162 бита):
my input = 31323334353036373839 padded input = 1FFFFFFFFFFFFFFFF0031323334353036373839
Я бы хотел знать:
- Как называется эта схема заполнения и как она работает?
- Какова схема заполнения по умолчанию для вышеупомянутых функций OpenSSL? Например, если я выполню "
openssl rsautl -in input.txt -inkey mykey.pem -out signed.txt
", какая схема заполнения будет использоваться?