普莱费尔密码

普莱费尔密码(英语:Playfair cipher)是一种对称式密码,是首种双字母取代的加密法

发明人惠斯登

历史

关于普莱费尔密码最早的纪录出现在一份1854年3月26日由查尔斯·惠斯登签署的文件。惠斯登的朋友普莱费尔勋爵普及了这个加密法。最初英国外交部拒绝使用这种密码,认为它太复杂。当惠斯登证明邻近学校的四个男孩中,有三个可以在15分钟内学会这种方法,外交部副秘书长的回应是:“这是有可能的,可惜你不能教晓那些高层人员。”

在第二次布尔战争第一次世界大战,英军用了它;在二战澳大利亚人也用了。普莱费尔密码所用的工具很少,而且很快便能加密讯息。它主要用来加密重要而又不关键的讯息。当时,敌军的密码分析员很快解出密码,可惜得到的讯息都不重要。现时,普莱费尔密码被视为十分不安全的。

1914年,Joseph O. Mauborgne刊出了19页解密法。

 
普莱费尔勋爵

用法

  1. 选取一个英文字作密钥。除去重复出现的字母。将密钥的字母逐个逐个加入5×5的矩阵内,剩下的空间将未加入的英文字母依a-z的顺序加入。(将Q去除,或将I和J视作同一字。)
  2. 将要加密的讯息分成两个一组。若组内的字母相同,将X(或Q)插入两字母之间,重新分组(例如 HELLO 将分成 HE LX LO)。若剩下一个字,也加入X字。
  3. 在每组中,找出两个字母在矩阵中的地方。
  • 若两个字母不在同一直行或同一横列,在矩阵中找出另外两个字母,使这四个字母成为一个长方形的四个角。
  • 若两个字母在同一横行,取这两个字母右方的字母(若字母在最右方则取最左方的字母)。
  • 若两个字母在同一直列,取这两个字母下方的字母(若字母在最下方则取最上方的字母)。

新找到的两个字母就是原本的两个字母加密的结果。

例子

取“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”。