加密算法的应用

2016-10-24  本文已影响0人  Barry_Yu

加密算法的应用

[TOC]

加密算法

加密算法主要分为对称加密和非对称加密。

对称加密

对称加密采用了对称密码编码技术,特点是加密和解密用的秘钥是一致的。具体有:DES,IDEA
优点:密码短,破译困难。
缺点
1 加密解密秘钥是一样的,双方之间的协商困难,通常只能通过邮件电话之类的沟通方式。这是不安全的。
2 每一对合作者都需要一对秘钥。导致每个人要保存大量的秘钥
3 对称加密不能提供信息完整性验证,无法验证发送者和接受者的身份。
4 对称秘钥的分发工作很危险和繁琐。

非对称加密

用私钥加密的信息可以用公钥解密,用公钥加密的信息可以用私钥解密。
优点:
分发简单,每个人只需要保证自己的私钥的安全性,就可以了,公钥可以随便公开。
缺点:
加密和解密速度慢,只适合对少量信息加密。
非对称加密的应用非常多:传输信息,数字签名,身份验证

Hash算法

一种单向算法,对目标生成特定长度的Hash值,却不能通过这个值获得原信息,

应用

传输信息

使用非对称加密,双方分别持有一对秘钥,私钥保留,公钥公开。发送者使用接受者的公钥对信息加密,只有接受者才能解密信息。

数字签名

数字签名,并不是用来对信息进行加密的。而是为了对信息进行保护:信息不被篡改,验证信息发送方身份(不可抵赖性)。
使用非对称加密。数字签名的应用方法与传输信息是相反的。发送方使用私钥对信息的hash值进行加密,生成签名,然后发送 信信息明文、hash值、签名、公钥,接受拿到后,使用公钥对签名解密,与hash值进行对比。如果相同,则证明信息没有被篡改,同时,因为公钥解密成功,说明该信息的确使用对应的私钥加密的,验证了发送者的身份。
但是,这其中有个问题,如果攻击者在数据传输过程中截获了该信息,对信息进行篡改然后修改hash值,并使用自己的私钥加密,附上自己的公钥,再发送给接受者,那么接受者是察觉不到的。
所以,这里有个非常关键的地方就是要保证公钥的可信任。CA就是数字证书的发放机构,CA使用自己的私钥对发送者的公钥进行加密,生成数字证书。之后,发送者把信息连同数字证书发送给接受者,接受者的客户端中存放着CA的各种公钥,招到对应的公钥后,对数字证书进行解密,就可以得到发送者的公钥。这样攻击者就不能随便偷换公钥了。
数字签名是私人的,数字证书是CA派发的。
但是依然存在问题,如果攻击者拥有自己的CA数字证书,那么他还是可以进行信息篡改。

HTTPS

HTTPS就是使用数字签名原理,但不仅如此,HTTPS使用TLS\SSL加密,其中包括非对称加密,对称加密,HASH算法。
具体流程如下:

浏览器在对数字证书鉴别是,主要是以下3个方面:

身份验证

上一篇 下一篇

猜你喜欢

热点阅读