https网络编程——SSL的加密和解密过程

参考:SSL的加密和解密过程
地址:https://qingmu.blog.csdn.net/article/details/108214105?spm=1001.2014.3001.5502

目录

    • 现在的加密/解密技术主要有三种:对称加密,非对称加密,和单向加密
    • 加密解密的流程图

现在的加密/解密技术主要有三种:对称加密,非对称加密,和单向加密

这三种加密解密技术的组合就是现在电子商务的基础,它们三个有各自最适合的领域,而且所要完成的功能也是不同的,大家都知道,只要我们连上互联网,那么我们就相当于大门洞开,我们的一些隐私,跟其他人对话内容等都有可能会被人窃听,最常见的比如man in the middle(中间人),它主要是因为双方身份无法验证的时候回话被劫持造成的,就是说通信双方都以为是在跟对方交流,其实内容都可能已经被这个“中间人”修改过,一些重要的信息也被这个“中间人”所获得,这对于现在的电子商务来说是致命的,所有我们必须找到一种解决方案来解决这个问题

对称加密:指的是加密方和解密方使用的是同一个密钥
优点:加密解密的速度很快
缺点:如果两个从未通信过的用户要进行通信的时候,该如何把解密的密钥传输给对方呢(密钥仍然要在网络上传输,所以密钥还是可能会被“中间人”截获),这是对称加密最大的缺点;
常见的对称加密算法有:
DES:使用56位的密钥,2000年的时候被人破解了,所以现在基本不再使用
AES:高级加密标准,可以使用128,129,256三种长度密钥
其他的还有blowfish,Twofish和RC6,IDEA(商业算法),CAST5等

非对称加密:非对称加密方式解决了对称加密的缺陷,它的加密和解密密钥是不同的,比如对一组数字加密,我们可以用公钥对其加密,然后我们想要将其还原,就必须用私钥进行解密,公钥和私钥是配对使用的,常见的非对称加密算法有:
RSA:既可以用来加密解密,又可以用来实现用户认证
DSA:只能用来加密解密,所以使用范围没有RSA广
非对称加密长度通常有512,1024,2048,4096位,最常用的就是2048位,长度固然可以增加安全性但是需要花费很长时间来进行加密/解密,和对称加密相比,加密/解密的时间差不多是对称加密的1000倍,所以我们通常用其作为用户认证,用对称加密来实现数据的加密/解密

单项加密:单向加密就是用来计算一段数据的特征码的,为了防止用户通过“暴力破解”的方式解密,所以单向加密一般具有“雪崩效应”就是说:只要被加密内容有一点点的不同,加密所得结果就会有很大的变化。单项加密还有一个特点就是无论被加密的内容多长/短,加密的结果(就是提取特征码)是定长的,用途:用于验证数据的完整性,常用的单项加密算法
MD5:这种加密算法固定长度为128位
SHA1:这种加密算法固定长度是160位

加密解密的流程图

在这里插入图片描述

私钥: 随机数+Key值+公钥

BOB和ALICE通信阶段:

黑框A:表示要传输的数据

黑框B:表示黑框A经过单向加密后的特征码,这段特征码同时运用了非对称加密,具体过程是用BOB的私钥加密,传输给ALICE,只要到达后ALICE能解密,表明对方确实是BOB。这一过程同时起到了用户认证和数据完整性的校验。黑框B又称为数字签名

红框A: 这一阶段会生成一段很长的随机数(密钥)然后配合对称加密算法对黑框A和黑框B加密

红框B:这一阶段是用ALICE的公钥加密这串随机数(对称加密阶段的密钥),ALICE接受到数据后如果能用自己私钥解密,那就证明接受者确实ALICE

加密过程:
第一步:用单向加密算法提取数据(黑框A)的特征值
第二步:用自己的私钥加密这段特征值形成黑框B
第三步:用对称加密算法,对黑框A和黑框B来加密,得到红框A
第四步:用ALICE的公钥来加密第三步所用的密钥,得到红框B

