密碼學/置換密碼
外觀
< 密碼學
在古典密碼學中,置換密碼是一種換位密碼,其金鑰為一個排列。
要應用密碼,需要生成一個大小為 e 的隨機排列(e 值越大,密碼越安全)。然後將明文分成大小為 e 的段,並根據金鑰對該段內的字母進行排列。
理論上,任何換位密碼都可以看作一個置換密碼,其中 e 等於明文的長度。然而,這種過於籠統的概括在實際應用中難以使用。
由於密碼不會改變任何字元,因此密文的字母頻率與底層明文完全相同。這意味著在許多情況下,可以透過密文的字母統計資料與底層語言的字母頻率高度相似來識別該密碼為換位密碼。
(將本節移動到 "密碼學/破解置換密碼" ?)
由於密碼對大小為 e 的塊進行操作,因此明文和密文必須具有長度為e的倍數。這導致系統出現兩個弱點:首先,明文可能需要填充(如果填充是可識別的,則金鑰的一部分將被洩露);其次,密文的長度會洩露與金鑰長度相關的資訊。為此,請注意,如果密文的長度為 i,則 e 必須是 i 的除數之一。對於不同的可能的金鑰大小,嘗試不同的可能的排列,以找到導致底層語言的明文中出現最多的頻繁雙字母組和三字母組的排列。嘗試找到這種排列本質上與分析列式換位密碼時遇到的問題相同:多個字母重排.