Для обеспечения целостности байтового потока можно концептуально использовать симметричную криптографию (например, HMAC с SHA-1) или асимметричную криптографию (например, цифровую подпись с RSA). Здравый смысл заключается в том, что асимметричная криптография намного дороже, чем использование симметричной криптографии. Тем не менее, я хотел бы иметь жесткие цифры и хотел бы знать, существуют ли эталоны набора для существующих криптографических библиотек (например, openssl), чтобы получить некоторые результаты измерений для симметричных и асимметричных алгоритмов криптографии. Число, которое я получаю от встроенного приложения «speedsl speed», может, к сожалению, не сравниваться друг с другом.Бенчмаркинг симметричной и асимметричной криптографии
Возможно, кто-то уже реализовал небольшой набор для сравнения?
Спасибо, Martin
Я не знаю стандартный набор тестов, но основная работа для HMAC - это хеширование всего сообщения/потока, и это тоже нужно сделать для подписи. (Стоимость зависит линейно от размера сообщения/потока.) Кроме того, у вас есть модульное возведение в степень, что является дорогостоящей частью подписи (в зависимости от размера ключа). Таким образом, «насколько больше стоимость RSA, чем HMAC», будет зависеть от размера вашего сообщения. –
Почему цифры 'openssl speed' не могут сравниваться друг с другом? Я использую их все время. –
Я думаю, что они не могут сравниться с различными выходами симметричных и асимметричных операций. Для симметричных выходов выводятся в байтах в секунду, например: 'type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes' ' sha1 40851.46k 115649.56k 246194.34k 340589.23k 387393.93k' Но для асимметричного криптографического вывода заданные в знаках или проверках в секунду, например: 'знак подтверждения/s проверка/s' ' rsa 512 bits 0.000120s 0.000011s 8349.2 90190.5' Поэтому я даже не знаю, сколько байтов данных подписано. – taocp