AES-256-GCM 和使用两个不同密钥进行两次 AES-128-GCM 加密,哪个更安全?

21 天前
 drymonfidelia
2401 次点击
所在节点    信息安全
17 条回复
lysShub
21 天前
放假闲的
lhwj1988
21 天前
256 就像请一个专业保镖,简单可靠,而两次 128 则像是请两个保镖,但他们彼此可能还不合拍。最终,安全不一定翻倍,麻烦倒可能加倍
hysjw
21 天前
AES-256-GCM
815979670
21 天前
我记得开发过程中有一个 ”铁律“:不要自己 ”发明“ 加密算法,包括但不限于 两次 md5 这种 将已知的加密算法连续使用多次,它们并不会提升安全性,如果需要更高的安全性,请直接使用加密等级更高的算法
Kauruus
21 天前
AES-256-GCM.

GCM 是 AEAD ,在密钥不对的情况下,它会告诉你密钥不对,而不是强行用错的密钥解出一堆错误的数据。

即暴力试 2^128 次就能解开第一个密钥,再试 2^128 次解开第二个密钥。而 AES-256-GCM 需要 2^256 次。

所以两次 AES-128-GCM 并不能提供 256 bits (2^128 * 2^128) 的安全,只能提供 129 bits (2^128 + 2^128)。
geelaw
21 天前
@Kauruus #5 结论是对的,但论证有些问题。密钥错误的时候以压倒性的( overwhelming )概率报错,但不能排除解出乱七八糟结果而没有报错的情况,遍历所有密钥的时候遇到不报错的错误密钥的概率可能很高。解决方法就是多试几次。

另外楼主的问题里面,“加密两次”的含义不明确,因为基于 AES 的加密通常不需要隐藏 IV ,外层加密的时候内层 IV 设置为明文还是关联数据,会导致不同的攻击方法。攻击多层加密的一般方法是所谓的 meet in the middle ,尤其对于加密随机数公开的对称加密(常见的基于 AES 的加密,加密随机数就是 IV ,是公开的)。
drymonfidelia
21 天前
@lysShub 不在国内,没有放假
谁放假还研究这种问题
drymonfidelia
21 天前
@Kauruus
@geelaw 如果是其它不带 data authenticity ,无法验证密钥是否正确的模式会影响结论吗?
drymonfidelia
21 天前
@geelaw 另外 AES 加密后的数据是没有特征的,GCM 撞到无法验证是否正确的数据是否也会使耗时翻倍?
crackidz
21 天前
两次 AES-128-GCM 并不能显著增强安全效果啊,而且你成本上比 AES-256-GCM 也高很多
y1y1
21 天前
多次重复加密不能提升安全性
wheat0r
21 天前
重走 3DES 路
Binwalker
20 天前
又是自己发明加密算法的大聪明
leon912
20 天前
AES-256-GCM 应该是更安全的。
使用密钥长度短的算法来两次,虽然理论上密钥空间相同,但是不一定有更高的安全性。
james122333
20 天前
aes-128 就不要使用了
叠加两种不同高强度的加密是可以增加安全性的
这个是有应用情境的 例如硬盘加密一次 里面少数档案再用另外方法加密
hyperbin
20 天前
2^128*2<2^256 ,所以 256 更安全
ntgeralt
19 天前
AES-128 在今天仍然被认为是安全的加密算法, 中国的神威. 太湖之光破解一个 uuid 在 70 年内无法完成

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

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

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

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

© 2021 V2EX