编程语言
发布时间:2022-06-27 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ssl工作原理和常见加密方式,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
SSL(Secure Sockets Layer)安全套接层协议c;目的是保证数据传输的安全和完整。TLS(Transport Layer Security)传输层安全是SSL的非专有版本。SSL位于应用层和传输层之间。处理的对象是数据流c;加密算法是RC4。
工作流程图解:
![ssl工作原理和常见加密方式 ssl工作原理和常见加密方式](http://code.js-code.com/res/2022/06-27/01/328ac244ef7ca51b0950fa1b2bcf2bc7.jpg)
原理:
(1)浏览器向服务器发送请求信息(包含协商SSL版本号、询问选择何种对称密钥算法)
c;开始新会话连接。 (2)服务器返回浏览器请求信息
c;附加生成主密钥所需的信息
c;确定SSL版本号和对称密钥算法
c;发送服务器证书(包含了RSA公钥)
c;并使用某CA中心私钥加密。 (3)浏览器对照自己的可信CA表判断服务器证书是否在可信CA表中。如果不在
c;则通信中止:如果在
c;则使用CA表中对应的公钥解密
c;得到服务器的公钥。 (4)浏览器随机产生一个对称密钥
c;使用服务器公钥加密并发送给服务器。 (5)浏览器和服务器相互发一个报文
c;确定使用此对称密钥加密;再相互发一个报文
c;确定浏览器端和服务器端握手过程完成。 (6)握手完成
c;双方使用该对称密钥对发送的报文加密。
数字签名对比信息完整性
![ssl工作原理和常见加密方式 ssl工作原理和常见加密方式](http://code.js-code.com/res/2022/06-27/01/62ee91a088605740119212d7352f937b.jpg)
数字证书(CA证书)工作原理
![ssl工作原理和常见加密方式 ssl工作原理和常见加密方式](http://code.js-code.com/res/2022/06-27/01/985f46ff494ea4c441555d215cafafd2.jpg)
将上面的信息总结起来
c;简述ssl的工作原理就是: 1.客户端在浏览器输入一个
https的网址
c;然后连接服务端的443端口
c;向服务端发送SSL协议版本号、加密算法种类、随机数等信息; 2.服务端给客户端返回给SSL协议版本号、加密算法种类、随机数等信息
c;并将准备好的数字证书(公钥)发送给客户端; 3.客户端的TLS会验证公钥是否有效
c;比如颁发机构
c;过期时间等等
c;如果发现异常
c;则会弹出一个警告框
c;提示证书存在问题; 如果证书
没有问题
c;那么hash摘要就生成一个随机值
c;然后用证书对该随机值进行加密
c;生成数字签名
c;即为客户端的公钥
c;如上图所示
c;一起发送给服务端; 4.服务端用自己的私钥解密后
c;利用数字签名验证数据完整性
c;得到客户端的公钥
c;然后把内容进行对称加密(和客户端协商后选择的加密方式)
c;发送给客户端; 5.客户端收到服务端的信息后
c;用自己的私钥解密
c;获取到解密后的内容产生该加密方式的随机码
c;即为二者后面联系的密钥
c;使用服务端证书获得的公钥进行加密
c;发送给服务端; 6.服务端收到客户端的信息后
c;用自己的私钥解密
c;获得对称加密的密钥
c;后面联系均用此密钥进行对称加密。
![ssl工作原理和常见加密方式 ssl工作原理和常见加密方式](http://code.js-code.com/res/2022/06-27/01/0b687ad1dfaa9a7ffa6af87e89f07b73.jpg)
常见的加密算法:
对称加密算法: 1.DES:明文分为64位一组c;密钥64位。 2.3DES:DES的扩展c;执行三次DES。 3.RC5:三组可变参数(分组大小、密钥长度、加密轮数)的分组密码算法。 4.IDEA:明文、密文均为64位c;密钥长度位128位。 5.RC4:密钥长度可变c;用于SSL。 非对称加密算法: RSA:素数分解加密。 选出质数p、q(p!=q)c;n=pq,公钥为(n,e)c;密钥为dc;则使得ed=1mod(p-1)(q-1)成立c;得出d为私钥。 例如:p=5c;q=3c;e=7c;则7d=1mod8c;d=7。
常见摘要算法:
1.SHA-1:基于md5的安全HASH算法c;使用一个标准把信息分为512比特的分组c;并且创建一个160比特的摘要。 2.md5:把信息分为512比特的分组c;并且创建一个128比特的摘要。
大佬总结
以上是大佬教程为你收集整理的ssl工作原理和常见加密方式全部内容,希望文章能够帮你解决ssl工作原理和常见加密方式所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。