读书人

openssl aes棘手有关问题》?

发布时间: 2012-03-25 20:55:17 作者: rapoo

openssl aes棘手问题》????
我想用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;
elseif (strcmp(*argv,"aes-192-cbc") == 0) doit[D_CBC_192_AES]=1;
elseif (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;
elseif (strcmp(*argv,"aes-192-ige") == 0) doit[D_IGE_192_AES]=1;
elseif (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);        }    } 

读书人网 >服务器安全

热点推荐