图解密码技术学习笔记
第1章 环游密码世界
1.对称密码和公钥密码
对称密码:指加密和解密时使用同一密钥的方式
公钥密码:指在加密和解密时使用不同密钥方式,又称非对称密码
2.其他密码技术
单向散列函数
消息认证码
数字签名
伪随机数生成器
3.隐写术
例:《--
我们先准备一段话
很容易看懂的就可以
喜闻乐见的当然更好
欢迎你尝试将另一句话嵌在这段话中
你会发现这其实就是一种隐写术
--》
隐写术的目的是隐藏消息本身
第2章 历史上的密码
1.凯撒密码
<1>定义:凯撒密码是通过将明文中所使用的字母表按照一定的字数平移来进行加密的
例:密钥是3,则a对应的就是D
<2>暴力破解
因为是平移变换,对于26个字母而言,只要平移26次便一定能找到密钥
2.简单的替换码
对于这种码,如果研究对象很多的话,通过一些常见的单词是可以推测出来的,具体的推测见课本
3.Enigma
第3章 对称密码
1.一次性密码本
随机的产出二进制比特来对已有的明文进行加密,因为随机性和比特的长度使得破解变得不可能
但是问题是产生的一次性密码本在传输的过程如何才能安全的到达并不能实现,这种情况只是将问题转移而并没有解决
2.DES
<1>定义:DES是一种将64比特的明文加密成64比特的密文的对称密码算法,它的密钥长度是56比特(规格上来说密钥长度是64比特,因为每隔7个比特会设置一个用于错误检测的比特)
<2>DES的结构(Feistel网络)
整个过程是进行若干次轮的循环,下图展示的是Feistel网络中一轮的计算流程,DES是一种16轮循环的Feistel网络
加密过程如上所示,解密只是其反过程
3.三重DES
三重DES是为了增加DES的强度,将DES重复3次所得到的一种密码算法通常缩写为3DES
4.Rijndael
第4章 分组密码的模式
1.分组密码的主要模式
ECB模式:电子密码本模式
CBC模式:密码分组链接模式
CFB模式:密文反馈模式
OFB模式:输出反馈模式
CTR模式:计数器模式
2.EBC模式
将明文分组加密之后的结果将直接成为密文分组
3.CBC模式
<1>定义
将前一个密文分组与当前明文分组的内容混合起来进行加密的
<2>加密与解密
加密如下图所示,解密时其反方向
<3>特点
明文分组在加密之前一定会与“前一个密文分组"进行XOR运算,因此即便明文分组1和2的值是相等的,密文分组1和2的值也不一定是相等的,这样一来,ECB模式的缺陷在CBC模式中就不存在了
第5章 公钥密码
1.密钥配送问题
如果所有参与加密通信的人都需要事先共享密钥。则密钥的数量会变得巨大,在这样的情况下,我们可以使用密钥分配中心来解决密钥配送问题,
如下,密钥分配中心会为每个员工生成一个新的密钥,并保存在数据库中
(1)Alice向密钥分配中心发出希望与Bob进行通信的请求
(2)密钥分配中心通过伪随机数生成器生成一个会话密钥,这个密钥是供Alice与Bob在本次通信中使用的临时密钥
(3)密钥分配中心从数据库中取出Alice的密钥和Bob的密钥
(4)密钥分配中心用Alice的密钥对会话密钥进行加密,并发送给Alice
(5)密钥分配中心用Bob的密钥对会话密钥进行加密,并发送给Bob
(6)Alice对来自密钥分配中心的会话密钥进行解密,得到会话密钥
(7)Alice用会话密钥对邮件进行加密,并将邮件发送给Bob
(8)Bob对来自密钥分配中心的会话密钥进行解密,得到会话密钥
(9)Bob用会话密钥对来自Alice的密文进行解密
(10)Alice和Bob删除会话密钥
2.RSA算法
密文=明文^E mod N (RSA加密)
明文=密文^D mod N (RSA解密)
具体求解见课本
第6章 混合密码系统
混合密码系统的组成机制 :
(1)用对称密码加密消息
(2)通过伪随机数生成器生成对称密码加密中使用的会话密钥
(3)用公钥密码加密会话密钥
(4)从混合密码系统外部赋予公钥密码加密时使用的密钥