2016-10-14 141 views
0

最近我需要在我的机器上测试openssl套件的性能。我跑速度来获得一些表现数字。不过,我想具体表现如encrytion时间和decrytion时间,但我得到的数据是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

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

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