解密过程:
第一步:ALICE用自己的私钥解密红框B得到对称加密的密钥
第二步:用这个密钥解密红框A内容
第三步:用BOB的公钥解密黑框B,如果能成功,说明发送方确实是BOB,这就完成了身份验证(解密后会得到一串数据的特征值)
第四步:用同样的单项加密算法来对这段数据提取特征值,如果和第三步的特征值一样,说明这段数据是完整的,这就完成了数据完整性的校验

进行完上述内容厉害的读者会发现一个问题就是BOB和ALICE如何获得对方的公钥,或者说如何证明获得的公钥就是对方,这就需要引入另一方证书颁发机构CA,下面是对证书颁发机构跟BOB/ALICE之间的解释

黑框C:代表要颁发给BOB/ALICE的公钥,组织,地址等信息

黑框D:是对黑框C进行单向加密后得到的数字签名,然后用自己的公钥对其加密,传输给BOB和ALICE,拿着这个证书颁发机构的公钥(这些证书颁发机构的公钥一般已经被microsoft事先放在windows里面,当然其他操作系统也是一样的)的BOB和ALICE如果能对这个证书进行解密,说明这个证书颁发机构不是冒充的

红框E:表示颁发给BOB和ALICE的证书

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jQuery安装和语法

jQuery是一个JavaScript函数库&#xff0c;可实现HTML元素选取及操作、CSS 操作、HTML事件函数、JavaScript特效和动画、HTML DOM遍历和修改、AJAX等功能。 在html中引用jQuery&#xff0c;需要在head部分通过script并指定src引入 <script src"jquery路径及文件名"…

IIS网站的权限设置问题

2019独角兽企业重金招聘Python工程师标准>>> IIS中的权限与NTFS权限设置的区别&#xff1a; 当浏览器访问被IIS禁止的页面时&#xff0c;返回404错误页面 但浏览器访问被NTFS禁止的文件时&#xff0c;提示用户登录界面 转载于:https://my.oschina.net/changeme/blog…

关于.Net2.0下配置架构的使用

上次用到配置文件,就花了一些时间研究了一下.Net2.0下的配置文件架构,当时感觉确实很强大,完善,但看的有些头晕.迷迷糊糊把实现了要求,就没有再深入研究.最近,想在配置文件里实现一个复杂的配置,多层次嵌套的配置文件,再把.Net中的配置文档研究了一下&#xff0c;经过这两次的研…

https网络编程——openssl中后缀名文件说明以及常用的证书协议

参考&#xff1a;openssl中后缀名文件说明 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/108215177?spm1001.2014.3001.5502 参考&#xff1a;Openssl常用的证书协议有哪些&#xff1f; 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/1082…

idea使用教程

https://www.jianshu.com/p/9c65b7613c30转载于:https://www.cnblogs.com/tnt-33/p/10333267.html

pgbench

参考: http://www.postgres.cn/docs/10/pgbench.html pgbench是pg自带的一个性能测试工具 你也能利用它做性能测试以外的事情 -- 创建测试库 create database pgbench;-- 使用pgbench命令, 初始化测试表 pgbench -i -U zhangtianxiao -p 6001 -d pgbench-- 使用默认表, 默认sq…

煲仔

湖南的煲仔似乎在我毕业工作的那年侵占了大街小巷&#xff0c;满街的煲仔店向外热滋滋的喷着香味&#xff0c;便宜又好味。那几年在外的觅食&#xff0c;除了常德津市牛肉米饭外&#xff0c;煲仔似乎是我唯一的选择。将米放入煲内&#xff0c;加水在火上煮至半熟&#xff0c;再…

https网络编程——中继(负载均衡)工作原理

参考&#xff1a;中继&#xff08;负载均衡&#xff09;工作原理 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/108217055?spm1001.2014.3001.5502 中继&#xff08;负载均衡&#xff09;工作原理 在我们当前社会&#xff0c;比如我们上某宝&#xff0c;某…

2014第18周六

