Playfair密码(普莱费尔密码)
解密步骤:
(1)编制密码表 :它依据一个5*5的正方形组成的密码表来编写,密码表里排列有25个字母(一般I j共用)。密钥是一个单词或词组,若有重复字母,可将后面重复的字母去掉。如果秘钥字母超过25个,可以去掉使用频率最少的一个。如,法语一般去掉w或k,德语则是把i和j合起来当成一个字母看待。英语中z使用最少,可以去掉它。
(2) 整理密文: 我们要遵循的原则是“两个一组”,得到是若干个两两成对的字母段,对于末尾的单个字母要加上一个“x”使之成对。
(3)编写明文:
1、若c1 c2在同一行,对应明文p1 p2分别是紧靠c1 c2 左端的字母。其中最后一列被看做是第一列的左方。
2、若c1 c2在同一列,对应明文p1 p2分别是紧靠c1 c2 上方的字母。其中最后一行被看做是第一行的上方。
3、若c1 c2不在同一行,不在同一列,则p1 p2是由c1 c2确定的矩形的其他两角的字母。
例如:秘钥The quick brownfox jumps over the lazy dog
密文为:ihxo{smzdodcikmodcismzd} 得I h 对应ct x o对应f x
T i o m a
h c w p z
e k n s y
q b f v d
u r x l g
得I h 对应ct x o对应f x 以此类推
最终得 : ctfx{}