Block-Cipher

分組密碼的操作模式如何使用?

  • May 27, 2015

我正在研究分組密碼的不同操作模式,我的問題不是特定的問題,而是這些操作模式如何在密碼學中使用?

我這裡有這張照片(OFB 模式):

在此處輸入圖像描述來源

我想知道這些操作如何與分組密碼算法相結合?例如,我們有 DES 加密,而 DES 有自己的加密方法,這些操作與算法在哪里相交?我的意思是在實際的 DES 算法中使用這些操作時?如果我們知道 DES 本身是一種加密方法,為什麼還需要它們?

DES 將是圖中標記為“塊密碼加密”的框,它以兩種方式參與您顯示的加密模式:輸出與明文異或,輸出用作下一個塊使用的輸入DES(第二個“塊密碼加密”)。

在這種模式下,您使用 DES 根據 IV 和密鑰生成一系列隨機塊,因此它作為流密碼執行(這意味著您決不能多次使用相同的 IV 和密鑰,換句話說,您只要密鑰保持不變,就需要為每組新的消息塊使用一個新的唯一 IV)。OFB 將諸如 DES 之類的分組密碼轉換為流密碼。

不同模式對 IV 的要求可能不同,重複使用具有相同密鑰的 IV 的後果也是如此。

在每個塊上使用“原始”加密算法稱為 ECB,電子密碼本。您通常不使用 ECB 的原因是,每當您使用相同的密鑰加密相同的塊時,您都會得到相同的輸出。這可以很容易地產生很多關於消息的資訊,這是你不想要的。在上面的 Wiki 連結中,有一張很好的圖片顯示了使用 ECB 模式可以洩漏多少資訊。

不同的連結模式有不同的要求,在使用之前你需要了解其中的陷阱、優點和缺點是什麼。特別是,大多數模式需要具有某種形式的消息認證,以防止攻擊者更改部分編碼數據。使用常見連結模式執行此操作的方法稱為 MAC,即消息驗證碼。MAC 的一個範例稱為 HMAC(基於雜湊的消息身份驗證程式碼)(它本身是一種使用一些底層雜湊算法的操作模式)。

不使用任何消息身份驗證(這與驗證您正在與之交談的 WHO 不同)的問題在於,攻擊者可以做很多令人討厭的事情,具體取決於連結模式。這可能導致他們能夠更改消息或確定消息中的部分或全部內容。

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