Provable-Security

對抗性不可區分性實驗的動機

  • October 8, 2018

我對 Katz 和 Lindell 的密碼學書中提供的這個定義背後的動機有疑問。我複制了有問題的段落以及實驗的定義。

完美的(對抗性的)不可區分性。我們通過提出另一個完全保密的等效定義來結束本節。這個定義是基於一個實驗,對手被動地觀察密文,然後試圖猜測兩個可能的消息中的哪一個被加密。

來自 Katz 和 Lindell 第 2 章

在文本中,這應該是一個實驗,對手被動地觀察密文然後試圖猜測。我的問題是,在這個遊戲中,對手似乎選擇了這兩條消息。這不只是一個竊聽的對手,而是一個可以選擇要加密的消息的對手?我嘗試閱讀更多關於此的內容,但我找不到任何有關此特定定義背後的動機的資訊。

與其讓對手選擇兩條消息,為什麼不考慮來自消息空間的任意兩條任意消息,將其中一條的加密連同兩條消息一起發送給對手呢?更正式地說:

$$ \forall (m_0, m_1) \in M^2,; [m_0, m_1, E(m_0)] \approx_c [m_0, m_1, E(m_1)] $$

這樣,攻擊者就沒有選擇加密的內容了,這似乎更符合原始定義。

預先感謝您的幫助。

我的問題是,在這個遊戲中,對手似乎選擇了這兩條消息。這不只是一個竊聽的對手,而是一個可以選擇要加密的消息的對手?

是的,對手可以選擇兩個明文。有幾種方法可以考慮為什麼這是合適的。

假設攻擊者俱有先驗的部分資訊(想像一個加密的協議會話,我們知道所有協議都以“hello”消息開頭,如 SMTP)甚至部分控制(想像一個您在其中鍵入使用者名和網站響應消息“你好,<使用者名>”)關於什麼明文被加密。為了涵蓋這些現實情況,定義有必要允許對手影響明文的選擇。一旦你把它包含到你的定義中,你最終會收斂到標準的選擇明文攻擊樣式定義,因為它是最悲觀和概念上最簡單的方法。

如果安全定義不允許對手影響明文的選擇,那麼每次你使用加密方案時,你都必須想一想:我絕對確定沒有外部實體對我的內容有任何影響嗎?加密?標准定義為您保證可以或多或少地加密任何您想要的東西(有一些奇怪的邊緣情況,例如加密密鑰本身等)。

請注意,量化所有可能的 $ m_0, m_1 $ 相當於給對手選擇 $ m_0, m_1 $ . 這是因為對於每個 $ m_0, m_1 $ ,你可以考慮對手的唯一策略是選擇那些 $ m_0, m_1 $ .

讓遊戲本身選擇兩條消息 $ m_0,m_1 $ 不等價。這樣的定義不會排除“壞”明文的存在。考慮一個方案,它說:“加密 $ m $ , 如果 $ m $ 是全零然後洩露密鑰,否則做一個合理的事情。”這個方案在這個較弱的定義下是安全的(因為全零 $ m $ 很少見,假設消息空間足夠大),但不是標准定義。

支持“對手選擇”定義風格的一個原因是我們已經對所有對手進行了量化。我們不需要另一個量詞。

實際上在其他設置(例如,公鑰加密、多時間對手)中,“forall $ m_0, m_1 $ “風格實際上更強!我認為這與您的建議相反。想像一下公鑰包含 $ f(x) $ 在哪裡 $ f $ 是單向函式。加密方案說“如果 $ m=x $ 然後給出密鑰,否則表現正常。” 全面量化 $ m_0, m_1 $ 將包括量化 $ m_0 = x $ ,並且該方案將被視為不安全。但是沒有多時間對手實際上可以選擇 $ m_0 = x $ (這意味著反轉單向函式),因此修改後的方案等效於“對手選擇”樣式下的原始方案,因此它被認為是安全的。

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