这是关于密码学笔记的第二篇专栏文章。本文中我们介绍了历史上一些著名的密码系统:恺撒密码、简单替换密码和Enigma,以及两种密码破译方法:暴力破解和字母频率分析。此外,我们还对密码算法与密钥的关系进行了思考。
跟诸位大牛相比,笔者阅历尚浅、经验不足,笔记中若有错误,还需继续修正与增删。欢迎大家的批评与指正。
查看上一篇请点击以下链接:【密码学笔记】第1部分 密码学基础知识
文章目录
1. 历史上著名的密码
1.1 恺撒密码
1.2 简单替换密码
1.3 Enigma
2. 破译密码的方法
2.1 暴力破解
2.2 频率分析
3. 密码算法与密钥的关系
参考书目
1. 历史上著名的密码
1.1 恺撒密码
恺撒密码是通过将明文中所使用的字母表按照一定的字数“平移”来进行加密的。
密码算法:将明文中的各个字母按照指定的字母数平移
密钥:平移的字母数量
破译方法:暴力破解
1.2 简单替换密码
简单替换密码是将明文中所使用的字母表替换为另一套字母表的密码。(如将字母表中的26个字母分别与这26个字母本身建立一对一的对应关系)
密码算法:按照替换表对字母表进行替换
密钥:替换表
破译方法:频率分析
1.3 Enigma
(1) 加密过程
(2) 解密过程
每日密码不是用来加密消息的,而是用来加密通信密码的。也就是说,每日密码是一种用来加密密钥的密钥,这样的密钥一般称为密钥加密密钥(Key Encrypting Key, KEK)。
a. 通信密码的加密
密码算法:使用Enigma密码机,通过接线板的接线方式、3个转子的顺序、每个转子的旋转位置对字母进行替换
密钥(每日密码):接线板的接线方式、3个转子的顺序、每个转子的旋转位置
b. 通信电文的加密
密码算法:使用接线板的接线方式和3个转子的顺序固定的Enigma密码机,按照每个转子的旋转位置对字母进行替换
密钥(通信密码):每个转子的旋转位置
2. 破译密码的方法
2.1 暴力破解
暴力破解就是将所有可能的密钥全部尝试一遍。由于这种方法的本质是从所有的密钥中找出正确的密钥,因此又称为穷举搜索。
2.2 频率分析
频率分析利用了明文中的字母的出现频率与密文中的字母的出现频率一致这一特性。
3. 密码算法与密钥的关系
思考这样一个问题:为什么要将密码算法和密钥分开?
密码算法是需要重复使用的,但在重复使用同一种算法的过程中,该算法被破译的可能性也在逐渐增大。因此,就在密码算法中准备了一些可变部分,并在每次通信时都对这部分内容进行改变,而这一可变部分就是密钥。
总之,将密码算法和密钥分开考虑,就解决了希望重复使用,但重复使用会增加风险这个难题。
每个人都可以拥有相同品牌的锁,但每个人都有不同的钥匙。
参考书目
[1] 《图解密码技术》(第3版),[日]结城浩著,周自恒译,人民邮电出版社,2014年。
衷心感谢您的阅读。
查看下一篇请点击以下链接:【密码学笔记】第3部分 对称密码