密码学基础-对称密码/公钥密码
- 加解密说明
- 1.加密解密必要因素
- 加密安全性说明
- 什么是对称密码
- 图示说明
- 对称密码详解
- 什么是DES?
- 举例说明
- 什么是3DES
- 什么是AES?
- 公钥密码
- 什么是RSA?
- 对称密钥和公钥密码优缺点对比
- 对称密码
- 对称密码算法总结
- 对称密码存在的问题?
- 公钥密码
- 公钥密码存在的问题:
- 混合密码系统
- 混合密码加密过程
- 混合密码解密过程
加解密说明
1.加密解密必要因素
1)一个加密/解密的过程,必须包含以下基本因素:
- 明文文件+加密算法+加密密钥=密文文件
- 密文文件+加密算法的逆运算+加密密钥=明文文件
2)依据密钥的使用方法,可以将密码分为两种:
- 对称密码:相同的密钥加解密,别称‘共享密钥密码
- 公钥密码:不同的密钥加解密,别称‘非对称密码’
- 混合密码系统,就是将这两种算法的优点提取出来,形成的一个密码算法。
说明:不管对称密码,还是公钥密钥,这两种算法都存在自己的优缺点,
加密安全性说明
1.完整性
为了确保数据包在传输过程中没有被恶意修改,可通过单向散列函数机制来实现完整性检查。
2.认证
基于消息认证码,能够实现认证 认数据包为真实的对等体设备所发送的数据包
3.数字签名
防止抵赖,通过签名证实确实是该设备发送的数据包
什么是对称密码
图示说明
对称密钥即使用相同的密钥
进行加密和解密
对称密码详解
需要掌握的“对称密码’有以下几种
- DES
- 3DES
- AES
什么是DES?
1.DES是数据加密标准,IBM开发于1975年
2.将数据包划分为等长的64比特,从而进行加密的对称密码算法
1)块大小为64比特
2)密钥长度为64比特,实际长度为56比特,8位为校验位(奇偶校验位,用来校验密钥完整性的)
3.DES由于密钥长度原因已不再安全,因为密码长度太短,通过遍历就可以试出密码,以下是之前的一些破解的案例:
1)在1997年,96天破解密钥 明文
2)在1998年,41天破解密钥(98年第一次) 128比
3)在1998年,56小时破解密钥(98年第二次) 特
4)在1999年,22小时破解密钥
那么现在的话,破解是分钟级别的
4.DES仅作为系统学习的知识点,不再使用该算法进行加解密
举例说明
如图所示,假如一个数据包是128比特,那么DES加密时,会将数据包划分为等长的64比特进行加密,密钥长度为64比特,实际长度为56比特,8位为校验位,最后得到密文128比特
什么是3DES
1.基于DES密钥长度导致的安全问题,IBM在1999年创建了3DES
2.3DES密钥长度放大3倍,为 168bit (56*3)
3.说明
1)当3DES中加解密密钥全部相同,则3DES=DES,3DES兼容DES
-密钥长度为64比特,实际密钥长度为56比特
2)当3DES中有两把密钥不同,3DES=DES-EDE2
-密钥长度为128比特,实际密钥长度为112比特
3) 只有3DES中三把密钥全部不同时,3DES=3DES
4.3DES由于处理速度不高,较少用于新的用途
如图所示,3DES会做三个加密,每一次的密钥都不一样:加密、解密、加密,分别使用不同密钥,但是效率不高
什么是AES?
1.高级加密标准。NIST于2002年研发
2.将数据包划分为等长的128比特,从而进行加密的对称密码算法
- 1)块大小为128比特
- 2)密钥长度有三种:128、192、256比特
3.AES安全,快速,是现在主流的密码算法
说明:
密钥长度有三种:128、192、256比特,密钥长度越长,安全性越强,资源浪费越多
公钥密码
1.不同的密钥进行加密和解密
1)私钥
2)公钥
2.使用公钥/私钥加密,就必须使用私钥/公钥解密
3.需要掌握的“公钥密码’有以下几种:
1)DH
2) RSA
如图所示:
公钥密钥:会产生一对密钥
- 使用公钥加密,谁都可以拿到
- 私钥解密,保留在本地
用公钥加密数据包,只能用私钥解密
什么是RSA?
1.公共密钥加密系统,1979年由Rivest,Shamir,Adelman三人开发
2.支持密钥长度为1024、2048位甚至更长
3.如图,解释了为何RSA被称为“公共密钥加密系统”
对称密钥和公钥密码优缺点对比
对称密码
对称密码算法总结
- 优点:加解密速度极快
- 缺点:需要解决密钥共享问题!
对称密码存在的问题?
- 1.我们如何安全的将密钥传递给对方?
- 2.如果有绝对安全的传递方法,还需要加密吗?如果有绝对安全的方法,那使用安全的方法加密数据是不是就可以了,也不需要对称密码了。。。。
公钥密码
- 优点:解决了密钥共享的问题
- 缺点:处理速度远低于对称密码,这意味着公钥密码对大型文件的处理效率较低
公钥密码存在的问题:
- 如何证明你的“公钥”就是你的‘公钥’?(中间人攻击)
混合密码系统
混合密码加密过程
1.如图,为混合密码系统加密过程
2.中间的虚线将方框分成左右两个部分:
1)右边使用对称密码加密明文信息
2)左边使用接收者公钥加密会话密钥
会话密钥由伪随机数临时产生,用于加密对称密码
3)最后组合,就成了输出的密文
3.会话密钥是对称密码的密钥,同时也是公钥的明文
说明:
明文->使用对称密码加密
会话密钥->加密对称密码
接收者公钥->加密会话密钥
最终得到了三部分的加密包,发给接收者
其中会话密钥是使用伪随机函数产生了,这样每一次会话都会产生一个随机数,避免被破解
混合密码解密过程
解密过程:
使用接收者的私钥,先接触会话密钥,
再使用会话密钥解出对称密码,
根据对称密码最终解出明文
必须经过这三步