我对OFB模式有一个问题,因为我听说它比CFB更强大。
发布于 2015-07-05 08:05:18
我对OFB模式有一个问题,因为我听说它比CFB更强大。
相反,我会说CFB更强大。
OFB意味着一次又一次地加密IV以产生密钥流。如果您在一个循环中结束,则使用密钥流会开始重复。(这不应该是一个实际的弱点,但为什么要抓住这个机会呢?)
CFB更像CBC,因为它使用密文作为下一个块的密码输入。这意味着它不会进入循环,除非例如加密一个常量明文。如果明文不同,CFB也可以从IV重用中恢复(这甚至比CTR更有优势)。
使用OFB (输出反馈模式)的优点是什么?
与CFB相比,OFB的一个优势是您可以预生成密钥流,因为它不依赖于明文。然而,由于其他答案状态,任何算法的加密都是串行的,不能并行化。这使得CTR成为性能的最佳选择,因为它还允许密钥流预生成。
当然,在现实世界中,您应该只使用经过身份验证的加密模式(如GCM),除非您确信自己知道自己在做什么。
发布于 2015-07-04 21:04:20
忘记OFB模式吧。您应该使用CTR (计数器)模式。它有最好的界限,并且是可并行的。这意味着当您使用AES-NI指令集时,用CTR加密大约是CBC、OFB等的7倍。如果您在OpenSSL中加密,您将获得这种性能。
有关操作模式的详细分析和比较,请参见http://web.cs.ucdavis.edu/~rogaway/papers/modes.pdf。
此外,在大多数情况下,您应该使用认证-加密。如果你担心成本,GCM在AES-NI上的速度是CBC/OFB的5-6倍。所以,它真的非常快。
https://crypto.stackexchange.com/questions/26707
复制相似问题