闲来无事,做个小脚本,调用 OpenSSL 来测试各个加密算法的速度

2023-05-06 18:10:04 +08:00
 MFWT

至于脚本有什么用途....大家看着办罢
用于什么什么代理测速我就管不着了

提前安装下 OpenSSL ,保存为 shell 脚本就可以直接用了

#!/bin/bash

echo "----------------------------------------------------"
echo "本程序会依次执行以下算法加密性能的测试:"
echo "  AES-(128/256)-(CFB/CTR/GCM)"
echo "  Chacha20(-poly1305)"
echo "并横向对比输出结果"
echo "至于用途....看着办吧!"
echo "----------------------------------------------------"

openssl speed -evp aes-128-cfb > 128cfb.txt
openssl speed -evp aes-256-cfb > 256cfb.txt
openssl speed -evp aes-128-ctr > 128ctr.txt
openssl speed -evp aes-256-ctr > 256ctr.txt
openssl speed -evp aes-128-gcm > 128gcm.txt
openssl speed -evp aes-256-gcm > 256gcm.txt
openssl speed -evp chacha20 > c20.txt
openssl speed -evp chacha20-poly1305 > c20p1305.txt

echo "----------------------------------------------------"
echo "以下是测试结果,越高越好:"
cat 128cfb.txt | tail - -n 2
cat 256cfb.txt | tail - -n 1
cat 128ctr.txt | tail - -n 1
cat 256ctr.txt | tail - -n 1
cat 128gcm.txt | tail - -n 1
cat 256gcm.txt | tail - -n 1
cat c20.txt | tail - -n 1
cat c20p1305.txt | tail - -n 1
echo "-----------------------------------------------------"

rm 128cfb.txt 
rm 256cfb.txt
rm 128ctr.txt
rm 256ctr.txt
rm 128gcm.txt
rm 256gcm.txt
rm c20.txt
rm c20p1305.txt

echo "测试结束"

顺便附上我的 J1900 小工控机(做软路由用) 的测试结果

没有硬件加速,Chacha20 基本把 AES 摁着打

2186 次点击
所在节点    程序员
6 条回复
MFWT
2023-05-06 18:23:13 +08:00
本程序基于 WTFPL 协议开源:
https://github.com/MFWT/openssl-encrypt-test
liuidetmks
2023-05-06 19:07:35 +08:00
openssl 是纯软件 AES¿
MFWT
2023-05-06 19:11:00 +08:00
@liuidetmks #2 不,在我的电脑和 VPS 上实测,感觉是调用了硬件的,因为 AES 速度远超 Chacha20 系列
imoru
2023-05-06 20:52:13 +08:00
试了下我的软路由,应该是支持硬件加速的
[img]https://i.328888.xyz/2023/05/06/iaxcrH.png[/img]
MFWT
2023-05-06 21:03:26 +08:00
@imoru #4 你这这这....软路由比我主电脑还快,不错
xuboying
2023-05-08 09:19:11 +08:00
这个测试。。。如果知道了 CPU 型号,不需要自己测,这个数值应该是固定的吧?
另外,如果不支持硬件加速的设别,有协处理器可以解决么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/937921

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX