关闭。这个问题是 off-topic 。它目前不接受答案。
想改进这个问题? Update the question 所以它是 Stack Overflow 的 on-topic。
9年前关闭。
Improve this question
我正在尝试在 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 子模块、打开文件,读取文件)与执行定时功能所需的时间相比可以忽略不计。
在这里,显然情况并非如此,尤其是对于如此简短的测试消息。
关于performance - AES 比 RSA 加密更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14642408/