Stream-Cipher

常見(安全)流密碼 CCA1 安全嗎?

  • March 28, 2017

我的最新問題,尤其是Ricky Demer 對答案的評論讓我思考:RSA 的這種同態轉換很可能是 IND-CPA,甚至可能是 IND-CCA1,但如果可能是 IND-CCA1,那麼理論上可能是流密碼. 如果您考慮將RSA-KEM與未經身份驗證的流密碼配對,這將特別有趣。實際上,這很可能還意味著 XOR 同態 IND-CCA1 密碼系統的簡單標準構造。這也意味著具有部分同態的後量子安全 IND-CCA1 方案:作為 KEM 的McEliece與流密碼(基本上是McBits減去身份驗證)配對。

所以問題自然會隨之而來:

常見的(完整的)流密碼 CCA1 安全嗎?

或者,如果 CCA1 安全性不是問題,則制定不同的方式:流密碼是否可以抵禦非自適應選擇密文攻擊?

對於“通用”流密碼,我主要指的是 CTR 模式下的安全分組密碼和諸如 ChaCha20 和 Salsa20/20 之類的密碼。

讓我們考慮使用分組密碼的隨機 IV的 CTR 模式加密(本質上與流密碼相同,但由於流密碼安全性的形式化尚未完全標準化,因此更易於分析)。一方面,它似乎應該是 CCA1 安全的,因為攻擊者無法在 CCA1 查詢中做任何事來提供幫助。具體來說,假設 IV 是隨機選擇的,那麼解密查詢使用該 IV 的機會可以忽略不計。

當然,以上還不夠,因為需要證明從 CCA1 安全性到 CPA 安全性的降低。我認為這是可以證明的,但如果沒有寫出完整的證明,我不確定,我會把它留給你。我的工作方式如下:

  1. 如果收到加密查詢,則使用 CPA oracle
  2. 如果收到解密查詢,則: 如果查詢使用先前從加密查詢中收到的 IV,則很容易計算消息(您知道明文/密文,因此您知道“pad”);如果查詢不使用先前從加密查詢中收到的 IV,則返回一個隨機值。
  3. 在 CCA1 階段之後,CPA 對手只是轉發所有內容不變。

如果稍後的加密查詢(或挑戰密文)偶然具有與先前解密相同的 IV,則 CPA 對手的模擬失敗。然而,這種情況發生的機率微乎其微。

所以,總的來說,我認為這個證明會起作用,所以是的,這樣的方案是 CCA1 安全的。

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