為什麼同音字不隱藏多字母模式?
我正在閱讀單字母密碼,這些密碼容易進行字母頻率分析。為了解決這個問題,我們可以提供多個替換,已知單個字母具有同音字,例如**e可以分配為 17、74、35、21。每個同音字可以輪流分配或隨機分配。
這是我感到困惑的地方:
即使使用同音字,明文的每個元素也只影響密文的一個元素,並且多字母模式(例如圖表頻率)仍然存在於密文中,使得密碼分析相對簡單。
多字母模式如何生存?例如,如果對於h我們有同音字 17、74、35、21 ,對於t我們有11、69、27、24,則th可以是11 17或11 74或11 35或69 21等。
對於初學者,每個字母都沒有 4 或 5 個程式碼。基本思想是,密文字母表中的每個符號都具有相同的頻率。大多數字母仍然只有 1 或 2 個符號,而更常見的字母將有 3 個或更多。
所以單個符號的頻率大致是均勻的。讓我們以 th 為例,這是英語中最常見的二元組(頻率只是範例,其他來源可能有不同的)
- $ t $ 有頻率 $ 0.0894 $
- $ h $ 有頻率 $ 0.0496 $
- $ th $ 有一個頻率 $ 0.0271 $
現在假設我們在密文中總共有 100 個符號,其中字母有 9 個符號 $ t $ 和 5 代表字母 $ h $ , 使得每個符號大致有頻率 $ 1/100 $ .
現在有 $ 9\cdot5 = 45 $ 可能的組合 $ th $ . 字母表中有 100 個符號,可能的二元組數為 $ 10000 $ 如果它是均勻的,頻率應該是0.0001。我們知道 $ th $ 有一個頻率 $ 0.0271 $ , 均勻分佈超過 45 個組合,我們得到頻率 $ 0.0271 / 45 \approx 0.0006 $ .
因此,即使我們的字母組合機率幾乎為 $ 1/100 $ 對於每個符號,然後那些 $ 45 $ 二元組 $ th $ 頻率大約是平均二元組的 6 倍。比較:會標 $ t $ 只有一個頻率,甚至不高於 2.5 倍 $ 1/26 \approx 0.0385 $ .