刚睡觉起来&#xff0c;下午将近六点左右回来感觉有点困&#xff0c;就睡了一会儿直到现在刚起来感觉整个人还是很困。今天陪朋友和他妈妈一起去西湖玩了下&#xff0c;转的真有点累。五一假期就这样过完了&#xff0c;没看什么有意义的电视和书籍&#xff0c;也没有去据说很热…

全套支付宝系统架构(内部架构图)【收藏】

据说这是对支付宝系统体系最全最强解析&#xff0c;推荐收藏学习&#xff01; 转载于:https://www.cnblogs.com/SH-xuliang/p/10340745.html

iOS学习之iOS沙盒(sandbox)机制和文件操作之NSFileManager

2019独角兽企业重金招聘Python工程师标准>>> 1、在Documents里创建目录 创建一个叫test的目录,先找到Documents的目录&#xff0c; [cpp] view plain copy NSArray *paths NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); …

触发器与约束的适用条件

触发器是一种特殊类型的存储过程&#xff0c;当对数据库进行UPDATE,DELETE或INSERT时,触发器会生效.触发器可以查询其它表&#xff0c;而且可以包含复杂的 SQL 语句。 创建触发器语法&#xff1a;CREATE TRIGGER trigger_nameON { table | view }[ WITH ENCRYPTION ]{{ { FOR |…

https网络编程——使用openssl库自建根证书

参考&#xff1a;如何自建根证书&#xff1f;使用openssl库自建根证书带图详解 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/108217572?spm1001.2014.3001.5502 目录根证书的普通用途自建根证书步骤1、创建一个目录&#xff0c;存放所有证书有关资料2、进入…

angular接口传参

1、service文件 创建xxx.service.ts文件 import { Injectable, Inject } from angular/core;import { Observable } from rxjs;import { map } from rxjs/operators;import { HttpClient } from angular/common/http;Injectable({ providedIn: root})export class ErrorCond…

lvm-snapshot:基于LVM快照的备份

续 lvm-snapshot&#xff1a;基于LVM快照的备份之准备工作Attention,Please! 重头戏开始啦3.基于LVM快照的备份lvm-snapshot&#xff1a;基于LVM快照的备份(1)事务日志跟数据文件必须在同一个卷上&#xff1b;(2)创建快照卷之前&#xff0c;要请求MySQL的全局锁&#xff1b;在快…

美玉待琢——《一本写满评论的艾泽拉斯收藏指南》

http://bbs.ngacn.com/read.php?tid701056&fpage1 转载于:https://www.cnblogs.com/Evanescence/archive/2006/10/11/526396.html

https网络编程——如何建立利用根证书(凭证)签发建立中继证书(凭证)详解

参考&#xff1a;如何建立利用根证书&#xff08;凭证&#xff09;签发建立中继证书&#xff08;凭证&#xff09;详解 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/108221568?spm1001.2014.3001.5502 目录在建立中继之前需要自建根证书建立根证书的具体步…

NURBS曲线与曲面

B样条方法在表示与设计自由型曲线曲面形状时显示了强大的威力&#xff0c;然而在表示与设计初等曲线曲面时时却遇到了麻烦。因为B样条曲线包括其特例的Bezier曲线都不能精确表示出抛物线外的二次曲线&#xff0c;B样条曲面包括其特例的Bezier曲面都不能精确表示出抛物面外的二次…

IPTV网络电视

IPTV即交互式网络电视&#xff0c;是一种利用宽带网的基础设施&#xff0c;以计算机&#xff08;PC&#xff09;或“普通电视机&#xff0b;网络机顶盒&#xff08;TV&#xff0b;IPSTB&#xff09;”为主要终端设备&#xff0c;向用户提供视频点播、Internet访问、电子邮件、游…

https网络编程——如何利用中继证书(凭证)建立服务器证书

参考&#xff1a;如何利用中继证书&#xff08;凭证&#xff09;建立服务器证书 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/108225569?spm1001.2014.3001.5502 目录建立服务器证书的前提是要建立中继证书建立服务器证书的具体步骤1、建立一个目录&#x…