Проблема производительности проверки OpenSSL ECDSA

Я работаю над проектом, в котором я использую криптографию ECDSA. Для генерации подписи и ключа я использую аппаратный модуль и проверяю с помощью openssl.

Моя проблема в том, что одна проверка занимает 12 миллисекунд. Это устройство ARM (i.MX6 Quad, 4x1Ghz, 2Gb ram), но, тем не менее, оно выглядит очень медленно.

Я компилирую, используя «arm-poky-linux-gnueabi-g ++», предоставленный поставщиком оборудования. Использование -O3 против -O0 не меняет радикально время, необходимое для проверки.

std::vector<unsigned char> digest = sha256(content);
ECDSA_SIG* sig = ...
EC_KEY* ec_key = ...

auto tref = getTimeInMillis();
int result = ECDSA_do_verify(&(digest[0]),digest.size(), sig , ec_key);
auto duration = getTimeInMillis() - tref;
LOG("call to ECDSA_do_verify " + std::to_string(duration)+ "ms");

Эта строка ECDSA_do_verify занимает 12 мс (тест проводится в пакете, это стабильно). Как вы думаете, это разумное время?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector