|
知识路径: > 网络安全 > 加密和数字签名 > 数字签名技术 > 数字签名 >
|
相关知识点:3个
|
|
|
|
|
(1)发送A先通过散列函数对要发送的信息(M)计算消息摘要(MD),也就是提取原文的特征。
|
|
|
(2)发送A将原文(M)和消息摘要(MD)用自己的私钥(PrA)进行加密,实现就是完成签名动作,其信息可以表示为PrA(M+MD)。
|
|
|
(3)然后以接收者B的公钥(PB)作为会话密钥,对这个信息包进行再次加密,得到PB(PrA(M+MD))。
|
|
|
(4)当接收者收到后,首先用自己的私钥PrB进行解密,从而得到PrA(M+MD)。
|
|
|
(5)再利用A的公钥(PA)进行解密,如果能够解密,显然说明该数据是A发送的,同时也就将得到原文M和消息摘要MD。
|
|
|
(6)然后对原文M计算消息摘要,得到新的MD,与收到MD进行比较,显然如果一致说明该数据在传输时未被篡改。
|
|
|
至此,整个通信过程也就完成了。需要注意的是,在实际的应用中,通常不会用A的私钥对原文进行加密,一方面是效率太低;另一方面是没有太大的必要,如下图所示。
|
|
|
|
|