我想用openssl中的检测速度的功能测试自己修改后aes的加密速度,但不知道怎么下手,我已经配置好openssl的环境了,也测得了它的原本的速度,但我主要是想利用它测试我修改后的速度是否有所提升,不知道具体怎么改,改它的哪一部分。
哪位高手能给点意见啊,谢谢了啊!
------解决方案--------------------
没用过 帮顶
------解决方案--------------------
openssl speed aes-128-cbc
E:\OpensslDev\openssl-1.0.0\out32dll>openssl speed aes-128-cbc
WARNING: can't open config file: e:\openssldev\bin\/ssl/openssl.cnf
Doing aes-128 cbc for 3s on 16 size blocks: 10500948 aes-128 cbc's in 3.00s
Doing aes-128 cbc for 3s on 64 size blocks: 2813946 aes-128 cbc's in 2.98s
Doing aes-128 cbc for 3s on 256 size blocks: 718924 aes-128 cbc's in 2.98s
Doing aes-128 cbc for 3s on 1024 size blocks: 452323 aes-128 cbc's in 2.98s
Doing aes-128 cbc for 3s on 8192 size blocks: 57627 aes-128 cbc's in 2.98s
OpenSSL 1.0.0 29 Mar 2010
built on: Wed Mar 31 13:45:48 2010
options:bn(64,32) rc4(4x,int) des(idx,cisc,2,long) aes(partial) idea(int) blowfish(idx)
compiler: 略
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128 cbc 56005.06k 60345.15k 61669.38k 155201.26k 158184.00k
测速原理:
//比较参数 要测谁的
if (strcmp(*argv,"aes-128-cbc") == 0) doit[D_CBC_128_AES]=1;
else if (strcmp(*argv,"aes-192-cbc") == 0) doit[D_CBC_192_AES]=1;
else if (strcmp(*argv,"aes-256-cbc") == 0) doit[D_CBC_256_AES]=1;
else if (strcmp(*argv,"aes-128-ige") == 0) doit[D_IGE_128_AES]=1;
else if (strcmp(*argv,"aes-192-ige") == 0) doit[D_IGE_192_AES]=1;
else if (strcmp(*argv,"aes-256-ige") == 0) doit[D_IGE_256_AES]=1;
- C/C++ code
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); d=Time_F(STOP); print_result(D_CBC_128_AES,j,count,d); } } if (doit[D_CBC_192_AES]) { for (j=0; j<SIZE_NUM; j++) { print_message(names[D_CBC_192_AES],c[D_CBC_192_AES][j],lengths[j]); Time_F(START); for (count=0,run=1; COND(c[D_CBC_192_AES][j]); count++) AES_cbc_encrypt(buf,buf, (unsigned long)lengths[j],&aes_ks2, iv,AES_ENCRYPT); d=Time_F(STOP); print_result(D_CBC_192_AES,j,count,d); } }