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

加密原理

时间:2015-04-24 16:45:00      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:数据安全   特征码   第三方   加密   认证   

密钥认证原理

数据安全在网上传输要从三个方面得到保证:数据机密性、数据完整性、身份验证。

数据机密性:

AB通信,可以用对称加密来保证。Aplaintext经加密---得到ciphertext 把它发给BB用密钥解密得到数据。问题出现:AB如何协商密钥。如遇到第三方攻击,第三方是CC截获A发送给B的密钥,然后冒充AB发送数据,这数据机密性得不到保障。

密钥如何发送给对方,而不让第三方知道?

可以用Diffie hellman 算法试验。A选取两个数 p (大素数)g(生产数)发送给B

AB在各选一个随机数X Y A:g^x%p  B:g^y%p互信发给对方,

A得到数据后计算出(g^y)^x%p B得到数据后计算出(g^x)^y%p,两个数相同,这就是二者的密钥。

 

 

数据完整性:

AB通信,A发给B数据,A可以用单向加密算法加密数据发给B。单向加密,是提取数据特征码,并附加到数据后面。B接受到数据后,用单向加密算法提取数据特征码,如特征码一致,说明数据正常。问题:C截获A发的数据,得到A的发的数据,篡改后发送给BB还是无法验证对方的身份。单向加密特征:微小变化,引起巨大变化(雪崩效应),不可逆。定出输出。

身份验证:可用公钥加密(非对称加密算法)验证身份。原理:公钥加密生成秘钥对,公钥和私钥,公钥发给对方,私钥自己保留,私钥加密数据后,只能通过自己的公钥解密。这就保证了发送方的数据。如C获取数据,用A的公钥机密后得到数据,但是他不可能在通过A的私钥进行加密,这样B就可以验证发送方的身份。问题:

 

 

用公钥加密数据,私钥解密可以实现数据机密性,因为只有发送方的自己私钥可以对其解密。


 

B用公钥加密生成公钥发给A

 

技术分享技术分享技术分享

 

A用公钥加密生成公钥发给B

 
技术分享技术分享技术分享如何同事实现以上数据的三个特性。

 

 

 

 

 

 

 

 

 

 

A用自己的私钥加密数据特征码保证数据的完整性

A随机选选一个密钥,用对称密钥加密数据和特征码,然后用B的公钥加密此密钥,发送给B,如此就保证了数据的三个特性。问题,A和B的公钥如何让对方获得?

CA,第三方发给机构,A把自己的公钥机信息发给CACA用自己的私钥对其加密,BCA机构得到A的证书信息。


加密原理

标签:数据安全   特征码   第三方   加密   认证   

原文地址:http://6727215.blog.51cto.com/6717215/1637913

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