Playfair算法。
Playfair算法是根据密钥构成的5×5字母矩阵,将明文中的双字母作为一个单元,将其转换为密文的双字母。
1.构成转换矩阵。
首先删除重复字母的密钥(字母i和j视为同一字母),然后从左到右填写。如果密钥是successful,则删除重复字母后的有效密钥是sucefl。
![对Playfair算法及其缺点进行分析。](imgs/2021/03/317-1.png)
从左到右,从上到下填写剩下的英文字母(I和j视为同一字母),在剩余空白的格子里。
![对Playfair算法及其缺点进行分析。](imgs/2021/03/317-2.png)
2.加密算法。
在加密过程中,每次从明文中提出两个字母,如图所示具体的加密算法。
![对Playfair算法及其缺点进行分析。](imgs/2021/03/317-3.png)
3.缺乏Playfair算法。
虽然Playfair算法被认为是相对安全的,但它仍然可以被破解,因为它的秘密文本完全保留了明文语言的大部分结构特征,并且有数百个字母的秘密文本可以分析一些规则,从而提供进一步破解的线索。使用Playfair算法进行加密的原因是,秘密文本在明文语言中保留了结构特征。由于许多原因,秘密文本完全保留了明文语言的大部分结构特征有三个主要因素:
(1)明文的读取是有序的读取,因此生成的秘密文本与明文本之间基本保持一对一的对应关系,直接暴露了明文本的结构特征。
(2)当一个密钥构成5×5字母矩阵时,密钥写在前面,其余的字母按顺序填写在后面。通过这种方式,后面的字母基本上保留了英文字母的顺序,因此破解者可以利用字母在密文中出现的频率来构建字母矩阵。一旦部分字母矩阵被构建,然后结合字母频率的统计数据,我们可以进一步从密文中挖掘出其他特征,密钥很可能会被猜测。
(3)i和j字符被认为是相同的字母。因为I出现在英语中的概率很高,所以在两个字母被视为相同的字母后,可以通过密文中的字母分析哪些字母与I/J行或列相同,从而为构建5×5字母矩阵提供了线索。