代替密码:代替密码是指先建立一个替换表,加密时将需要加密的明文依次通过查表,替换为相应的字符。明文字符被逐个替换后,生成无任何意义的字符串,即密文。代替密码的密钥就是其替换表。
根据密码算法加密时使用替换表多少的不同,代替密码又可分为单表代替密码和多表代替密码。
单表代替密码
定义:密码算法加解密时使用一个固定的替换表
移位密码
即把26个字母与整数0,1,2,3......一一对应
使用密钥的单表代替密码
仿射密码
单表代替密码特点
1. 密钥量很小,不能抵抗穷尽搜索攻击
2. 没有将明文字母出现的概率掩藏起来,很容易受到统计分析的攻击
多表代替密码
定义:密码算法加解密时使用多个替换表
普莱费尔密码(Playfair Cipher)
假设密钥为playfair is a digram cipher,可得字母矩阵为:
Playfair密码的特点
1. 虽然仅有26个字母,但有26*26=676种双字母组合。因此识别各种双字母组合要困难得多
2. 各个字母组的频率要比单字母呈现出大得多的范围,使得频率分析困难得多
3. 仍然使许多明文语言的结构保存完好,使得密码分析者能够利用
维吉尼亚密码(Vigenere Cipher)
举例:
希尔密码(Hill Cipher)
举例:
Hill密码特点
1. 可以较好地抑制自然语言的统计特性,不再有单字母替换的一一对应关系,对抗“惟密文攻击”有较高安全强度。
2. 密钥空间较大,在忽略密钥矩阵k可逆限制条件下,|k|=26^(n*n)
3. 易受已知明文攻击及选择明文攻击