Indistinguishability

安全目標不可區分

  • September 23, 2022

我目前正在閱讀 Aumasson 寫的一本名為《Serious Cryptography》的書,以了解安全性。有一段談到名為不可區分的安全目標(見下文),在“安全目標”部分中寫道:

我已經非正式地將安全目標定義為“無法了解密碼的行為”。為了將這個想法轉化為嚴格的數學定義,密碼學家定義了兩個主要的安全目標,它們對應於學習密碼行為的不同想法:

  • **不可區分性 (IND)**密文應該與隨機字元串不可區分。這通常用這個假設的遊戲來說明:如果攻擊者選擇兩個明文,然後收到兩者之一的密文(隨機選擇),他們不應該知道哪個明文被加密,即使通過執行加密查詢兩個明文(和解密查詢,如果模型是 CCA 而不是 CPA)。
  • 不可延展性 (NM)

雖然我知道關鍵是要指出當隨機給定來自 2 個明文之一的密文時,指出哪個明文被加密是不可行的。

當攻擊者現在可以對段落中提到的給定明文執行加密/解密查詢時,我不知道它是如何不可行的。為什麼他們不能只加密兩個給定的明文,然後將它們與給定的密文進行比較?

我認為您缺少將隨機性作為加密應用程序的一部分的想法。不可能使用確定性加密方案創建 CPA-IND-order CCA-IND-security。只有通過添加隨機性,作為額外的臨時密鑰,這些安全級別才能被存檔。

這是一個非常簡單的方案(您可以在Katz & Lindell 的教科書(第 2 版)中找到它),它可以被證明是 CPA 安全的。 $ r $ 是所需的隨機性和 $ k $ 是標準密鑰。 $ F $ 是一個偽隨機函式(基於 $ r $ 和 $ k $ )

在此處輸入圖像描述

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