Perfect-Secrecy

證明 Vigenere 密碼並非完全秘密

  • March 28, 2017

作為家庭作業的一部分,我必須證明/證明具有長度為 n 的密鑰、均勻分佈在字母表中、長度為 2n 的純文字(也均勻分佈在字母表中)的 Vigenère 密碼是完全秘密的。

到目前為止,我們看到的關於完全保密的唯一定理使用熵:如果純文字和密文在統計上是獨立的(H(PlainText) = H(PlainText | Ciphertext)),則加密是完全保密的。計算 H(PlainText) 非常簡單,因為文本均勻分佈在 26 個元素的字母表上。

但是我不知道如何計算給定密文的純文字的條件熵來證明這兩者不相等(我知道這種加密不是完全保密的,主要是因為密鑰的長度為 n而不是 2n)。

解決這個問題的方法是什麼?

給定密文和第一個 $ n $ 明文的字元,可以唯一確定明文的剩餘部分。因此,對於每個密文,只有 $ k^n $ 可能的明文(其中 $ k = 26 $ 是字母的大小)。

特別是,這意味著如果您沒有明文的先驗知識,那麼每個 $ k^{2n} $ 可能的明文同樣可能是先驗的,則:

$$ {\rm H}(\text{plaintext}) = 2n \log k \ne n \log k = {\rm H}(\text{plaintext} \mid \text{ciphertext}). $$ 對於您的任務,您可能希望使用貝氏定理條件熵的定義明確地解決這個問題。這也將允許您得出非均勻先驗的更一般的結果,並表明熵僅對於一些非常特殊的先驗明文分佈(特別是明文的後半部分始終是維吉尼亞加密的那些)是相等的前半部分使用一些固定鍵)。但是,要反駁維吉尼亞密碼的完美保密性,你真正需要的是證明它對某些人來說並不是完全保密的先前的明文分佈(例如統一分佈),您所需要的只是統一分佈的熵的公式,並觀察到統一分佈對其支持的某些子集的限制仍然是統一的,只是選擇較少。

或者,也許更簡單,您可以只考慮您已經預先知道明文是“AAA…AAA”或“AAA…AAB”的情況,並證明這種情況下的先驗熵是 1位(假設這些明文中的每一個都是先驗的),而條件明文分佈的熵為 0 位(因為比較密文的兩半足以唯一地確定明文)。

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