Я интегрирую 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.
Вот результаты, которые я получаю:
Я не могу понять разницу. Я действительно ожидал, что вычислительное время будет немного выше с ECDSA, чем с RSA. Но здесь это более чем в 200 раз медленнее. С другой стороны, генерация подписи с ECDSA намного быстрее, чем ожидалось.
Имеет ли это смысл?
Могу ли я пропустить настройку, объясняющую разницу?