最近我需要在我的机器上测试openssl套件的性能。我跑速以获得一些性能数字。但是我想要特定的性能,如加密时间和解密时间,但我得到的数据是
的形式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],&aes_ks1,
iv,AES_ENCRYPT);// :O only encryption
d=Time_F(STOP);
print_result(D_CBC_128_AES,j,count,d);//xxxxx
}
}
所以它只是加密而不是解密。
为什么会这样? 如何获得加密时间,算法及其模式的解密时间? 我是否必须自己为所有算法编写代码? 如何获得特定算法中使用的cpu周期?
答案 0 :(得分:0)
AES加密和解密时间大致相同。
是的,您需要编写自己的测试,因为时间会受到处理器类型,处理器速度和实现的影响。我已经看到在具有不同实现的同一设备上的速度差异为1000倍。