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

122 天前
drymonfidelia  drymonfidelia
2760 次点击
所在节点   信息安全  信息安全
17 条回复
lysShub
lysShub
122 天前
放假闲的
lhwj1988
lhwj1988
122 天前
256 就像请一个专业保镖,简单可靠,而两次 128 则像是请两个保镖,但他们彼此可能还不合拍。最终,安全不一定翻倍,麻烦倒可能加倍
hysjw
hysjw
122 天前
AES-256-GCM
815979670
815979670
122 天前
我记得开发过程中有一个 ”铁律“:不要自己 ”发明“ 加密算法,包括但不限于 两次 md5 这种 将已知的加密算法连续使用多次,它们并不会提升安全性,如果需要更高的安全性,请直接使用加密等级更高的算法
Kauruus
Kauruus
122 天前
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
geelaw
122 天前
@Kauruus #5 结论是对的,但论证有些问题。密钥错误的时候以压倒性的( overwhelming )概率报错,但不能排除解出乱七八糟结果而没有报错的情况,遍历所有密钥的时候遇到不报错的错误密钥的概率可能很高。解决方法就是多试几次。

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