Modes-of-Operation
使用OFB(輸出回饋模式)有什麼優勢?
我對OFB模式有問題,因為我聽說它比CFB強。
我對OFB模式有問題,因為我聽說它比CFB強。
相反,我會說CFB更強。
OFB 意味著一次又一次地加密 IV 以產生密鑰流。如果您最終進入一個循環,則密鑰流將開始重複。(這不應該是一個實際的弱點,但為什麼要碰巧呢?)
CFB 更像 CBC,因為它使用密文作為下一個塊的密碼的輸入。這意味著它不會進入循環,除非例如加密一個恆定的明文。如果明文不同,CFB 也可以從 IV 重用中恢復(這甚至優於 CTR)。
使用OFB(輸出回饋模式)有什麼優勢?
OFB 相對於 CFB 的優勢之一是您可以預先生成密鑰流,因為它不依賴於明文。但是,正如其他答案所述,使用任一算法的加密都是串列的,不能並行化。這使得 CTR 成為性能的最佳選擇,因為它還允許密鑰流預生成。
當然,在現實世界中,除非您確定自己知道自己在做什麼,否則您應該只使用經過身份驗證的加密模式(如 GCM)。
忘記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 倍。所以,它真的非常快。