

Playfair的加密原则
每次以两个字母为一个单位进行操作。
(1) 如果这两个字母一样,则在中间插入一个字母x(事先约定的一个字母), 如“balloon” 变成 “ba lx lo on”。
(2) 如果明文长度不是2的倍数,则在最后填入一个实现约定的字母x。如“table”变为“ta bl ex”。
(3) 如果两个字母在矩阵的同一行,用它右边的字母来代替 (最后一个字母的右边是第1个字母), 如“ar” 加密变为 “RM”。
(4) 如果两个字母在同一列,用它下面的字母来代替它 (最底下的字母的下一个是该列第1个字母), 如“mu” 加密变为“CM”。
(5) 其他的字母都用它同一行,另一个字母的同一列相交的字母代替,如 “hs” 加密变为 “BP”, “ea” 变为 “IM” 或者 “JM” (由加密者自行决定)
例3.6 假设密钥是cipher,使用Playfair算法加密Playfair cipher was actually invented by wheatston
由密钥词cipher可构建密钥矩阵:
将明文按照两个字母分组为
pl ay fa ir ci ph er wa sa ct ua lx ly in ve nt ed by wh ea ts to nx
则密文为
BS DW RB CA IP HE CF IK QB HO QF SP MX EK ZC MU HF DX YI IF UT UQ LZ
Playfair密码的安全性
Playfair密码的安全性比单表代换密码提高了许多
双字母共有26 x 26 = 676 组合,因此频率统计分析表中需要676 条统计数据
Playfair 密码中比单表代换更好地隐藏了明文中单字母的结构
在第一次世界大战中被英军作为最好的密码系统使用,在第二次世界大战中也曾经被美军和盟军大量使用
当然现在看来,该密码的安全性是很低的,它还明文的部分特征,只要给定几百个字母的密文情况下,该加密方法就可以破解
| 各省软考办 | ||||||||||