1、棋盘密码
棋盘密码是把26个英文字母加密为2位整数实现加密。它的密钥是5×5的棋盘,把26个英文字母放置其中,其中i与j被置于相同方格中。因为“j”出现频率低,在明文中很少出现,它可用来替代而不影响文字的可读性。
2、移位密码
移位密码的加密对象是英文字母。移位密码向前移位key位明文消息的所有英文字母来完成加密。也就是说,移位密码对26个英文字母做到了循环移位。因共有26个字母,可在字母表与Z26={0,1,…,25}之间构建一一对应的映射关系,因此可在Z26中定义相应的加法运算来表示加密过程。
在移位密码中,当密钥key为3时,此时的移位密码叫凯撒密码。
3、仿射密码
仿射密码为移位密码的推广,它的加密过程不只含移位操作,还有乘法运算。与移位密码相同,仿射密码的明文空间M和密文空间C均为Z26,因此,在用仿射密码体制加密英文消息之前,得构建26个字母和Z26中元素的一一对应关系,然后才可以应用仿射密码体制实施相应加密与解密。
4、代换密码
移位密码可作为是向26个英文字母的简单置换,较移位密码稍复杂的仿射密码是向26个英文字母的较复杂的置换,所以可思考26个英文字母集合上的通常置换。因26个字母与Z26的元素间可构建一一对应关系,那么Z26上随意一个置换就与26个字母表上的一个置换对应。我们可利用Z26上的置换改变字母表中字符的本来位置,即用新字符替换明文消息中的本来字符,以达到加密明文消息的目的。Z26上的置换作为加密要的密钥,因此置换对应26个字母表上的一个置换,因此可把代换密码的加密与解密看成应用英文字母表置换的代换。
5、维吉尼亚密码
移位密码体制、仿射密码体制及更一般的代换密码体制,只要确定加密密钥,那么英文字母表中每个字母对应的数字均会被加密为唯一的密文,这种密码体制叫做单表代换密码。频率分析法破解单表代换密码非常到位,人们开始考虑多表代换密码,用多个密文字母代替同相同明文字母进行消除字符的特性,也就是一个明文字母能映射成多个密文字母。多表代换密码的一个基本范例——维吉尼亚密码。
6、置换密码
以上加密方式的共同点是把英文字母改成另一个表达形式进行加密。通过再变换消息中元素的位置但不使元素本身变化,对消息实施变换。此加密机制叫做置换密码。除代换密码外,置换密码是古典密码中的重要一类,其普遍应用在构造现代分组密码。和维吉尼亚密码相同,置换密码也有“分组”加密的思想。
7、Hill密码
置换密码的关键思想是“分组—置换”,置换方式太过简单使得安全性不高。为提升安全性,提出了Hill密码,它是一种多表代换密码。该算法留有置换密码的加密框架,不一样的地方是用线性变换对分组后的每个部分得到密文。即把明文消息按照步长m分组,对每组的m个明文字母由线性变换转为m个对应的密文字母,密钥由较简单的排列问题变为较复杂的m×m阶可逆矩阵。为了方便处理,在用Hill密码前,先把26个字母与数字1-26按顺序一一对应。