首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对Openssl的AES和RC2进行基准测试--为什么AES更快?

对Openssl的AES和RC2进行基准测试--为什么AES更快?
EN

Stack Overflow用户
提问于 2014-12-03 20:55:42
回答 1查看 271关注 0票数 0

我用纯C编写了一个简单的代码来测试Openssl的AES-CBC-256和RC2-CBC-128。我的测试循环如下所示:

代码语言:javascript
复制
for(i=0; i<tests; i++)
    {
        timer_start();
        for(j=0; j<its; j++)
        {
            RC2_cbc_encrypt(input, enc_out, length, &key, iv_enc, RC2_ENCRYPT);
        }
        stop = timer_stop();
        printf("%f\n",(stop / its) * 1000);
    }

for(i=0; i<tests; i++)
    {
        timer_start();
        for(j=0; j<its; j++)
        {
            AES_cbc_encrypt(input, enc_out, length, &enc_key, iv_enc, AES_ENCRYPT);
        }
        stop = timer_stop();
        printf("%f\n",(stop / its) * 1000);
    }

但是发生了一些错误,在我测试代码的每台机器上,都得到了奇怪的结果,也就是说,每次AES都比RC2快。有什么问题吗?我使用getrusage来测量时间(在计时器中)。

代码语言:javascript
复制
AES:
0.010898
0.010471
0.010531

RC2:
0.023261
0.023392
0.023224
EN

回答 1

Stack Overflow用户

发布于 2014-12-03 21:02:23

没什么不对。AES更快,因为:

  • 从计算的角度来看,RC2相当复杂。
  • AES在软件中得到了很大的优化,因为它的使用非常频繁。
  • 一些CPU为AES提供硬件加速(例如,AES-NI用于x86)。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27281451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档