2016-10-14 182 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倍。