一、数字签名
数字签名(英文:Digital Signature
)类似于我们写在纸上的手写签名,它的诞生主要是为了解决如下问题:
1. 证明该文件(或信息)是由你发送的。
2. 证明该文件(或信息)没有被他人篡改过。
其实,我们生活中手写签名的纸质合同也是通过各种形式达到上面2个效果(如:合同一式多份,每份合同都有双方签名等)。
数字签名利用了《对称与非对称加密算法》中介绍的“非对称加密算法”,签名和验证签名的过程如下图(图中的“认证”部分不是数字签名必须的,在“数字证书”部分会介绍):
假设“李四”要发送一份数据给“张三”:
发送者“李四”对数据生成摘要信息(摘要明文A
),然后使用“李四”的“私钥”
加密摘要信息;接收者“张三”收到加密的摘要信息之后:
使用
“李四”的“公钥”
对加密的摘要信息进行解密。若能解密则证明签名是由“李四”所签,这是因为只有“李四”的“私钥”