Encryption 在CBC中使用AES与消息的相同IV

Encryption 在CBC中使用AES与消息的相同IV,encryption,aes,Encryption,Aes,用相同的IV在CBC中用AES加密两条相同的明文消息会产生相同的密文吗 根据我的理解,第一个块与IV进行异或运算,然后每个后续块与前一个进行异或运算。这是否意味着使用相同的IV和相同的消息,每个块将被加密到相同的东西?我理解使用可预测或不改变的IV进行加密是一件非常糟糕的事情,我想知道为什么——是因为攻击者可以建立一本已知消息的书,还是因为我们让第一个块容易受到频率检查的影响 谢谢如果您两次使用同一个键,那么是的,您将获得相同的输出。如果您使用不同的密钥,那么您将得到不同的输出,您可以将前一个块

用相同的IV在CBC中用AES加密两条相同的明文消息会产生相同的密文吗

根据我的理解,第一个块与IV进行异或运算,然后每个后续块与前一个进行异或运算。这是否意味着使用相同的IV和相同的消息,每个块将被加密到相同的东西?我理解使用可预测或不改变的IV进行加密是一件非常糟糕的事情,我想知道为什么——是因为攻击者可以建立一本已知消息的书,还是因为我们让第一个块容易受到频率检查的影响


谢谢

如果您两次使用同一个键,那么是的,您将获得相同的输出。如果您使用不同的密钥,那么您将得到不同的输出,您可以将前一个块与当前块进行异或运算,但随后您可以对结果进行加密以生成一个密文块


然而,这通常没有什么帮助。使用CBC之类的工具的一个基本原因是避免消息之间重复,即使它们包含相同的数据,并且您继续使用相同的键。当然,它还可以避免单个消息中的模式。更改IV会保持每条消息的唯一性,即使某些明文内容是可预测的,而不必为每条消息分发新密钥,这通常会比较痛苦。

如果两次使用相同的密钥,那么是的,您将获得相同的输出。如果您使用不同的密钥,那么您将得到不同的输出,您可以将前一个块与当前块进行异或运算,但随后您可以对结果进行加密以生成一个密文块

然而,这通常没有什么帮助。使用CBC之类的工具的一个基本原因是避免消息之间重复,即使它们包含相同的数据,并且您继续使用相同的键。当然,它还可以避免单个消息中的模式。更改IV可以保持每条消息的唯一性,即使某些纯文本内容是可预测的,而无需为每条消息分发新密钥,这通常会比较痛苦