数字签名算法

  • 主要包括两个独立的算法:签名算法、验证算法

  • 签名者使用一个签名算法(一般来说是保密的)签名一个消息,所签的名通过一个公开的验证算法来验证。验证算法根据签名是否真实来判断真伪

  • 具有代表性的数字签名算法

    • RSA数字签名算法
    • EIGamal数字签名算法
    • 美国的数字签名标准/算法(DSS/DSA)
    • … …

算法实现

基于RSA的数字签名算法

数字签名标准算法DSA

——都属于“常规数字签名方案”

常规数字签名方案的特点

  • 签名者知道他所签署信息的内容
  • 任何人只要知道签名者的公钥,就可以在任何时刻验证签名的真实性,不需要签名者的“同意”信号或来自其他方面的信号;
  • 具有基于单向函数运算的安全性

——在实际应用中,可能需要放宽或加强上述特点中一个或多个。

其他专用数字签名方案

  • 指定批准人签名方案 某个指定的人员可以自行验证签名的真实性,其他任何人除非得到该指定人员或签名者的帮助,否则不能验证签名;

  • 小组(群)签名方案 一个小组的任何成员可以签署文件,验证者可以确认签名来自小组,但不知道是小组的哪一名成员签署了文件

  • 一次性签名方案 仅能签署单个信息的签名方案

  • 不可抵赖签名方案 在签名和验证的常规成份之外添上“抵赖协议”,则仅在得到签署者的许可信号后才能进行验证;

  • 带有“数字时间标记系统”签名方案 将不可篡改的时间信息纳入数字签名方案

results matching ""

    No results matching ""