我刚刚安装了Windows版GnuPG。该文档说默认的对称密码是CAST5。同样在PGP中,默认密码为CAST5。

CAST5是否可以安全使用?此算法报告了任何已知的攻击吗?

评论

它仍然是安全的,是的(至少据我所知)。但是它不如AES高效。

如果可以选择,您将使用除AES以外的哪种算法?

如果您需要最安全的算法,Twofish是我个人的最爱,Serpent。 (使用AES挑战赛的决赛入围者听起来不错。)

但是我没有找到任何可以使用SERPENT的工具。甚至GnuPG也没有选择。顺便说一句,为什么Twofish是您的最爱?

Twofish具有出色的扩散能力,以及与密钥相关的s-box,并且在软件中速度很快

#1 楼

CAST5似乎是具有128位密钥的可靠64位分组密码。据我在简短的文献搜索后得出的结论,尽管有将近二十年的曝光(对于舍入功能而言,它的定义还是很完整)。 CAST-128,在RFC 2144(1997)中定义,并由ISO / IEC 18033-3:2010(当前)认可。这是一个16轮的Feistel密码,每轮使用4个(总共8个)S盒,每个盒具有8位输入和32位输出;和32位操作(XOR,加法/减法)以及与密钥相关的旋转。趋势是128位,例如AES)。当使用某些通用模式(包括OpenPGP和GnuPG中使用的CFB)以相同的密钥对大量数据进行加密时,这可能是个问题,因为随机块之间的冲突发生的几率增加(4GiB为0.8%,32GiB为40%)。例如,可以用某种程度的可信度来证明一个错误的说法,即用CAST5加密的十几个≈20GiB文件对应于作为计算机基准加密的全零数据,只需检查是否存在带有冲突块的文件(要求对“真实”数据(例如视频)发生多次冲突的情况下,加密文件的原始来源不太可能。)

另一个固有的限制是128位密钥。在GnuPG上下文中,有许多最可怕的担忧(我怎么能相信BIOS?硬盘固件?键盘?)。操作。如果恶意软件仅在OS或VM提供的隔离下运行在同一CPU上,那这可能是一个相对可信的攻击媒介。残留风险似乎相对较低。

CAST5似乎对故障攻击或相关密钥攻击不是特别脆弱(或没有抵抗力)。在GnuPG的背景下,这些类型的攻击不必担心。 ,Biham-DES,CAST,DES-X,NewDES,RC2和TEA(ICICS 1997)是针对CAST的早期版本,只有8轮。该论文由上一作者在Postscript中提供,可以在此处在线查看。