AES-256-GCM 和使用两个不同密钥进行两次 AES-128-GCM 加密,哪个更安全? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
drymonfidelia
V2EX    信息安全

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

  •  
  •   drymonfidelia 2024-10-04 00:33:10 +08:00 3323 次点击
    这是一个创建于 372 天前的主题,其中的信息可能已经有所发展或是发生改变。
    17 条回复    2024-10-06 08:25:20 +08:00
    lysShub
        1
    lysShub  
       2024-10-04 00:34:55 +08:00   1
    放假闲的
    edak
        2
    edak  
       2024-10-04 00:40:01 +08:00 via iPhone
    256 就像请一个专业保镖,简单可靠,而两次 128 则像是请两个保镖,但他们彼此可能还不合拍。最终,安全不一定翻倍,麻烦倒可能加倍
    hysjw
        3
    hysjw  
       2024-10-04 00:49:54 +08:00
    AES-256-GCM
    815979670
        4
    815979670  
       2024-10-04 00:54:18 +08:00   5
    我记得开发过程中有一个 ”铁律“:不要自己 ”发明“ 加密算法,包括但不限于 两次 md5 这种 将已知的加密算法连续使用多次,它们并不会提升安全性,如果需要更高的安全性,请直接使用加密等级更高的算法
    Kauruus
        5
    Kauruus  
       2024-10-04 01:02:52 +08:00   16
    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
        6
    geelaw  
       2024-10-04 01:22:12 +08:00 via iPhone   2
    @Kauruus #5 结论是对的,但论证有些问题。密钥错误的时候以压倒性的( overwhelming )概率报错,但不能排除解出乱七八糟结果而没有报错的情况,遍历所有密钥的时候遇到不报错的错误密钥的概率可能很高。解决方法就是多试几次。

    另外楼主的问题里面,“加密两次”的含义不明确,因为基于 AES 的加密通常不需要隐藏 IV ,外层加密的时候内层 IV 设置为明文还是关联数据,会导致不同的攻击方法。攻击多层加密的一般方法是所谓的 meet in the middle ,尤其对于加密随机数公开的对称加密(常见的基于 AES 的加密,加密随机数就是 IV ,是公开的)。
    drymonfidelia
        7
    drymonfidelia  
    OP
       2024-10-04 02:42:26 +08:00 via iPhone
    @lysShub 不在国内,没有放假
    谁放假还研究这种问题
    drymonfidelia
        8
    drymonfidelia  
    OP
       2024-10-04 02:44:20 +08:00 via iPhone
    @Kauruus
    @geelaw 如果是其它不带 data authenticity ,无法验证密钥是否正确的模式会影响结论吗?
    drymonfidelia
        9
    drymonfidelia  
    OP
       2024-10-04 02:47:36 +08:00 via iPhone
    @geelaw 另外 AES 加密后的数据是没有特征的,GCM 撞到无法验证是否正确的数据是否也会使耗时翻倍?
    crackidz
        10
    crackidz  
       2024-10-04 07:06:50 +08:00
    两次 AES-128-GCM 并不能显著增强安全效果啊,而且你成本上比 AES-256-GCM 也高很多
    y1y1
        11
    y1y1  
       2024-10-04 07:46:37 +08:00 via iPhone
    多次重复加密不能提升安全性
    wheat0r
        12
    wheat0r  
       2024-10-04 08:00:23 +08:00   1
    重走 3DES 路
    Binwalker
        13
    Binwalker  
       2024-10-04 09:57:53 +08:00
    又是自己发明加密算法的大聪明
    leon912
        14
    leon912  
       2024-10-04 10:22:10 +08:00
    AES-256-GCM 应该是更安全的。
    使用密钥长度短的算法来两次,虽然理论上密钥空间相同,但是不一定有更高的安全性。
    james122333
        15
    james122333  
       2024-10-04 11:23:48 +08:00 via Android
    aes-128 就不要使用了
    叠加两种不同高强度的加密是可以增加安全性的
    这个是有应用情境的 例如硬盘加密一次 里面少数档案再用另外方法加密
    hyperbin
        16
    hyperbin  
       2024-10-04 13:25:13 +08:00 via Android
    2^128*2<2^256 ,所以 256 更安全
    ntgeralt
        17
    ntgeralt  
       2024-10-06 08:25:20 +08:00
    AES-128 在今天仍然被认为是安全的加密算法, 中国的神威. 太湖之光破解一个 uuid 在 70 年内无法完成
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2672 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 13:48 PVG 21:48 LAX 06:48 JFK 09:48
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86