对称加密

加密 与解密用的是同样的密钥 (密钥越大,加密越强)。  常用的有: DES 、AES。

 对称加密算法存在几个问题:

  1、要求提供一条安全的渠道使通讯双方在首次通讯时协商一个共同的密钥, 双方可能需要借助于邮件和电话等其它相对不够安全的手段来进行协商;

  2、密钥的数目难于管理。因为对于每一个合作者都需要使用不同的密钥,很难适应开放社会中大量的信息交流;假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1) 个密钥,密钥的生成和分发将成为恶梦。

  3、对称加密算法一般不能提供信息完整性的鉴别, 它无法验证发送者和接受者的身份; 

  4、对称密钥的管理和分发工作是一件具有潜在危险的和烦琐的过程。对称加密是基于共同保守秘密来实现的,采用对称加密技术的贸易双方必须保证采用的是相同的密钥,保证彼此密钥的交换是安全可靠的,同时还要设定防止密钥泄密和更改密钥的程序。

非对称加密

用一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥 (公钥加密私钥解密,私钥加密公钥解密)

加密和解密花费时间长、速度慢,不适合对文件加密而只适对少量数据进行加密。 常用的有: RSA、DSA、 GPG2.

HASH加密

一种单向算法,通过Hash算法对目标信息生成一段特定长度的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。常用的有MD5、SHA( SHA-1, SHA-2, SHA-256...)

数字签名验证

意义在于,对传输过来的数据进行校验。确保数据在传输工程中不被修改。

数字签名技术是将摘要信息(has加密后的值)用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。

数字签名是个加密的过程,数字签名验证是个解密的过程。


数字信封 

  数字信封用加密技术来保证只有特定的收信人才能阅读信的内容。   https

流程: 

    信息发送方采用对称密钥来加密信息,然后再用接收方的公钥来加密此对称密钥(这部分称为数字信封),再将它和信息一起发送给接收方;接收方先用相应的私钥打开数字信封,得到对称密钥,然后使用对称密钥再解开信息。 依旧用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。

例子:

  客户端生成随机的对称加密密钥A,请求服务端返回非对称加密的公钥B。客户端用返回的公钥B对生成的A进行加密,并发送给服务服务端,服务端通过非对称加密的密钥C来解析出A。

02-26 00:17