頻率分析在數學、物理學和信號處理中是一種分解函數、波形、或者信號的頻率組成,以獲取頻譜的方法。在密碼學中,頻率分析是指研究字母或者字母組合在文本中出現的頻率。應用頻率分析可以破解古典密碼。頻率分析的原理是基于書面語言中不同字母或字母組合出現的頻率各不相同,這種特性使得頻率分析成為破解密碼的有效工具。
歷史和應用
頻率分析的歷史可以追溯到9世紀,阿拉伯帝國博學家肯迪在《手稿上破譯加密消息》中首次解釋了頻率分析的概念。這種方法很快在文藝復興時期的歐洲國家流行起來。為了抵御頻率分析攻擊,密碼學家采取了多種措施,如諧音替換法、多字母替換加密和表格式替換加密。然而,這些方法增加了加密和解密的難度,有時會導致使用失誤。20世紀初,旋轉盤的使用(例如恩尼格瑪密碼機)基本上不會受到直接頻率分析攻擊,但其他種類的分析成功解譯了其中一些信息,如第二次世界大戰期間的Ultra計劃。頻率分析在第二次世界大戰期間被廣泛應用,英國與美國通過報紙上的字謎和密碼比賽來招募解碼專家。現在,頻率分析基本上全由電腦來完成,使得替換式密碼很容易就被破解。
簡單替換密碼
假設有一段使用簡單替換密碼加密的密文,通過分析密文中單字母、雙字母組合和三字母組合的出現頻率,可以對應到英文中的常見字母和字母組合,從而推測出密文與明文的對應關系。例如,如果密文中I出現得最頻繁,那么可以猜測I代表英文中出現頻率最高的字母E。通過這種方法,可以逐步解密出原文。然而,這種方法并不總是一次就能成功,可能需要通過回溯法來更正錯誤或進一步推測。此外,如果明文中沒有表現出預期的字母頻率分布,如漏字文,這會增加破解的難度。
小說中的頻率分析
阿瑟·道爾的《福爾摩斯歸來記》中的《跳舞的人》篇章和愛倫坡的《金甲蟲》都是文學作品中使用頻率分析破解密碼的例子。在《跳舞的人》中,夏洛克·福爾摩斯通過分析英語中字母E的高頻率,猜出了一幅畫中跳舞人代表的字為Never,從而破解了字謎。而《金甲蟲》中的密文則是通過頻率分析逐步解密,揭示了隱藏的信息。
參考資料 >