数字签名保证信息的真实性和完整性;而数字证书则保证信息的不可否认性。
发送方将电子文档Hash运算,得到摘要,然后将摘要用私钥加密,就得到数字签名;
数字签名与电子文档一起发送给接收方,接收方收到后,将电子文档同样进行Hash运算得到摘要,然后将数字签名用公钥解密,并与摘要比较,相等即校验通过。
数字签名可以保证文档的真实性和完整性。是真的,且没被篡改。
真实性的理据在于接收方可以用公钥解密。因为这是非对称加密,私钥加密,公钥解密;
完整性的理据是解密后摘要与运算得到的摘要一致。
而数字证书则是为了配合数字签名的辅助手段,用于保证解密数字签名的公钥的合法性,保证其没有被调包。因为黑客可能会偷偷换掉接收方的公钥,然后将用自己的私钥处理过的文档发给接收方,同样可以得到校验通过的结果。
如何保证公钥是你的公钥?
证书中心(CA)用自己的私钥,对发送方的公钥和一些相关信息一起加密,生成”数字证书”;接收方用CA的公钥解开数字证书,就可以拿到真实的公钥。
数字证书人人可以搞,要具备权威性的CA生产的数字证书才有意义。
电子签名和数字签名的内涵并不一样,数字签名是电子签名技术中的一种,不过两者的关系也很密切,目前电子签名法中提到的签名,一般指的就是数字签名。
参考文章:
数字签名是什么?
数字签名的作用是什么?