#openssl #rsa #public-key-encryption #gnupg
#openssl #rsa #шифрование с открытым ключом #gnupg
Вопрос:
У меня есть компьютер с openssl (1.0.2от 27 марта 2018 года) и GPG (gpg (GnuPG) 2.2.0-неизвестно) и файлом размером 130 МБ.
Я создал пару ключей RSA с помощью openssl и GPG одинаковой длины ключа с тем же алгоритмом RSA.
Я подписал файл с помощью openssl и получил файл подписи, а затем подписал его с помощью GPG (отдельная подпись) и получил подпись fie.
Когда я проверяю подпись с помощью openssl, я получаю 2,4 секунды, а когда я делаю то же самое с помощью GPG, я получаю 10-12 секунд.
Что может вызвать такую большую разницу во времени?
Комментарии:
1. Если вашему компьютеру не 30 лет, это безумие. Время фактической операции проверки RSA (modexp d) до 4096 (максимальное значение, поддерживаемое GPG, и максимальное значение, обычно используемое с OpenSSL) должно составлять около миллисекунды, а не несколько секунд. Если подписываемый / проверяемый файл большой (гигабайт) (и не кэшируется), чтение может занять несколько секунд, но это должно быть одинаково для обеих программ или закрыть. Предположительно, хеширование больших данных также может быть медленным в зависимости от того, какой хэш вы используете; попробуйте хеширование в одиночку (без подписи или проверки) в openssl.
2. Что касается машины, она предназначена для встроенной разработки с процессором ARMv7 rev 10 (v7l) с 1 ГБ памяти (220 МБ свободно) и 1 ГБ SD-карты, используемой в качестве хранилища. разрушение Linux. Я использовал sha256 для измерений, которые я сделал для проверки подписи GPG и openssl. Я выполнил другое измерение для команды терминала sh256sum и получил 3,568 с, при выполнении openssl dgst -sha256 я получил 2,465 с
3. Попробуйте это с небольшим файлом. Это может быть неэффективное чтение файла в вашем RPI.