彼利菲密碼
此條目沒有列出任何參考或來源。 (2020年6月25日) |
彼利菲密碼(英語:Playfair cipher)是一種對稱式密碼,是首種雙字母取代的加密法。
![](http://upload.wikimedia.org/wikipedia/commons/thumb/3/30/Charles_Wheatstone_-_Project_Gutenberg_etext_13103.jpg/220px-Charles_Wheatstone_-_Project_Gutenberg_etext_13103.jpg)
歷史
編輯關於彼利菲密碼最早的紀錄出現在一份1854年3月26日由查爾斯·惠斯通簽署的文件。惠斯通的朋友彼利菲勛爵普及了這個加密法。最初英國外交部拒絕使用這種密碼,認為它太複雜。當惠斯通證明鄰近學校的四個男孩中,有三個可以在15分鐘內學會這種方法,外交部副秘書長的回應是:「這是有可能的,可惜你不能教曉那些高層人員。」
在第二次布爾戰爭和第一次世界大戰,英軍用了它;在二戰,澳大利亞人也用了。彼利菲密碼所用的工具很少,而且很快便能加密訊息。它主要用來加密重要而又不關鍵的訊息。當時,敵軍的密碼分析員很快解出密碼,可惜得到的訊息都不重要。現時,彼利菲密碼被視為十分不安全的。
1914年,Joseph O. Mauborgne刊出了19頁解密法。
用法
編輯- 選取一個英文字作密鑰。除去重覆出現的字母。將密鑰的字母逐個逐個加入5×5的矩陣內,剩下的空間將未加入的英文字母依a-z的順序加入。(將Q去除,或將I和J視作同一字。)
- 將要加密的訊息分成兩個一組。若組內的字母相同,將X(或Q)插入兩字母之間,重新分組(例如 HELLO 將分成 HE LX LO)。若剩下一個字,也加入X字。
- 在每組中,找出兩個字母在矩陣中的地方。
- 若兩個字母不在同一直行或同一橫列,在矩陣中找出另外兩個字母,使這四個字母成為一個長方形的四個角。
- 若兩個字母在同一橫行,取這兩個字母右方的字母(若字母在最右方則取最左方的字母)。
- 若兩個字母在同一直列,取這兩個字母下方的字母(若字母在最下方則取最上方的字母)。
新找到的兩個字母就是原本的兩個字母加密的結果。
例子
編輯取「playfair example」為密鑰,得
P L A Y F I R E X M B C D G H K N O Q S T U V W Z
要加密的訊息為「Hide the gold in the tree stump」:
HI DE TH EG OL DI NT HE TR EX ES TU MP
就會得到「BM OD ZB XD NA BE KU DM UI XM MO UV IF」。