Продолжительность проверки ECDSA с помощью mbedTLS - PullRequest
0 голосов
/ 11 июля 2019

Я интегрирую mbedTLS в проект на STM32H753. Окружающая среда - STM32CubeIDE (arm-none-eabi-gcc). Я скомпилировал в -Ofast.

Я сравниваю время вычисления проверки подписи RSA2048 PKCS1 и ECDSA224 (кривая SECP224R1).

Я повторно использовал пример кода из mbedTLS (в mbedTLS \ Programs \ pkey \ ecdsa.c и rsa_verify.c), я ничего не модифицировал.

Я измерил время вычисления функций mbedtls_rsa_pkcs1_verify и mbed_ecdsa_read_signature с помощью DBG_CYCCNT, и нет никаких исключений или прерываний. он не включает вычисление SHA256.

Вот результаты, которые я получаю:

  • Проверка подписи RSA 2048: 850 000 циклов

  • Проверка подписи ECDSA 224: 200 000 000 циклов

Я не могу понять разницу. Я действительно ожидал, что вычислительное время будет немного выше с ECDSA, чем с RSA. Но здесь это более чем в 200 раз медленнее. С другой стороны, генерация подписи с ECDSA намного быстрее, чем ожидалось.

Имеет ли это смысл?

Могу ли я пропустить настройку, объясняющую разницу?

...