问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

密码学基础:对称密码、公钥密码与混合密码系统详解

创作时间:
作者:
@小白创作中心

密码学基础:对称密码、公钥密码与混合密码系统详解

引用
CSDN
1.
https://blog.csdn.net/sunrj_niu/article/details/137133142

密码学是信息安全领域的基石,涉及对称密码、公钥密码和混合密码系统等多种加密技术。本文将详细介绍这些密码学基础概念,帮助读者全面理解各种加密算法的原理、优缺点及应用场景。

加解密说明

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.会话密钥是对称密码的密钥,同时也是公钥的明文

说明:

明文->使用对称密码加密
会话密钥->加密对称密码
接收者公钥->加密会话密钥
最终得到了三部分的加密包,发给接收者

其中会话密钥是使用伪随机函数产生了,这样每一次会话都会产生一个随机数,避免被破解

混合密码解密过程

解密过程:

使用接收者的私钥,先接触会话密钥,
再使用会话密钥解出对称密码,
根据对称密码最终解出明文
必须经过这三步

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号