正如我们所研究的,签名是一种对来自受信任个人的数据进行身份验证的方法。类似地,数字签名是一种对来自可信来源的数字数据进行身份验证的方法。
数字签名标准(DSS)是联邦信息处理标准(FIPS),该标准定义了用于通过安全哈希算法(SHA)来生成数字签名的算法,以用于电子文档的身份验证。 DSS仅向我们提供数字签名函数,而没有提供任何加密或密钥交换策略。
发送方:
在DSS方法中,从消息中生成哈希码,然后将以下输入提供给签名函数–
- 哈希码。
- 为该特定签名生成的随机数“ k”。
- 发送者的私钥,即PR(a)。
- 全局公钥(是用于通信原理的一组参数),即PU(g)。
这些对函数的输入将为我们提供包含两个部分的输出签名-s和r。因此,将与签名串联在一起的原始消息发送给接收者。
接收方:
在接收方,对发送方进行验证。生成已发送消息的哈希码。有一个验证函数,它需要以下输入–
- 接收方生成的哈希码。
- 签名组件“ s”和“ r”。
- 发送者的公钥。
- 全局公钥。
将验证函数的输出与签名组件“ r”进行比较。如果发送的签名有效,则两个值都将匹配,因为只有发送者借助其私钥才能生成有效的签名。