#performance #testing #openssl
#Производительность #тестирование #openssl
Вопрос:
Недавно мне нужно было протестировать производительность openssl suite на моей машине. Я запустил скорость, чтобы получить некоторые показатели производительности. Тем не менее, я хотел получить конкретную производительность, такую как время шифрования и время расшифровки, но данные, которые я получил, представлены в виде
Doing aes-128 cbc for 3s on 16 size blocks: 24115540 aes-128 cbc's in 3.00s
Я проверил файл speed.c, и он был
if (doit[D_CBC_128_AES])
{
for (j=0; j<SIZE_NUM; j )
{
print_message(names[D_CBC_128_AES],c[D_CBC_128_AES][j],lengths[j]);
Time_F(START);
for (count=0,run=1; COND(c[D_CBC_128_AES][j]); count )
AES_cbc_encrypt(buf,buf,
(unsigned long)lengths[j],amp;aes_ks1,
iv,AES_ENCRYPT);// :O only encryption
d=Time_F(STOP);
print_result(D_CBC_128_AES,j,count,d);//xxxxx
}
}
Таким образом, он выполняет только шифрование, а не дешифрование.
Почему это так? Как я могу получить время шифрования и время дешифрования алгоритмов и их режимов? Должен ли я сам писать код для всех алгоритмов? Как я могу получить циклы процессора, используемые в определенном алгоритме?
Ответ №1:
Время шифрования и дешифрования AES примерно одинаковое.
Да, вам нужно будет написать свои собственные тесты, потому что время зависит от типа процессора, скорости процессора и реализации. Я видел различия в скорости в 1000 раз на одном и том же устройстве с разными реализациями.