哪种加密算法,综合性能速度和安全性最优?

原先看到 Blowfish 是速度最快的加密算法,找资料浏览后发现

Blowfish使用64位块大小(与AES的128位块大小相比)使它容易受到生日攻击,特别是在HTTPS这样的环境中。 2016年,SWEET32攻击演示了如何利用生日攻击对64位块大小的密码执行纯文本恢复(即解密密文)。
因为blowfish的块只有64bits,比较小,所以GnuPG项目建议不要使用Blowfish来加密大于4 GB的文件。
除此之外,Blowfish如果只进行一轮加密的话,容易受到反射性弱键的已知明文攻击。 但是我们的实现中使用的是16轮加密,所以不容易受到这种攻击。但是Blowfish的发明人布鲁斯·施耐尔(Bruce Schneier)还是建议大家迁移到Blowfish的继承者Twofish去。

因此,我想知道 哪种加密算法,综合性能速度和安全性最优?

斯坦福加密SJCL,aes實現,javascrypt語言,SJCL: a Javascript crypto library

可以直接用demo:
http://bitwiseshiftleft.github.io/sjcl/demo/

它的一個中文介紹:

:laughing:

另谷歌的crypto.js庫也可以用,只是沒那麼方便。

VeraCrypt 好像在新建盘的过程中,有以当前机器的性能来测试加密解密速度的功能,可以试试。

image

AES 算法速度一骑绝尘。我之前看的文章说 Blowfish 是最快的,但现在看来并不是这样

考虑到现在大部分处理器都有硬件加密/解密 AES,可能AES系才是兼顾效能与加密安全的选择

我想補充一下,其實aes不是單一的模式,不同的模式有不同的安全程度和運算速度。具體可以搜索「aes加密算法」獲得更多資訊。

根据大家说的关键词搜了下。
处理器有专门的 aes 硬件指令集;
ctr 似乎是相对最好的 aes 加密模式

  • CTR (Counter Mode,计数器模式) 算法
    • 概括:与 OFB 算法类似,不同之处在于密钥流根据密钥、IV 和一个计数器生成,可以预先知道用于各个分块的密钥段,目前被广泛使用
    • 优点:支持并行计算

同意以上觀點。我的網站製作了一個簡易的加密解密工具,就是用CTR模式。

http://ejsoon.win/thx/app.php/crypt