AES CBC IV 问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
holinhot
V2EX    问与答

AES CBC IV 问题

  •  
  • /li>
  •   holinhot 2022-12-04 20:39:25 +08:00 1450 次点击
    这是一个创建于 1045 天前的主题,其中的信息可能已经有所发展或是发生改变。
    把随机 IV 存储到密文最前面是比较通常的做法,因为 IV 实际上的作用只是让相同明码生产出不同的密文,那如果是 HLS AES 128 CBC 文件这样做是不是就不行了? HLS 是不是不支持这种把 iv 存储到密文最前面的方式?

    `
    def encrypt(self, raw):
    raw = pad(raw, AES.block_size)
    iv = Random.new().read(AES.block_size)

    cipher = AES.new(self.key, AES.MODE_CBC, iv)
    return iv + cipher.encrypt(raw)

    def decrypt(self, enc):
    iv = enc[:16]
    cipher = AES.new(self.key, AES.MODE_CBC, iv)
    return unpad(cipher.decrypt(enc[16:]), AES.block_size)
    `
    6 条回复    2022-12-05 13:58:06 +08:00
    Cavolo
        1
    Cavolo  
       2022-12-04 21:26:13 +08:00
    存储随机 IV 在密文最前面是一种常见的加密做法,因为 IV 的作用实际上只是让相同的明文产生不同的密文。如果使用 HLS AES 128 CBC 文件,这种做法是可行的,并且 HLS 是支持将 IV 存储在密文最前面的。在上面给出的代码中,加密函数将 IV 随机生成,然后将其附加在加密后的密文前面,而解密函数则将 IV 从密文中分离出来,并使用它来解密密文。
    holinhot
        2
    holinhot  
    OP
       2022-12-04 21:37:37 +08:00
    @Cavolo 我写的逻辑是这样的,只是不确定标准的 HLS AES 128 CBC 解密逻辑是否是这样的。
    Rache1
        3
    Rache1  
       2022-12-04 22:09:46 +08:00   1
    @Cavolo 又抓住一个 AI
    44670
        4
    44670  
       2022-12-04 22:14:19 +08:00
    是的,HLS AES 128 CBC 文件不支持将 IV 存储在密文最前面的方式。HLS 通常采用在每个分片中使用相同的 IV 来保证分片之间的数据一致性。因此,将 IV 存储在密文最前面的方式不适用于 HLS 。
    anviod
        6
    anviod  
       2022-12-05 13:58:06 +08:00
    上面这两个都是 AI 无聊的回复.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5622 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 01:29 PVG 09:29 LAX 18:29 JFK 21:29
    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