我发现了这些关于 AES OFB 模式的评论:“这种模式是一种不太常见的模式,与上面的 CFB 非常相似,但由于数据宽度与块大小不匹配时的固有弱点,它不应该用作流密码。底层加密算法”。为什么数据宽度会影响 AES OFB 模式的性能?
AES OFB 模式的弱点
信息安全
AES
2021-08-19 02:32:13
1个回答
这是一个奇怪的断言。OFB 模式下的分组密码在功能上是一种流密码,它产生与密钥相关的伪随机字节流;然后,加密只是流与要加密的数据的 XOR(并且解密是相同的)。数据大小无关紧要;相反,OFB 是这些不需要填充的模式之一。
评论员可能的意思是,OFB 不应该在少于全块反馈的情况下使用。“正常” OFB 是维基百科图表中描述的:每个输出块(来自分组密码)用作下一个分组密码调用的输入。然而,在过去,OFB 使用部分反馈,其中分组密码的输入仅使用前一个分组的部分输出。具有部分反馈的 OFB 比普通 OFB 慢,旨在支持失去同步的传输介质。由于带有部分反馈的 OFB 比全块 OFB 弱得多,因此该标准已弃用它。我的猜测是,您引用的评论是关于 OFB 的部分反馈。
没有人使用部分反馈来执行 OFB,除了PHP中MCRYPT_MODE_OFB常量选择带有 8 位反馈的 OFB(我们可以指望 PHP 尽可能选择弱且低效的默认值;它们非常有创意)。
有关详细信息,请参阅《应用密码学手册》(第 7 章,第 7.2.2 节)。无论如何,即使是全块 OFB 在所有方面都可以被认为不如 CTR,应该避免(有关详细信息,请参阅此答案)。当然,像EAX这样的经过身份验证的加密要好得多。
其它你可能感兴趣的问题