Symmetric
關於多個不同消息的加密問題
當我研究對稱加密時,很容易理解以下內容:在存在竊聽者的情況下,只需使用 PRG $ G(k) $ 並且對多條消息進行異或不會以與單條消息類似的方式提供不可區分性。
但是對於多個不同的消息會發生什麼?將一個簡單的PRG $ G(k) $ 提供不可區分性?
我知道有關於可以使用合成 IV 等的確定性 CPA 安全方案的討論。但是我們真的需要走那麼遠嗎?
有什麼區別?不同的消息使(鍵,消息)對已經不同了?這是否取決於我們如何定義不可區分性?
謝謝!
它也不起作用。有幾個反例:
讓 $ x=G(k) $ 成為密鑰流,我知道您想用它來加密多條消息
1 $ m_1=0^l $ 和 $ m_2=r \in{0,1}^l $ , 一旦你加密 $ m_1 $ , 密文 $ m_1\oplus x = x $ 正是密鑰流,可用於解密 $ m_2\oplus x\oplus x=m_2 $ . 筆記 $ m_1 $ 和 $ m_2 $ 是不同的。
2 讓 $ m \in {0,1}^{l-1} $ , $ m_1=m||0 $ , $ m_2=m||1 $ , $ m_3 =r \in{0,1}^l $ ,然後給定密文 $ m_1 $ ,在 CPA 遊戲中,對手很容易區分 $ m_2 $ 和 $ m_3 $ . 所有 3 條消息都是不同的。
主要問題是 distinct 意味著消息不相等,但在它們的分佈上僅此而已。因此,保證密文的不可區分性是不夠的。
當你使用一個足夠長的隨機字元串 iv 時,iv 被用作輸入 $ G $ (好吧,我有點濫用語法),所以你有 $ G(k,iv) $ 每個 iv 產生一個不同且獨立的密鑰流。