Encryption

如果無法進行 CPA 且不可區分性不是問題,那麼 AES-CBC 的零 IV 是否安全?

  • April 22, 2018

如果選擇明文攻擊 (CPA)是不可能的並且密文不可區分性不是問題,那麼使用零 IV 是否AES-CBC安全?

實際例子:

Alice 運營一項線上服務,將使用者數據儲存在基於雲的數據庫中。Alice 擔心有人盜用數據庫的可能性,因此希望加密某些數據以確保在這種情況下無法恢復。

Alice 主要關心那些本身就是敏感的數據,例如那些辨識個人的數據,或者是諸如 CC 號碼之類的令牌。

例子是:

  • 社會安全號碼
  • 居住地址
  • 電話號碼
  • 信用卡號碼

Alice 知道選擇明文攻擊是一個問題,因此使用每個使用者的密鑰來防止攻擊者使用已知明文載入數據庫。

然而,Alice 認為密文不可區分性不是問題,因為知道兩個密文相等通常不會導致知道實際的明文。


Alice 是否可以安全地假設數據受益於這種加密並且不受密碼學的影響?(即批發數據洩露。)

我能想到的一個問題是:

  • 如果使用者的電話號碼和信用卡號碼恰好相同,則攻擊者可以從加密數據庫中獲取此資訊。然後他們只需要獲得前者即可獲得後者。
  • 如果使用者地址的前 16 個字節在某種程度上與他們的社會安全號碼相同,那麼攻擊者可以再次從加密數據庫中確定這一點。

還有其他問題嗎?

此外,使用AES-CBC這種方式是否比使用更安全AES-ECB

此外,以這種方式使用 AES-CBC 是否比使用 AES-ECB 更安全?

是的,使用 CBC 模式(幾乎?)總是比使用 ECB 模式更安全。

使用 AES-CBC 安全的零 IV

$$ … $$?

不,這不安全,因為如果您重新使用具有該構造的密鑰,您將在塊粒度上洩漏消息之間的公共前綴。也就是說,如果您使用 CBC 使用相同的 IV 和密鑰加密了三條消息 $ m=A\parallel B\parallel C\parallel G $ 和 $ m’=A\parallel B\parallel D\parallel G $ 和 $ m’’=A\parallel E\parallel F $ , 和 $ A,B,C,D,E,F,G $ 作為 16 字節的塊,你可以說 $ m’’,m’ $ 和 $ m $ 共享第一個區塊,你可以告訴 $ m’ $ 和 $ m $ 共享前兩個塊,當然你實際上並沒有直接了解這些共享塊的價值。

請注意,更改每條消息的密鑰或 IV 都可以解決上述問題。

還有更多現代模式(經過身份驗證),它們只會在 (IV,Key) 重用時洩漏消息的相等性:這就是我正在尋找的。有哪些模式?

這些模式稱為抗隨機誤用認證加密模式(nmrAE)。對此的兩個標準建議是AES-SIVAES-GCM-SIVAES-PMAC-SIV,如果您對每條消息使用不同的 (IV,Key) 對,它們都將提供標準的身份驗證加密安全性,並且都提供 (一些)安全性,如果這樣的一對被重複使用,當然它們也提供身份驗證,並且僅在重複使用時洩漏底層消息的相等性。

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