V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
MFWT
V2EX  ›  程序员

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

  •  
  •   MFWT · 2023-05-06 18:10:04 +08:00 · 2235 次点击
    这是一个创建于 600 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    提前安装下 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 小工控机(做软路由用) 的测试结果

    iamxVb.png

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

    6 条回复    2023-05-08 09:19:11 +08:00
    MFWT
        1
    MFWT  
    OP
       2023-05-06 18:23:13 +08:00
    本程序基于 WTFPL 协议开源:
    https://github.com/MFWT/openssl-encrypt-test
    liuidetmks
        2
    liuidetmks  
       2023-05-06 19:07:35 +08:00
    openssl 是纯软件 AES¿
    MFWT
        3
    MFWT  
    OP
       2023-05-06 19:11:00 +08:00
    @liuidetmks #2 不,在我的电脑和 VPS 上实测,感觉是调用了硬件的,因为 AES 速度远超 Chacha20 系列
    imoru
        4
    imoru  
       2023-05-06 20:52:13 +08:00
    试了下我的软路由,应该是支持硬件加速的
    [img]https://i.328888.xyz/2023/05/06/iaxcrH.png[/img]
    MFWT
        5
    MFWT  
    OP
       2023-05-06 21:03:26 +08:00
    @imoru #4 你这这这....软路由比我主电脑还快,不错
    xuboying
        6
    xuboying  
       2023-05-08 09:19:11 +08:00
    这个测试。。。如果知道了 CPU 型号,不需要自己测,这个数值应该是固定的吧?
    另外,如果不支持硬件加速的设别,有协处理器可以解决么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4972 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 09:42 · PVG 17:42 · LAX 01:42 · JFK 04:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.