古典密码
古典密码学
置换密码
是古典密码的一种最基本的处理技术。改变明文中各字符的相对位置,但明文字符本身的取值不变。
工作原理
将明文按一定长度进行分组,把每组的字符按位置变换规则重排位置
密码分析
密钥:就是置换 Π
密钥空间大小:n!
单表代换密码
是古典密码的另一种最基本的处理技术。改变明文中各字符的取值,但明文字符的出现位置不变。
工作原理
- 建立一张或多张代换表(明文字符到密文字符的映射关系)
- 加密时将明文字符依次通过查表,找到相应的密文字符
- 明文字符被逐个替换,生成无任何语义的字符串,即密文
密码分析
密钥:代换密码的代换表
凯撒密码
工作原理
明文字母代换为字母表中其后第三个字母
密码分析
没有密钥,不安全
移位密码
工作原理
加密:明文字母代换为字母表中其后第k个字母
解密:密文字母代换为字母表中其前第k个字母
密码分析
密钥:k
密钥空间大小:26
密钥空间很小,不安全
简单代换密码
工作原理
使用一张固定的代换表,对应关系不一定有规律
密码分析
密钥空间:26!= 4 * 10^26
但不安全,可以通过词频分析破解
词频分析最早记录于9世纪阿尔金迪的革命性著作《关于破译加密信息的手稿》
为了应对词频分析开发出了以下密码
命名密码
工作原理
不仅对字母进行代换,还对常用单词进行代换。
即根据密码表,首先对明文中出现的常用单词进行代换,余下的字母再逐个代换
同音密码
多表代换密码
维吉尼亚密码
每一行都是移位密码。实际上就是26个移位密码的代换表。具体使用哪一行,是基于密钥进行的。
所以密钥始终对应行。加密过程即为密钥行和明文列对应表格中的字母为密文。解密过程即为密钥行中密文字母对应的列坐标。
密钥空间
密钥空间与密钥长度n有关
维吉尼亚密码的分析
kasiski测试法
维吉尼亚密码的特点
- 用给定的n个移位代换表周期性地对明文字母加密
- 用两个相同的明文段落间隔的字母数为n或n的整数倍时,将加密成相同的密文段落
- 假设密文中出现两个相同的段落,对应的明文段落不一定相同,但相同的可能性很大
步骤
- 找到长度至少为3的相同段落的明文
- 计算距离(计算第一个字母位置的差,如图中为17-2=15)
- 找到各个距离的最大公因数。即为最有可能的密钥长度
重合指数法
其中Ic(x)就称作重合指数
根据统计学得到,如果x是有意义的英语文本串,那么其重合指数为0.065
假设我们通过重合指数法已经推理到了密钥长度n
将密文分割成n行
每一行的重合指数就应该是0.065(最后一行可能因为字母不够导致误差偏大)
转轮机密码
略
总结
• 即使用唯密文攻击,大多数古典密码体制都容易攻破,因为它们不能很好地隐藏明文的统计特征。
• 虽然有些古典密码至今未被破译,但并不表示古典密码的设计理念是科学的。
• 事实上,古典密码时期的设计者,往往凭借经验和直觉设计密码,这显然是不靠谱的。
只有采用科学的理念,才能设计出安全的密码体制。

浙公网安备 33010602011771号