转https://www.cnblogs.com/WittPeng/p/8978737.html
古典密码体制
1.置换密码
1.列置换密码
- 加密过程:(1)明文按照固定宽度m按行写出,不足部分按照双方约定方式填充,得到字符矩阵;
(2)进行置换操作;
(3)读出后即为密文
- 解密过程:将加密密钥逆置,按照加密过程操作,即可由密文得到明文。
- 如密钥e=(143)(56) 意思是1->4,4->3,3->1,5->6,6->5
2.周期置换密码
- 明文按照固定长度m分组,对字符串编号,重新排列位置从而得到密文;解密时将加密密钥逆置得到解密密钥,重新排列位置后得到明文。
2.代换密码
- 代换密码就是将明文中的字符替换为其他字符的密码体制。
单表代换密码
- 基于密钥的代换密码,明文字母对应的密文字母在密文中保持不变
- 仿射密码:e(x)=ax+b(mod26) (a,b属于Z26,gcd(a,26)=1)
x=d(e(x))=a-1(e(x)-b)(mod26)
多表代换密码
- 明文中不同位置的同一明文字母在密文中对应的密文字母不同,能够很好地对抗统计密码分析
- 实例:
Playfair密码 |
加密步骤:a.在适当位置闯入一些特定字母,譬如q,使得明文字母串的长度为偶数,并且将明文字母串按两个字母一组进行分组,每组中的两个字母不同。 b.明文m1m2对应的密文c1c2的确定:m1和m2同行或同列,则c1为m1后的字符,c2为m2后的字符;若m1和m2既不同行也不同列,则c1c2在m1m2所确定的矩形的其他两个角上,c1和m1同行,c2和m2同行。 |
Vigenere(维吉尼亚密码) |
例:
|
Vernam(维尔姆密码) | |
Hill(希尔密码) |
|
- 转轮密码机
古典密码的分析——统计分析法
单表代换密码分析
- 使用字母或汉字的统计规律
多表代换密码分析
- 确定密钥长度:
- 卡西斯基(Kasisks)测试法:找相同字母间隔字母数的最大公因子,有可能是周期k
- 重合指数法:计算概率分析重合指数IC=Σpi2 ,IC高的可能是单表代换,低的可能是多表代换。
- 确定密钥:拟重合指数测试法:x=Σriqi
- 恢复明文并验证