首页 > 代码库 > 古典密码

古典密码

古典密码是对字母间相互代替或相互换位来进行加密。分代替密码和换位密码两种。

 

代替指将明文中的字符用其它字符代替,分单表代替和多表代替。代替方案称为秘钥。

单表代替密码的安全性不高,一个原因是一个明文字母只由一个密文字母代替。可以利用频率分析来破译。

多表代换密码,即构造多个密文字母表,在密钥的控制下用以一系列代换表依次对明文消息的字母序列进行代换。

Playfair密码,用密钥控制生成矩阵,然后每两个字符为单位进行代换。若相邻字符相同要插入一个特殊的字符隔开,若最终字符数为奇数也要填充一个特殊的字符。

特征是密文的字母数一定是偶数,任意两个同组的字母都不会相同。

 

换位是重新排列消息中的字符,分为列换位和周期换位。

列换位,将明文按固定长m分组,即每行m个字母,在密钥控制下按某一顺序交换列,最后按列优先的顺序依次读出,即产生了密文。

周期换位,很大程度上同列换位,只不过加、解密时,在列交换后是按行优先的顺序向下进行。

 

古典密码