码迷,mamicode.com
首页 > 其他好文 > 详细

网络数据传输安全之公钥与私钥

时间:2018-03-30 23:08:11      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:加密算法 加密解密过程

数据在互联网上传输过程中存在三个隐患:
安全性:数据在传输过程中内容可能泄露。
完整性:数据在传输过程中可能被篡改。
身份认证:接受数据的一方很难确认发送者的身份。
针对这三种隐患科研人员设计了多种对数据加密的算法,著名的算法有如下几种:
单项加密法:此方法不可解密,很好的解决了数据的完整性,它的特点是不可逆性、结果的定长输出性(就是不管明文有多大密文的长度都是一样的)、雪崩效应(当明文有滴点改变,就会导致特征码的巨大改变)由于这些特点导致了它的致命缺点就是:数学中的碰撞效应(数学家根据规律推算出我可以输入不同的明文但是结果会和你加密后的结果是一样的)这就使得它的安全性不好。
对称加密法:
可以提高数据的安全性,一般用于对大数据量进行加密,它的特点是速度快,缺点是不能保证数据传输工程中特征码传输的安全性。
非对称加密法:
这种方法适合对数据量小的数据加密,可以保证数据传输的安全性,及身份认证问题,缺点是非常消耗资源占用CPU。

介于上述的种种问题成立了CA证书认证机构,所有人都要将自己的信息提交从而申请一个全球唯一标识自己身份的证书。这样首先就很好的保证了身份认证得问题。
接下来和大家谈谈公钥和私钥的问题:

这里我们假设一个A用户给一个B用户传输一个数据包的过程???
首先在A用户端:
对明文部分进行单向加密,提取特征码,完后通过自己的私钥对特征码进行对称加密,再对加密过的明文+加密过的特征码整体通过DH算法加密,把产生的随机数X进行非对称加密,之后就打包(明文+特征码+随机数)发送给B用户。
其次在B用户端:

  1. B用户通过非对称法对随机数进行解密,得到A传过来的随机数X,那自己的随机数Y根据DH算法对(明文+特征码)进行解密,提取到特征码,完后再通过A用户的公钥对特征码进行解密,再次得到一个特征码,最后对两次提取到的特征码进行对比是否一致即可。

网络数据传输安全之公钥与私钥

标签:加密算法 加密解密过程

原文地址:http://blog.51cto.com/13575678/2093192

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!