当前位置:网站首页>密码学基础以及完整加密通讯过程解析
密码学基础以及完整加密通讯过程解析
2022-08-03 22:58:00 【灰奇同学】
密码学基础以及完整加密通讯过程解析
前言
密码学是研究如何隐密地传递信息的学科。
密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。
密码体系繁琐复杂,针对刚刚接触到密码学的同学,期望通过一篇文章能够理解到密码学体系内的基本概念以及完整的加密通讯过程。
一、密码学相关基本概念
密码体系的四大特性(目标)
- 保密性:保证数据不被泄露给非授权的实体。
- 完整性:保证数据没有受到非授权的篡改或破坏。
- 真实性:保证信息来源的可靠、没有被伪造和篡改。
- 不可否认性:也称抗抵赖性,指对一个已发生行为的无法否认性。
密码学相关基本概念名词解释
- 明文:是指没有加密的文字(或者字符串);
- 密文:通过算法以及密钥进行加密后的文字(或者字符串),密文没有实际意义,解密后获得明文;
- 算法:可以理解为密码体系中的锁,亦可可理解为公式(规则),循柯克霍夫原则(下图出至于CISSP教材,侵删),目前大多数密码算法是公开但相对安全的,;
- 密钥:密码体系中的钥匙,算法+密钥才能得到明文/密文。
二、对称加密
使用同一个密钥进行加解密过程。
优点
运算速度快缺点
密钥数量大,每对通信者间都需要一个不同的密钥,N个人通信需要N*(N-1)/2个密钥
如何安全的分发共享密钥是难点
无法实现身份认证典型算法
国际对称算法:DES、3DES、 AES等
国内对称算法:SM1(国密)、SM4 (国密)、 SM7(国密) 、ZUC(国密)
三、非对称加密
非对称加密分为公钥与私钥。可使用公钥加密、私钥解密,亦可使用私钥加密、公钥解密(数字签名,保障真实性、不可否认性)。
优点
密钥分发简单,N人通信需要2N个密钥。缺点
加解密速度远低于对称密钥算法
加密后的数据大小比原文大很多,效率低
不适合大量数据的加解密典型算法
国际非对称算法:RSA密码算法、ECC算法
国内非对称算法:SM2(国密)
四、杂凑算法
- 杂凑算法:对任意长度的消息进行压缩,输出定长的信息摘要或杂凑值
特性。对任何长度的信息进行哈希后,结果都是一个固定长度的数据摘要,如128 bits或160 bits。
原始信息中任何一个字节的改变,都会导致摘要后的结果发生变化不可逆。为一个给定的输出,找出能映射到该输出的一个输入,在计算上是不可行的 - 作用:用于鉴别原始信息是否被篡改
- 常用算法
国际杂凑算法:MD5、SHA-1
国内杂凑算法:SM3(国密)
五、完整加密通讯过程
信息发送方A在传输中的动作
- 1.使用对称算法加密明文,得到密钥(明文)以及密文;
- 2.使用杂凑算法,得到摘要值并且使用A的私钥加密,得到数字签名;
- 3.使用B的公钥加密1过程中得到的密钥(密文);
信息接收方B在传输中的动作
- 4.B使用B的私钥解密3过程得到的的密钥(密文),得到密钥(明文);
- 5.使用4过程得到的密钥(明文)解密密文;
- 6.使用A的公钥解密数字签名,再使用杂凑算法计算所得明文摘要确定两份摘要是否一致;
1.3.4.5过程保障了密码体系中的保密性
2.6过程保障了密码体系中的完整性、真实性、不可否认性
至此,完整的传输过程结束。
边栏推荐
- 获国际权威认可 | 云扩科技入选《RPA全球市场格局报告,Q3 2022》
- The development status of cloud computing at home and abroad
- What is the difference between the generator version and the viewer version?
- [2022强网杯] polydiv和gamemaster
- 剑指offer第22题-链表中倒数第K个节点
- PowerMockup 4.3.4::::Crack
- Storage engine written by golang, based on b+ tree, mmap
- 【bug】汇总Elipse项目中代码中文乱码解决方法!
- Websocket multi-threaded sending message error TEXT_PARTIAL_WRITING--Use case of spin lock replacing synchronized exclusive lock
- utils 定时器
猜你喜欢
Software testing is seriously involution, how to improve your competitiveness?
Network basic learning series four (network layer, data link layer and some other important protocols or technologies)
亿流量大考(2):开发一套高容错分布式系统
静态文件快速建站
complete binary tree problem
The salary of soft testers at each stage, come to Kangkang, how much can you get?
Recognized by International Authorities | Yunzhuang Technology was selected in "RPA Global Market Pattern Report, Q3 2022"
2022-08-02 mysql/stonedb慢SQL-Q18-内存使用暴涨分析
Pytest学习-setup/teardown
Live Preview | Build Business Intelligence, Quickly Embrace Financial Digital Transformation
随机推荐
Diazo Biotin-PEG3-DBCO | Diazo Compound Modified Biotin-Tripolyethylene Glycol-Dibenzocyclooctyne
Conditional Statements for Shell Programming
The sword refers to the offer question 22 - the Kth node from the bottom in the linked list
举一个 web worker 的例子
MCS-51单片机,定时1分钟,汇编程序
Testng监听器
Embedded systems: overview
rosbridge-WSL2 && carla-win11
Software testing is seriously involution, how to improve your competitiveness?
Canvas App中点击图标生成PDF并保存到Dataverse中
工作小计 QT打包
2022-08-03 oracle执行慢SQL-Q17对比
[RYU] rest_router.py source code analysis
关于IDO预售系统开发技术讲解丨浅谈IDO预售合约系统开发原理分析
Websocket multi-threaded sending message error TEXT_PARTIAL_WRITING--Use case of spin lock replacing synchronized exclusive lock
What is Adobe?
HCIP BGP实验报告
Network basic learning series four (network layer, data link layer and some other important protocols or technologies)
log4j-slf4j-impl cannot be present with log4j-to-slf4j
BMN: Boundary-Matching Network for Temporal Action Proposal Generation Reading Notes