本文是《图解密码技术》阅读的总结性文章。
1.1 历史上的密码
现代的密码通常用于计算机数据的加密,操作的是比特序列。但早在计算机诞生之前,加密技术就已经被使用了。历史上使用过的密码有这些:
- 凯撒密码:
- 算法:通过将字母按照字母表顺序进行平移的方式对文本进行加密;反平移解密
- 密钥:平移的位数
- 缺点:可以通过暴力破解破译
- 简单替换密码:
- 算法:通过一对一的字母替换表,将字母进行替换;反替换解密
- 密钥:26!
- 特点:明文中字母的出现频率与密文中的字母的出现频率一致
- 缺点:由于密钥空间很大,很难暴力破解。但可以通过频率分析的方式破译
- Enigma
- 背景:由德国人Arthur Sherbius在20世纪初发明的机器,德语里为“谜”的意思
- 加密:1. 使用每日密码设置Enigma 2. 加密通信密码,记下对应的密文 3. 根据通信密码重新设置Enigma 4. 加密消息,记下对应的密文 5. 拼接
- 解密:1. 分解密文 2. 使用每日密码设置Enigma 3. 解密通信密码 4.使用通信密码重新设置Enigma 5. 解密消息
- 特点:Enigma的设计不依赖于隐蔽式安全性(security by obscurity),即使拿到Enigma密码机(密码算法),只要不知道Enigma的设置(密钥)就无法破解。
- 缺点:通信密码连续输入两次并加密;通信密码人为选定ÿ