关于加解密、签名验签、数字签名、哈希、数字证书的大概理解

一、加解密算法(最普通的加解密)

对称密钥:用户A将明文信息M使用密钥K进行加密,用户B是用密钥K将加密后的信息进行解密。(加密与解密使用同一密钥K)

非对称密钥:用户A将明文信息使用密钥SK进行加密,用户B使用密钥PK将加密后的信息进行解密。(加密与解密使用不同的密钥SK与PK,且SK与PK互为配对)

二、签名、验签算法(如何验证签名的真伪)

用户A使用私钥SK进行签名得到数字签名,用户B得到数字签名与明文信息后,再使用公钥PK对数字签名进行验签,得到的结果与明文信息一致的话,则证明签名正确,反之则签名不正确。

三、数字签名算法(如何验证接收到的文档是完整的未经篡改的)

加密过程:用户A将文档压缩后,取得信息摘要,将信息摘要使用用户A的私钥进行加密,连同文档与加密后的信息摘要发送给用户B。

解密过程:用户B收到文档与加密后的信息摘要之后,使用用户A的公钥将加密的信息摘要进行解密,得到未加密的信息摘要,再将文档进行压缩,取得文档的信息摘要,如果两个信息摘要是一致的,则该文档的完整性是可以保证的。

四、哈希算法

将信息M经过哈希运算后得到一串固定长度的哈希值s(s具有单向性,即给定M可轻易推算出s,但给定s却很难反推出M)
给定M,如果想要找到另一个明文信息m,并且这个明文信息m经过哈希运算后很难得到s
所以哈希算法就相当于赋予信息M一个“指纹”也称为“摘要”

五、数字证书

数字证书是通过一个大家都认可信任的权威机构——CA进行颁发的

当用户A与用户B(用户A为私钥所有者)通信时:
虽然私钥为用户A所独有,但是公钥却是相当于公有的,因此单单一个公钥不足以验证用户B的身份,因此用户B需要将用户A的公钥与自己的“电子身份证”发送给CA,由CA进行邦定并且“盖章”后形成一张数字证书颁发给用户B,用户B再使用数字证书与用户A进行通信,用户A在检测到用户B的数字证书上存在CA的标识后,认定了用户B的合法性,则通信成功!

我也是刚刚学到的,具体的理解可能还是需要结合其他文章进行理解,有什么理解错的或者需要补充的也希望大佬们帮忙补充一下,谢谢

猜你喜欢

转载自www.cnblogs.com/MThao/p/10370478.html