如果AES的某些操作模式不安全(比如欧洲央行或CBC),这些操作模式很容易发生翻转/操纵攻击,那么为什么NIST没有禁止或建议其他机构使用这些操作模式,并且仍然推荐它们?
我所知道的最后一个出版物是:分组密码操作模式的推荐。
从文件中:
“该建议规定了对称密钥分组密码算法的五种保密操作模式,例如FIPS Pub. 197中指定的算法、高级加密标准(AES) 2。这些模式可与联邦信息处理标准(FIPS)批准的任何对称密钥分组密码算法一起使用。这五种模式--电子码本(ECB)、密码块链接(CBC)、密码反馈(CFB)、输出反馈(OFB)和计数器(CTR)模式--可以提供数据机密性。”
发布于 2019-09-24 15:23:13
所有列出的模式都会以某种方式容易受到操纵攻击。所有的模式都需要特定的先决条件才能安全。这可能是最大的消息大小,或者在CBC的情况下具有不可预测的IV。
只有经过身份验证的模式才能实现消息的完整性/真实性。其他人都易受攻击,因为无法检测到对密文的更改。最初,由于传输不可靠,在错误传播方面花费了大量的精力。这就是当提到比特翻转攻击时的含义。然而,在现代,加密通常在已经执行纠错的较高层执行。所以我们主要关心的是防范有针对性的攻击。混合保密性和错误检测不再是一个大的话题。
如前所述,这些旧模式中的任何一个都可以用来实现机密性。对于实际消息的更高级别的安全性,您可能希望使用较新的建议,如GCM和CCM。然而,上述模式尚未中断,因此没有必要撤回它们;这将涉及重写许多兼容的系统。
虽然欧洲央行模式可以用于小消息(单块加密)或作为构建块,我想欧洲央行是最具争议的模式。即使作为构建块,您也可以认为直接使用块密码更有意义。但是,请注意,许多更高级别的API并不直接向用户公开分组密码;您需要使用ECB模式。
https://crypto.stackexchange.com/questions/74570
复制相似问题