Terminology

“語義安全”的定義和含義

  • September 18, 2019

我正在學習 Coursera 密碼學課程。語義安全的定義很難理解。我試圖通過一些細微的變化來重申它(“高效”這個詞在最初的定義中)。我做對了嗎?

對手選擇兩條消息: $ m_0, m_1 $ . 我們加密以下消息之一: $ c \leftarrow E(k, m_b) $ . 對手必須猜測哪條消息被加密了。

有兩個事件: $ M_b = { \ \text{adversary $A$ decides that $m_b$ is ciphered} \ } $ .

$ E $ 如果對於所有“高效”的對手,在語義上是安全的 $ A $ 優勢 $ \operatorname{Adv}[A, E] = \big| \ \Pr(M_0) \ - \ \Pr(M_1) \ \big| $ 可以忽略不計。

這意味著對手無法分辨這兩條消息中的哪一條被加密了。

如果可以呢?這個定義在實踐中意味著什麼?

更新:在原始定義中(在圖表上給出並且沒有明確說明)有兩個實驗的概念, $ exp(b)=1 $ 當對手決定 $ m_b $ 被加密。事件是: $ M_b = { \ \text{$exp(b) = 1$} \ } $ . 我不明白這部分定義。

如果可以呢?這個定義在實踐中意味著什麼?

考慮 $ M_0= $ 攻擊和 $ M_1= $ 不要攻擊。如果對手能夠區分您向您的部隊發送的資訊,他們就可以優化他們的策略來擊敗您。

另一個例子。假設你正在投是( $ 1 $ ) 不 ( $ 0 $ ) 投票支持一項擬議的立法。如果對手可以區分是票和否票,他們可能會拋出選舉(通過丟棄不符合他們意願的選票)或根據您的選票迫害您。

這基本上意味著“在合理時間內執行的對手可以(或不能)將一條消息與另一條加密後的消息區分開來”。如果我們不關心這一點,那麼完全使用密碼學就沒有意義了。mikeazo 舉了幾個很好的例子,說明這很重要。

此外,這裡是現代密碼學簡介p中給出的加密方案安全性的定義。21:

如果沒有對手可以從密文中計算出明文的任何函式,則加密方案是安全的。

不如 HAC 作為參考,但足夠好。

我知道問題是關於區分兩條消息,而我的引述集中在一條消息上,但由於對手比較 $ m_0 $ 到 $ m_1 $ 為了得出一些結論,我認為這是至少一個明文的函式。

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