9.2 模型分析

我们继续以消息传递模型为例,介绍基于数字签名算法的消息传递模型。

数字签名算法在应用领域的使用较为简单,在密钥处理方面与一般非对称加密算法无异,只是将加密/解密换成了签名/验证。

无论我们将要介绍哪一种数字加密算法,在构建密钥对这一操作中,都与非对称加密算法无异,尤其是与RSA算法完全一致。读者朋友可阅读本书第8章相关内容。

在图9-1中,甲方作为消息的发送方,乙方作为消息的接收方。我们假设甲乙双方在消息传递之前已将指定了将要使用的数字签名算法(如RSA算法)。为完成签名验证,甲乙双方需要以下操作:

1)由消息发送的一方构建密钥对,这里由甲方完成。

2)由消息发送的一方公布公钥至消息接收方,这里由甲方将公钥公布给乙方。

figure_0312_0072

图 9-1 构建密钥对

完成这两步操作后,甲方向乙方发送的数据就可以做验证了,如图9-2所示。

figure_0312_0074

图 9-2 甲方向乙方发送数据

在图9-2中,甲方向乙方发送数据时需要附加签名,数据与签名形成一则消息发送给接收者。如本文开篇所讲,签名与实体(这里指签名前的数据)不可分离,作为一个整体发送给乙方。并且,私钥仅用于签名,公钥仅用于验证。