加密算法

我的梦境 提交于 2020-04-06 10:13:24

对称加密

发送方和接收方使用同样的密钥。比如DES。

好处:密文长度不受限制。

缺点:不安全

非对称加密:

发送方使用公钥将内容加密,接收方使用私钥将内容解密,比如RSA。也可以发送方用私钥加密,接收方用公钥解密,这种情况只有一个公钥与私钥对应,应用于数字签名。

好处:密文长度受限制(密文的长度和密钥的长度成正比)。

缺点:相对对称加密比较安全。

混合加密:

集合了对称加密和非对称加密的优点。

比如对称加密的密钥为A。非对称加密的公钥的密钥为B,私钥为C。

发送方:用A对明文进行加密生成m,然后用B将A加密生成n,将m和n混合。

接收方:拆分m和n,用C将n解密得到A,用A将m解密得到明文。

数字签章:

利用hash算法将明文生成固定长度的密文。

数字签名:

数字签名需要达到以下两个目的:

1、对明文进行数字签名后不能被篡改
2、不能否认已经签过的数字签名

签名、解签过程:(说明:私钥m和公钥n是一对非对称加密密钥,并且一个私钥只有一个公钥与其对应)

(1)发送方将明文A进行哈希得到h,将h用私钥m加密得到B,并将明文、B一起发送;
(2)接收方将接收到的明文进行哈希后得到h1;
(3)接收方用公钥n对B进行解密得到h2,如果能解密则就证明一定是发送方签过的,发送方不能否认(因为一个私钥m只对应一个公钥n);
(4)将h1和h2进行对比,如果相同则表示没有被篡改;

过程图:

 

数字证书:是对公钥n的封装,其中包含了颁发者等信息

数字签名应用:

(1)https(验证服务端身份和不被篡改)
比如访问百度网站
通过用数字证书可以验证服务端的身份,以确定这就是百度发的
通过对比原文的哈希值和用数字证书(公钥)解密后得到的内容,如果相等则说明没有被篡改
(2)签电子合同

 

HASH加密、MD5加密

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!