gpt4 book ai didi

erlang - 在CFB模式下加密多个数据包时是否需要更改IV?

转载 作者:行者123 更新时间:2023-12-01 15:29:36 30 4
gpt4 key购买 nike

在 Erlang 中 crypto库,没有 aes_cfb_ivec 函数。这是否意味着相同的 IVec 应该用于多轮?还是应该使用最后一步的加密数据,如链接页面末尾的“CBC 模式下的 DES”示例?

最佳答案

IV 不得 重复使用。否则,以相同 n 字节开头的两个数据包最终也会被加密为具有相同 n 字节的流。这是一个严重的安全问题。

理想情况下,应随机且统一地选择 IV(使用加密强度高的生成器)。但是,使用 CFB,您可以将前一个数据包中的最后一个加密 block 用作 IV。如果您查看 Wikipedia article 中的图表,您会注意到,将最后一个数据包 block 重新用作下一个数据包 block 相当于将两个数据包都视为一条大消息的两半,并在一次运行中加密(在这方面,这相当于 CBC 加密)。

(明确一点,我说的是 CFB-m,其中 m 是算法 block 大小。在 CFB-x 中,您对输入的每 x 位调用一次分组密码;CFB-128 用于 128 位分组密码(如 AES)是最有效的,因此最常用。)

关于erlang - 在CFB模式下加密多个数据包时是否需要更改IV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3784786/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com