专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 信息/网络安全

openssl aes棘手有关问题》?

发布时间:2011-07-03 07:08:14 文章来源:www.iduyao.cn 采编人员:星星草
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;
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);
        }
    }
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: