当前位置 : 主页 > 网络安全 > 测试自动化 >

性能 – AES比RSA加密更快?

来源:互联网 收集:自由互联 发布时间:2021-06-22
我试图用ubuntu中的openssl来测试RSA和AES的速度. 我使用以下代码来测试它. echo -n "0123456789012345" message.txtopenssl genrsa -out private.pem 1024openssl rsa -in private.pem -out public.pem -puboutfor i in {1..1000}do
我试图用ubuntu中的openssl来测试RSA和AES的速度.

我使用以下代码来测试它.

echo -n "0123456789012345" > message.txt

openssl genrsa -out private.pem 1024
openssl rsa -in private.pem -out public.pem -pubout


for i in {1..1000}
do
    openssl rsautl -encrypt -inkey public.pem -pubin -in message.txt -out message_enc.txt
done

for i in {1..1000}
do
    openssl rsautl -decrypt -inkey private.pem -in message_enc.txt -out message_dec.txt
done

for i in {1..1000}
do
    openssl enc -e -aes-128-cbc -in message.txt -out aes.bin -K ddf -iv 345

done

结果:

$time ./rsa_enc 
real    0m3.697s
user    0m1.308s
sys     0m0.680s

$time ./rsa_dec
real    0m14.273s
user    0m3.172s
sys     0m0.696s

$time ./aes

real    0m3.790s
user    0m1.408s
sys     0m0.500s

它表明RSA加密比AES加密更快.

AES不应该更快吗?我做错了吗?

谢谢.

除了@jbtule关于RSA和AES加密的不同目的的正确观点之外,基准设计中存在一些根本性的缺陷.

您在这里测量的不仅仅是RSA或AES加密例程,而是整个执行这些openssl命令.

虽然在外部程序之外使用计时器来衡量其中一个函数的执行情况是有意义的,但这样做需要花费时间来做其他事情(比如解析命令行参数,找到正确的OpenSSL子模块,打开文件) ,读取文件)与执行定时功能所需的时间相比可以忽略不计.

在这里,情况显然不是这样,特别是在这么短的测试消息的情况下.

网友评论