Chosen-Plaintext-Attack

為什麼IND-CPA中的消息必須具有相同的長度

  • July 20, 2017

我了解 IND-CPA 的一般概念,但是我不明白為什麼對手選擇的消息必須具有相同的長度。我猜想對於可變長度消息,總會存在成功的攻擊,因此 CPA 安全性將不存在。任何人都可以指導我了解這種攻擊的樣子嗎?

這是這樣一個區分器的概述;如果您送出一字節的明文,則生成的密文長度將遵循某種機率分佈(對於許多密碼,它將是一個固定長度;我們將考慮更一般的機率情況);對於這個機率分佈,我們會有一些 $ N $ 其中長度小於的機率 $ N $ 是 $ \ge 0.75 $ .

所以,我們送出兩個明文;一個由 1 個字節組成,另一個由 $ N+1 $ 隨機字節。如果密文對應於短明文,則密文的長度為 $ < N $ 有機率 $ > 0.75 $ ; 如果密文包含長明文,則密文的長度為 $ < N $ 最多有機率 $ \frac{1}{256} $ (可用鴿籠原理表示);因此只看密文的長度就可以作為區分符。

顯然,繞過這種方法的一種方法是將所有加密消息填充到固定長度(並且在明文上具有任意長度)。但是,這種事情在實踐中是昂貴的;明文長度的洩漏通常被認為是可以接受的。

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