当前位置:网站首页>密码学基础以及完整加密通讯过程解析
密码学基础以及完整加密通讯过程解析
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过程保障了密码体系中的完整性、真实性、不可否认性
至此,完整的传输过程结束。
边栏推荐
- 生成器版和查看器版有什么区别?
- P1449 后缀表达式
- 最小化安装debian11
- 伴随着元宇宙、web3.0等概念的兴起,数字人、数字场景等诸多数字化的形态开始出现
- CAS: 178744-28-0, mPEG-DSPE, DSPE-mPEG, methoxy-polyethylene glycol-phosphatidylethanolamine supply
- 设置工作模式与环境(下):探查和收集信息
- BMN: Boundary-Matching Network for Temporal Action Proposal Generation阅读笔记
- .NET6之MiniAPI(十四):跨域CORS(上)
- What is Adobe?
- [2022强网杯] polydiv和gamemaster
猜你喜欢
Live Preview | Build Business Intelligence, Quickly Embrace Financial Digital Transformation
LabVIEW code generation error 61056
云平台建设解决方案
数据分析知识点搜集(纯粹的搜集)
牛客2022 暑期多校3 H Hacker(SAM + 线段树查询区间内部最大子段和)
2019年10月SQL注入的两倍
node连接mysql数据库报错:Client does not support authentication protocol requested by server
override learning (parent and child)
"Digital Economy Panorama White Paper" Financial Digital User Chapter released!
V8中的快慢数组(附源码、图文更易理解)
随机推荐
Canvas App中点击图标生成PDF并保存到Dataverse中
P1996 约瑟夫问题
Boss: There are too many systems in the company, can you realize account interoperability?
Storage engine written by golang, based on b+ tree, mmap
Diazo Biotin-PEG3-DBCO | Diazo Compound Modified Biotin-Tripolyethylene Glycol-Dibenzocyclooctyne
[MySQL Advanced] Creation and Management of Databases and Tables
2022-08-03 oracle执行慢SQL-Q17对比
pikachu Over permission
Republish the lab report
关于IDO预售系统开发技术讲解丨浅谈IDO预售合约系统开发原理分析
Click the icon in Canvas App to generate PDF and save it to Dataverse
win10系统下yolov5-V6.1版本的tensorrt部署细节教程及bug修改
What is memoization and what is it good for?
With 4 years of work experience, the 5 communication methods between multi-threads can't be said, can you believe it?
Embedded Systems: Clocks
使用tf.image.resize() 和tf.image.resize_with_pad()调整图像大小
node连接mysql数据库报错:Client does not support authentication protocol requested by server
Scala基础【正则表达式、框架式开发原则】
Unity2021 releases WebGL fog effect disappearing problem
创建函数报错,提示DECLARE定义语法问题