One-Time-Pad

簡單地說,“完美保密”是什麼意思?

  • January 3, 2018

我想要求對“完全保密”一詞的含義進行明確(但可能不是那麼深入)的解釋。

據我研究和理解,它與假設某個變數將成為某個密文的密鑰的機率有關。除非我混淆了某些概念,否則一次性密本是唯一已知具有完全保密性的密碼,因為再多的資源也不足以破解它。

我的機率概念有點弱,這就是為什麼我不理解大多數談到它的文件。

完全保密(或資訊論安全)意味著密文不傳達有關明文內容的資訊。實際上,這意味著,無論您擁有多少密文,它都不會傳達有關明文和密鑰是什麼的任何資訊。可以證明,任何這樣的方案都必須使用至少與要加密的明文一樣多的密鑰材料。就機率而言,這意味著可能的明文的機率分佈與密文無關。

我們將此與語義安全進行對比,我通過引用 Goldwasser&Micali 1984 年的開創性論文來定義語義安全:

給定密文的任何關於明文的有效計算,在沒有密文的情況下也可以有效計算。

對於兩個例子,我引用這個相關問題的回答:

如果使用得當,一次性密碼本 (OTP)資訊論安全的,這意味著它不會被密碼分析破解。但是,可證明安全的部分原因是您需要與明文加密一樣多的密鑰材料。這樣的密鑰需要在兩個通信者之間共享,這基本上意味著您必須通過完全安全的協議(例如通過人工/受信任的信使)將其提供給其他人。因此,實際上它只是允許您提前進行您的信任會議,而不是在傳輸秘密資訊時。

為了說明這一點,考慮一下如果嘗試暴力破解 OTP 會發生什麼?由於您允許攻擊者無限的計算資源,他可以繼續猜測密鑰併計算適當的明文,直到每個密鑰都經過測試。假設消息是 $ b $ 有點長,這會讓他留下 $ 2^b $ 可能的密鑰,每個密鑰都會生成一個唯一的明文,使得 $ 2^b $ 明文。這裡重要的是,這意味著它們將具有與可能的長度比特串相對應的候選明文 $ b $ . 這意味著,即使您知道消息是“2:15 在體育場見我?”(?0、1、2 或 3),您仍然不知道它?是什麼,因為可能的明文會包含這個字元串,每個可能的值為?.

我們現在使用的大多數加密方法在計算上都是安全的。有很多不同的方法可以做到這一點,我將簡要介紹其中的一些。我們可能會想出一個簡化為推測為困難的問題(例如Diffie-Hellman 問題離散對數問題)。也就是說,我們證明“如果你能破解我的密碼,你就能解決

$$ hard-problem $$",這意味著我們的問題至少很難解決,因為$$ hard-problem $$. 因此,如果問題確實難以解決,那麼破解我們的加密也必須如此。

完美保密本質上意味著這些概念:

  1. $ P(M=m|C=c) = P(M=m) $ 即看到密文不會給你任何關於明文的額外資訊。看到消息的機率 $ m $ 觀察到密文後的機率與沒有密文的消息的機率相同。
  2. $ P(C=c|M=m_0) = P(C=c|M=m_1) $ 即密文的機率 $ c $ 2 條不同消息的可能性相同。
  3. 密鑰與消息一樣長,並且密鑰應該以一定的機率唯一使用 $ 1/|K| $ 在哪裡 $ |K| $ 是關鍵空間。

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