Authenticated-Encryption
什麼是確定性認證加密?
我在研究中遇到了一種被稱為確定性認證加密的東西,很多人將它與 Synthetic IV 模式相關聯。
我很難理解 DAE 到底是什麼,因為我認為如果某些東西是確定性的,它就沒有經過身份驗證的加密的感覺。它違反了消息的機密性——確定性加密模式容易受到 CPA 攻擊。
有人可以用外行的術語解釋 DAE 到底是什麼嗎?DAE 與 ECB 模式等普通確定性加密模式有何不同?
確定性認證加密確實提供了真實性,它不需要隨機數或 IV。從這個意義上說,它不提供 CPA 安全性,因為相同的消息會產生相同的密文。
然而,身份驗證實際上與 CPA 安全性無關。它是關於確保密文是由持有密鑰的特定方創建的。換句話說,它提供了密文(以及明文)的真實性。此外,它確保了解密後明文(可能還有解密前的密文)的完整性得到維護;即密文沒有被攻擊者更改或以某種方式損壞。如果不是,則驗證標籤的驗證將失敗。
DAE 與 ECB 的不同之處在於 ECB 不提供密文的真實性或完整性(如果多個明文塊無論如何都被加密)。此外,如果相同的明文塊被加密,ECB 模式會洩露資訊。另一方面,SIV 模式使用整個輸入計算 IV。即使只有一點點明文不同,整個密文也無法與從以前的明文創建的密文區分開來。
例如,如果您將一大組未編碼為完全隨機數據塊的密鑰包裝起來,這很重要。以 RSA 私有 CRT 密鑰為例,它由許多數字組成。通常這些是編碼的,包括公共模數。同一個塊很可能只包含一個私有值的字節。如果你有很多這樣的塊,那麼你會發現重複的,洩露有關 RSA 私鑰的資訊。僅使用 ECB 或 CBC(使用零值 IV)包裝 RSA 密鑰等可怕的做法非常普遍。