对称加密:
发送方和接收方使用同样的密钥。比如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加密
来源:https://www.cnblogs.com/BonnieWss/p/11128930.html