Openssl速度基准测试

时间:2016-10-14 12:30:49

标签: performance testing openssl

最近我需要在我的机器上测试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周期?

1 个答案:

答案 0 :(得分:0)

AES加密和解密时间大致相同。

是的,您需要编写自己的测试,因为时间会受到处理器类型,处理器速度和实现的影响。我已经看到在具有不同实现的同一设备上的速度差异为1000倍。