Substitution-Cipher
單表替換密碼能否實現完全保密?
單表替換密碼能否實現完全保密?
完全保密的定義:
$$ {\rm Pr}[,{\rm Enc}_k(m_1) = c,] = {\rm Pr}[,{\rm Enc}_k(m_2) = c,] $$
既然這是作業,讓我給你一個提示:考慮兩個字元的消息 $ m_1 = \text{“aa”} $ 和 $ m_2 = \text{“ab”} $ .
給定一個密文 $ c $ 用單字母替換密碼加密,你能分辨出哪個 $ m_1 $ 或者 $ m_2 $ 它對應,即使不知道關鍵?為什麼不)?這對完全保密意味著什麼?
附言。我上面給出的提示假設密碼不是諧音,即每個字元的加密是確定性的,並且與它的位置或消息中其他字元的存在無關。對於(可能)諧音單字母密碼,從另一端開始論證可能更簡單:如果您截取密文 $ c = \text{“xx”} $ ,你對明文有什麼看法?
我仍在學習各種密碼和加密,但這些是我對此事的想法。
單字母替換密碼失敗是因為它容易進行頻率分析,即消息中最常見的字元可能是“e”的機率非常高(“e”是句子中最常見的字母的統計數據)。因此,要使單字母替換密碼不受頻率分析攻擊的影響,您可能應該避免使用單個字母一次。
因此,如果您只使用英文字母(a、b、c、d、e…z),那麼您幾乎只能使用最多 26 條長度的消息,因此您只能使用每個字元一次。
這只是對英文字母強制執行 OTP 或 Vernam 密碼的一種方式,即因為在這種安排中,我已經強制消息中的字母加密獨立於單詞中的其他字母,強制執行完全保密。