编程语言   发布时间:2022-06-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ssl工作原理和常见加密方式大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

SSL(Secure Sockets Layer)安全套接层协议࿰c;目的是保证数据传输的安全和完整。TLS(Transport Layer Security)传输层安全是SSL的非专有版本。SSL位于应用层和传输层之间。处理的对象是数据流࿰c;加密算法是RC4。

工作流程图解:

ssl工作原理和常见加密方式

原理: (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工作原理和常见加密方式

数字证书(CA证书)工作原理

ssl工作原理和常见加密方式

将上面的信息总结起来࿰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工作原理和常见加密方式

常见的加密算法:

对称加密算法: 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;密钥为d࿰c;则使得ed=1mod(p-1)(q-1)成立࿰c;得出d为私钥。 例如:p=5࿰c;q=3࿰c;e=7࿰c;则7d=1mod8࿰c;d=7。

常见摘要算法:

1.SHA-1:基于md5的安全HASH算法࿰c;使用一个标准把信息分为512比特的分组࿰c;并且创建一个160比特的摘要。 2.md5:把信息分为512比特的分组࿰c;并且创建一个128比特的摘要。

大佬总结

以上是大佬教程为你收集整理的ssl工作原理和常见加密方式全部内容,希望文章能够帮你解决ssl工作原理和常见加密方式所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。