Block-Cipher

CBC 操作模式是流密碼模式嗎?

  • March 4, 2019

我正在上安全系統課程。我的教授認為 CBC 是一種流密碼模式,就像 CFB 和 OFB 一樣。我讀過的大多數資料都不同意這一點,所以我向我的教授詢問了這一點,他聲稱這通常被稱為流密碼模式。這是真的?

確切的答案可能取決於您對“通常”的定義或此類陳述的規範來源。

很少有資料(個人意見)比Handbook of Applied Cryptography更規範。在其中,備註 7.25說明了與您的問題相關的以下內容:

CBC 模式也可以被認為是一種流密碼,其中 n 位塊扮演非常大的字元的角色。因此,操作模式允許人們從分組密碼中定義流密碼。

當我第一次閱讀您的問題時,這並不是我真正期望寫的答案,但我會說您教授的陳述與 HAC 所說的一致,是正確的。

在引用此評論時,該書說(第 3 頁):

分組密碼通常處理相對較大的塊(例如,n ≥ 64)中的明文,而流密碼通常處理較小的單元(見註 6.1);然而,這種區別並不是確定的(見備註 7.25)。

術語最終是任意的,但很少有人將 CBC 稱為流密碼,並且有充分的理由不將其稱為流密碼。

CBC 容易受到諸如Lucky 13之類的填充預言機攻擊(其變體在今天的 TLS 實現中仍然存在)。CBC 需要填充,因為輸入通常以八位字節的形式出現,而不是 16 字節的塊,在決定是否使用它時知道這一點非常重要。(而且由於管理填充是多麼困難,答案通常是“不要使用它”。)

如果您將 CBC 稱為流密碼,那麼“流密碼不使用填充”是不正確的,您必須考慮到流密碼容易受到填充預言的影響。今天使用的大多數對稱密碼都是基於比特的流密碼,並且不使用填充,這使得它們易於使用。用一個簡短的詞或片語來指定這種易於使用的密碼很有用,幾乎每個人都稱它們為“流密碼”。

所以,不,CBC 不是流密碼。這是一個更複雜的構造,它具有流密碼的缺陷,通過構造,沒有。

引用自:https://crypto.stackexchange.com/questions/51251