引用本文:程朝辉.数字签名技术概览[J].信息安全与通信保密,2020(7):48-62.,下面我们就来说一说关于数字签名技术过程?我们一起去了解并探讨一下这个问题吧!

数字签名技术过程(数字签名技术概览)

数字签名技术过程

引用本文:程朝辉.数字签名技术概览[J].信息安全与通信保密,2020(7):48-62.

摘 要

本文对数字签名技术进行概览综述,以便读者对该技术有一个比较全面的了解。文章首先介绍数字签名技术的基本原理,然后回顾数字签名技术四十年发展的历程以及期间发生的一些具有标志性的事件。另外针对特殊功能需求,学术界提出了许多具有附加属性的数字签名技术,本文对这类技术进行一个梳理和概览。文章最后对一些重要的数字签名技术标准进行汇总。

关键词:数字签名技术;数字签名算法标准;带属性的数字签名;公钥密码内容目录:1 数字签名原理2 数字签名技术发展历程3 具备附加属性的数字签名技术4 数字签名算法标准5 结 语

01

数字签名原理

人类在很长时间都是以手写签名、印章或指模等来确认作品、文件等的真实性,包括认定作品的创作者、文件签署者的身份,推定作品的真伪或者文件内容的真实性。数字签名技术用于在数字社会中实现类似于手写签名或者印章的功能,即实现对数字文档进行签名。数字签名技术实际上能够提供比手写签名或印章更多的安全保障。一个有效的数字签名能够确保签名确实由认定的签名人完成,即签名人身份的真实性(authentication);被签名的数字内容在签名后没有发生任何的改变,即被签名数据(也称签名消息或简称消息)的完整性(integrity);接收人一旦获得签名人的(包括被签名数据的) 有效签名后,签名人无法否认其签名行为,即不可抵赖性(non-repudiation)。

本文中的数字签名技术特指采用非对称密码机制来实现的签名技术。一个签名人具有一对密钥,包括一个公钥和一个私钥。签名人公开其公钥,签名验证人(简称验签人)需要在验证签名前获取签名人的真实公钥。如果验签人需验证多个签名人的签名,则必须预先知道每个签名人和其公钥的对应关系。在满足以上前提的情况下,签名人就可以使用其私钥对任意消息进行签名操作,生成签名值;任意知道公钥的验签人都可以通过验签操作验证对消息的签名值相对于某公钥是否有效。若待签名消息过大时,可以先采用杂凑算法生成消息的摘要(类似于数据的指纹)后再对摘要进行数字签名。为了实现真实性、完整性和不可抵赖性功能,数字签名机制需要满足一定的安全需求。简单地讲,安全的数字签名机制要求:1)在没有私钥的情况下,生成某个消息的有效签名在计算上是不可行的;2)根据公钥和消息/ 签名对, 计算出签名私钥是不可行的。更加严格的数字签名机制安全定义是在选择消息攻击下具有不可伪造性(Existential Unforgeability under Adaptive Chosen Message Attack: EUF-CMA),即攻击者可任意选择多项式个消息请签名人生成并获得对应的签名,仍然无法生成一个新消息的合法签名。更高安全性的定义是选择消息攻击强不可伪造性(Strong Existential Unforgeability under Adaptive Chosen Message Attack: SUF-CMA),即攻击者可任意选择多项式个消息请签名人生成并获得对应的签名,仍然无法生成一个新消息的合法签名或者一个已签名消息的新合法签名。

02

数字签名技术发展历程

从 Whitfield Diffie 和 Martin Hellman 在 1976 年发表历史性的论文《密码学的新方向》提出数字签名的概念到今天,数字签名技术经过了四十多年的发展。这四十多年中,数字签名技术在理论研究上经历了从一个可能的数学概念,发展到基于计算复杂性问题的具体实现、到扎实的安全模型定义、到安全性可证明的高效构造、再到满足各类差异化需求的特性签名技术。数字签名技术在应用上从小规模的商业和个人数据保护开始,伴随着互联网和电子商务的发展,到今天已经发展成为数字社会的安全基石之一。

作为一个相对全面的概览,下面列出数字签名技术发展过程中的一些重要学术工作和重大事件。这个列表无意列出过去四十年所有重要的工作和事件。未出现在列表中的学术工作或相关事件并不表示其重要性比列出的低。(1)1976 年 Whitfield Diffie 和 Martin Hellman 在《密码学的新方向》一文中提出数字签名的概念。

(2)1978 年 Ronald Rivest, Adi Shamir和Len Adleman发表RSA数字签名算法。

(3)1978 年 Michael O. Rabin 发表一次数字签名(one-time digital signature)算法Rabin。

(4)1979 年 Ralph Merkle 发 表 Merkle 数字签名算法。该算法也是一种一次数字签名算法,但和 Rabin 算法有重要区别。该算法成为一类基于杂凑的数字签名(hash-based digital signature)算法(例如 XMSS)的基础。这类算法在后量子计算时代可能依然安全。算法中的Merkle 树具有众多应用,如区块链使用 Merkle 树存储交易记录。

(5)1984 年 Taher Elgamal 发表基于离散对数问题的 Elgamal 数字签名算法。

(6)1984 年 Adi Shamir 提出基于身份的密码技术(Identity-Based Cryptography: IBC)并给出第一个基于身份的数字签名算法(Identity- Based Signature: IBS)。基于身份的密码也称基于标识的密码。

(7)1984 年 Shafi Goldwasser, Silvio Micali 和 Ronald Rivest 给出了数字签名机制安全模型的严格定义(选择消息攻击下不可伪造模型:EUF-CMA)。这个模型后来被广泛接受,用于分析各种数字签名算法的安全性。

(8)1986 年 Amos Fiat和 Adi Shamir发表Fiat-Shamir变换。该变换可将一大类身份认证方案转化为数字签名算法。

(9)1989 年 Claus Schnorr 发表Schnorr 数字签名算法。该算法的安全性可以基于离散对数问题在随机谕示模型下获得证明。2011 年发表的 EdDSA 数字签名算法也是以 Schnorr 算法为基础。

(10)1989 年 Lotus Notes 1.0发布采用RSA算法的数字签名功能。这是第一款大规模应用的商业软件支持数字签名技术。

(11)1991年NIST发布数字签名算法DSA。该算法是Elgamal数字签名算法的变形, 在1994年作为 FIPS 186 中的数字签名标准DSS发布。DSA和椭圆曲线上的ECDSA算法的安全性分析一直是个挑战。2000年Daniel R. L. Brown在一般群模型下分析了ECDSA算法的安全性。

(12)1991年Phil R Zimmermann 发 布 PGP 1.0,支持RSA数字签名算法。

(13)1991年Marc Girault 提出自认证密钥的概念并设计一个基于自认证密钥的身份认证协议。1998 年 Guillaume Poupard 和 Jacques Stern 利用 Fiat-Shamir 变换将该身份认证协议转换为 GPS 数字签名算法并证明了其安全性。

(14)1993 年 RSA 发布包括 RSA 数字签名算法的 PKCS #1 版本 1.5,通过规定消息编码方式改进 RSA 数字签名算法的安全性。

(15)1995 年 Netscape 发布支持数字签名算法的 SSL 2.0,支持 RSA 和 DSS 签名算法。(16)1996 年 Mihir Bellare 和 Phillip Rogaway 提出安全性可证明的 RSA-PSS 签名算法。(17)1996 年 David Pointcheval 和 Jacques Stern 提出分叉引理(forking lemma)。基于分叉引理可分析一大类数字签名算法的安全性, 包括 Schnorr签名算法。

(18)1996 年 Paul C. Kocher 发表侧信道攻击技术,展示采用时间攻击技术攻击 RSA、DSS 等算法的不安全实现以获取私钥 [24]。该工作开启了密码侧信道攻防技术的研究领域。

(19)1999 年 Rosario Gennaro, Shai Halevi 和 Tal Rabin与Ronald Cramer和Victor Shoup 分别构造了不依赖随机谕示模型的 RSA 签名算法。

(20)2001 年 Dan Boneh, Ben Lynn 和Hovav Shacham 发表采用双线性对构造的短签名算法 BLS。

(21)2002 年 Jae Choon Cha 与 Jung Hee Cheon 以及 Florian Hess 分别发表采用双线性对构造的基于标识的数字签名算法 Cha-Cheon- IBS和 Hess-IBS。

(22)2003 年 Sattam S. Al-Riyami 和Kenneth G. Paterson 提出无证书密码的概念,并设计无证书的数字签名算法。虽然 Al- Riyami-Paterson 无证书签名算法后来被证明不安全,但该工作开启了相关领域的研究工作。例如,2018 年 Zhaohui Cheng 和 Liqun Chen 统一了基于 Girault 的自认证密钥的数字签名机制和Al-Riyami-Paterson 无证书数字签名机制的安全模型,并设计安全、高效的无证书签名算法。

(23)2008 年 Craig Gentry, Chris Peikert 和Vinod Vaikuntanathan 基于等工作发表了第一个安全性可证明的基于格的数字签名算法GPV。后续更多格基数字签名算法被提出,如BLISS、Dilithium等。(24)2017 年 NIST 开始后量子公钥算法标准化工作,全球征集相关算法,包括数字签名算法。

03

具备附加属性的数字签名技术

伴随着通用数字签名技术的发展,针对一些特殊需求,特别是电子现金、电子选举等领域的应用以及隐私保护与签名公平性需求的增强,众多具有附加属性的数字签名技术的概念和算法构造被提出。下面列出一些典型的具有附加属性的数字签名技术。本文无意列出所有特性数字签名技术,读者可以参考更多的综述资料如 [38,39]。(1)盲签名 (blind signature):1982 年David Chaum 提出盲签名的概念。盲签名机制允许签名人对盲化过的消息(签名人在不知道消息内容的情况下)生成消息签名。签名的有效性可以在消息去盲化后被公开验证。盲签名机制可用于电子选举、电子现金等应用。

(2)多签名(multi-signature):1983 年 K. Itakura 和 K. Nakamura 提出多签名的概念。多签名机制允许多个签名人对消息进行签名且生成的签名比各个签名人独立签名生成的签名值集合更简短。多签名机制可用于区块链等对多方签名有需求且对签名长度敏感的应用。和多签名机制紧密相关的签名压缩机制还有聚合签名(aggregate signature)。聚合签名可以将多个签名压缩为一个签名。聚合签名进一步可分为通用聚合签名如 [42] 和顺序聚合签名如 [43] 等。顺序聚合签名中签名和聚合操作根据已经签名的消息集、已经聚合的签名以及待签名新消息,利用私钥进行签名并完成聚合操作。

(3)门限签名(threshold signature):1987 年 Yvo Desmedt 提出门限签名的概念。门限签名机制允许n个签名人中的任意 k 个签名人对消息生成签名,但少于 k 个签名人参与则无法生成有效签名。门限签名机制可以构建强健的签名系统,防止部分签名人的不法行为。

(4)不可否认签名(undeniable signature):1989 年 David Chaum 和 Hans van Antwerpen 提 出不可否认签名的概念。不可否认签名机制允许签名人生成一个签名并且确保没有签名人的允许(不参与验证过程),验证人无法验证签名的有效性;同时不可否认机制能够防止签名人(以不可忽略的概率)否认某个真实签名。不可否认签名机制可以防止签名数据被滥用。

(5)失败-中止签名(fail-stop signature):1991 年 Birgit Pfitzmann 提出失败-中止签名的概念。失败-中止签名机制除了满足普通签名机制的安全要求外,额外要求:1)如果伪造者要伪造一个签名则需要完成指数级的工作量, 2)如果伪造者成功伪造了某人(被冒充人)对一个消息的签名,则被冒充人可以有效地证明这个签名是伪造的。失败-中止签名机制可以应用于需要对签名人提供更高保护的场景。

(6)群签名(group signature):1991 年David Chaum 和 Eugene van Heyst 提出群签名的概。群签名机制允许多个签名人形成一个签名人群组,群组中的任意一个成员可代表整个群组匿名地生成某个消息的签名(“匿名”表示验签人无法判断生成签名的具体群成员的身份)。群组有个管理员负责维护群组中成员的群组资格,并在必要时识别生成某个签名的签名人身份。群签名机制的变体如可追踪群签名(traceable group signature)允许授权方追踪某个成员的签名而不暴露其他成员的身份信息及其生成的签名;可追责的追踪群签名(accountable tracing signature)可限制群组管理员滥用追踪群成员签名的能力。群签名机制可用于有隐私保护需求的诸多签名应用。

(7)指定证实人签名(designated confirmer signature): 1994 年 David Chaum 提出指定证实人签名的概念。指定证实人签名机制引入半可信第三方的角色:证实人(confirmer),其和验证人执行交换式协议判断某个签名是否有效,且证实人可以将一个有效的指定证实人签名转换为普通签名(任意具有签名人公钥的实体都可验证普通签名的合法性)。指定证实人签名机制解决了不可否认签名机制中签名人可能不参与签名验证过程导致签名接收人利益受损的问题。

(8)代理签名(proxy signature):1996 年Masahiro Mambo, Keisuke Usuda 和 Eiji Okamoto 提出代理签名的概念。代理签名机制允许原签名人在不将其签名私钥转移的情况下将其签名能力转移给指定的代理人,由代理人代为签名。代理签名机制有许多应用,例如在分布式环境中签名人可将其签名能力委托给信任的某个系统部件。

(9)指定验签人签名(designated verifier signature):1996 年 Jakobsson Markus, Kazue Sako 和 Russell Impagliazzo 提出指定验签人签名的概念。指定验签人签名机制允许签名人在生成签名时指定可以验证签名的验证人,非指定的其他人无法验证签名的有效性。指定验签人签名机制和不可否认签名不同,其签名验证过程无需签名人参与。指定验签人签名机制可以提供一定的隐私保护能力。

(10)签密(signcryption):1997 年Yuliang Zheng 提出签密的概念。签密机制允许以尽量小的开销同时完成消息加密和签名的功能。签密机制可以用于同时有加密和签名需求的场景, 减少计算和带宽的需求。

(11)环签名(ring signature):2001 年Ron Rivest, Adi Shamir 和 Yael Tauman 提出环签名的概念。环签名机制和群签名类似,环上任意成员可以匿名地代表整个环成员完成签名操作。和群签名不同的是,环签名机制没有环成员管理机制,因此也就没有环管理员,进而没有机制能够确认某个签名的具体签名人的身份。这意味着环签名比群签名在签名人隐私保护方面更彻底。环签名机制有诸多变体,如门限环签名(threshold ring signature)结合环签名和门限签名的功能,既保护签名人的隐私又防止小部分环中成员滥用签名能力;可关联环签名(linkable ring signature)可以确定两个签名是否是同一个签名人生成(但不能确定具体签名人的身份);可追踪环签名(traceable ring signature)可以确定生成了两次或以上签名的某个签名人的身份。和环签名相近的还有网签名(mesh signature),该机制允许在无公钥的情况下,将某人变成环上成员。环签名机制有众多应用,包括隐私保护、电子现金、电子选举等。

(12)具有高效协议的签名(signature with efficient protocols):2001 年 Jan Camenisch 和Anna Lysyanskaya 提出具有高效协议的签名机制。具有高效协议的签名机制允许签名拥有者和签名人采用安全两方计算机制高效地完成签名操作(签名人不知道被签名消息的内容);允许签名拥有者采用零知识证明机制高效证明其拥有一个有效的消息签名(验证人可完成验证过程但不知道签名拥有者的消息签名值)。具有高效协议的 CL 类签名机制可应用在多种具有隐私保护需求的场景中,例如在可信平台模块 TPM 中实现直接匿名证明 DAA[60]。

(13)同态签名(homomorphic signature):2002年Robert Johnson, David Molnar, Dawn Song 和 David Wagner 系统性地提出同态签名的概念和潜在应用。同态签名机制允许任意人在没有签名私钥的情况下计算出两组签名消息进行联合操作后的结果数据的签名值,或者一个签名消息集合的任意消息子集的签名值等。这样的功能也称为可修订签名(redactable signature)。同态签名机制进一步可以分为线性同态签名如、多项式函数同态签名如 [64]、全同态签名。与同态签名机制相关的签名机制还有增量签名(incremental signature),可传递签名(transitive signature)等。同态签名具有众多应用,如电子选举等。允许签名后再修改签名消息的机制还有:可净化签名(sanitizable signature)允许经授权的半信任第三方在无需签名人协助的情况下对签名消息进行受控地修改;只附加签名(append-only signature)允许任意一方在获得消息A和其签名的情况下, 获得消息 A 附加消息 B 后新消息的签名;空白签名(blank digital signature)允许签名发起人签名一个模板(模板包括确定的数据域和有多重选择的可修改数据域), 签名发起人允许一个代理人对签名过的模板中可修改数据域选择一个特定值并形成完整消息和签名,验签人使用签名发起人和代理人的公钥验证完整消息和签名的有效性;多变签名(protean signature)允许同时删除和修改被签名消息(即同时实现可修订签名和可净化签名的功能)。这类签名机制为消息签名应用提供了更多灵活性。ISO/IEC 正在开展可修订签名算法的标准化工作 。

(14)可验证加密签名(verifiably-encrypted- signature):2003 年 Dan Boneh, Craig Gentry, Ben Lynn 和 Hovav Shacham 提出可验证加密签名的概念。为了提高签名过程的公平性,可验证加密签名允许签名人生成消息签名后,使用一个受信任的仲裁方的公钥加密签名值,同时能生成一个证明来表明密文中包含了一个有效签名。签名双方相互交换可验证加密签名并证明加密签名的正确性后,披露各自的普通签名。如果一方不披露其普通签名,另外一方可以向仲裁方提交已收到的对方的可验证加密签名,仲裁方可以据此还原对方的普通签名。可验证加密签名进一步发展为对换签名(commuting signature)允许签名人在同时加密了消息和签名的情况下生成明文有效性的证明,还允许在密文消息上生成可验证加密签名。

(15)并行签名(concurrent signature):2004 年 Liqun Chen, Caroline Kudla 和 Kenneth Paterson 提出并行签名的概念。并行签名机制是提高两方签名过程公平性的另一种尝试,它允许签名双方在第三方的帮助下同时完成对两个消息(或同一消息)的确认(commitment,即生成签名)。完成确认的过程是通过签名一方释放一个秘密(keystone)来完成的。在未释放keystone 前,签名双方对消息的签名都是不完整的(验证方无法根据公开信息判断签名的有效性);当任意一签名方释放了 keystone 时,则双方对消息的签名都完成了。

(16)匿名签名 (anonymous signature): 2006 年 Guomin Yang, Duncan S. Wong, Xiaotie Deng 和Huaxiong Wang 提出匿名签名的概念,即在无签名消息的情况下,无法判断某个签名的签名人。匿名签名技术可在一些不明文传递签名消息的情况下提高签名人的隐私保护能力。

(17)基于知识签名(signature of knowledge): 2006 年 Melissa Chase 和 Anna Lysyanskaya 提出基于知识签名的概念。基于知识签名机制允许签名人在拥有某个声明 x 属于某个语言 L 的证据的前提下生成某个消息的签名[即验签者可以确认合法签名的生成人知道断言(predicate)xL的证据]。基于知识签名有许多应用,包括隐私保护,构造群签名、环签名等。

(18)结构保留签名(structure-preserving signature):2010 年Masayuki Abe, Georg Fuchsbauer, Jens Groth 和 Miyako Ohkubo 提出结构保留签名的概念。结构保留签名机制要求验签密钥、签名和消息处于双线性对使用的群中,且验证签名有效性的断言仅使用以验签密钥、签名和消息为输入的双线性对运算。结构保留签名作为一个基础功能模块可以在众多应用中发挥作用,如高效盲签名、群签名、代理签名等。

(19)基于属性的签名(attribute-based signature):2011年 Hemanta K. Maji, Manoj Prabhakaran 和 Mike Rosulek提出基于属性的签名的概念。基于属性的签名允许一个从权威机构获得一系列属性的签名人能够创建依赖于其属性的某个断言的消息签名,即验签人根据消息签名的合法性可以判断签名人是否具有一系列属性的组合。相关的概念还有基于策略的签名(policy-based signature)。基于策略的签名机制中签名人只有在满足权威机构指定的策略的情况下才生成对消息的签名,且签名不泄露策略信息。这类签名可以简洁地实现细粒度的身份认证、策略控制等。

(20)功能签名 (functional signature): 2014 年 Elette Boyle, Shafi Goldwasser 和 Ioana Ivan 提出功能签名的概念。功能签名机制中除了有一个主签名密钥可以签名任意消息外, 还有函数签名密钥。对应某个函数 f 的函数签名密钥只能用于对函数计算结果数据 f(m) 生成签名。功能签名可用于构建单轮代理机制,允许客户方将函数计算外包给服务方,而客户方可以验证计算的正确性。

04

数字签名算法标准

伴随着数字签名技术应用的发展,数字签名算法标准也逐步形成。1991 年美国 NIST 公布DSA 数字签名算法并在 1994 年正式将 DSA 纳入FIPS 186 中成为数字签名标准 DSS。基于椭圆曲线的 DSA 算法(ECDSA)在 1995 年被提交到 IEEE P1363 工作组并在 2000 年被纳入 FIPS 186-280。为了加强 RSA 算法的安全性,RSA 公司在 1993 年发布 PKCS #1 版本1.5,其中包括了使用消息填充机制(EMSA-PKCS1-v1_5)的RSA 签名算法(RSASSA-PKCS1-v1_5)。该版本在 1998 年被重新发布为 RFC 2313。这两个签名算法成为了产业界的事实标准,例如互联网广泛使用的 SSL/TLS 协议(在 2018 年 TLS1.3 发布以前)只支持以上两种签名算法。伴随可证明安全性的理念逐步被业界接受,2002 年RSA 公司发布 PKCS #1 版本 2.2,纳入了签名算法 RSA-PSS,该版本在 2016 年被重新发布为RFC 8017。Schnorr 算法也具有安全性易于证明的优势。Daniel J. Bernstein 等根据 Schnorr 算法在爱德华椭圆曲线上(Edwards-curve)设计了数字签名算法 EdDSA 并在 2017 年发布 RFC8032 Edwards-Curve Digital Signature Algorithm (EdDSA) 。2018 年新制定的 TLS 协议 1.3 版目前只支持以下数字签名算法:RSASSA-PKCS1-v1_5、RSA-PSS、ECDSA、EdDSA。除美国外,俄罗斯在1994年发布数字签名算法标准 GOST R 34.10-94,并在2001年发布椭圆曲线数字签名算法标准GOST R34.10- 2001。GOST R34.10-2001在2012年更新为 GOST R34.10-2012。韩国在1998年发表韩国基于证书的数字签名算法 KCDSA 和 EC- KCDA,对应标准发布于[88,89]。德国在 2005 年发布德国椭圆曲线数字签名算法标准 EC- GDSA。中国在 2012 年发布 SM2 椭圆曲线数字签名算法标准,在 2016 年发布 SM9 标识密码数字签名算法标准。作为重要的国际标准化组织,ISO/IEC发布了一系列的数字签名算法标准。标准系列包括:

(1)带消息恢复的数字签名算法标准系列ISO/IEC 9796,包括基于大数分解的 9796-2、基于离散对数的 9796-3。

(2)带附录的数字签名算法标准系列 ISO/ IEC 14888,包括基于大数分解的 14888-2、基于离散对数的14888-3。

(3)匿名签名算法标准系列 ISO/IEC 20008,包括基于群公钥签名的 20008-2。

(4)盲签名算法标准系列 ISO/IEC 18370,包括基于离散对数的 18370-2。

(5)可修订的签名算法系列 ISO/IEC 23264,包括基于非对称技术的可修订签名23264-2(正在制定中)。ISO/IEC14888 系列标准包含着一系列广泛使用的通用数字签名算法:(1)14888-2 收录了7个基于大数分解的数字签名算法,包括:RSA、RW(Rabin-Williams)、 GQ1、GQ2、GPS1、GPS2、ESIGN。其中RSA和 RW 算法使用 PSS 消息编码,GQ1是基于标识的签名算法。

(2)14888-3 收录了 14 个基于离散对数的数字签名算法,其中:①基于素域上离散对数的签名算法有:DSA、KCDSA、SDSA(Schnorr-DSA)、Pointcheval/ Vaudenay 算法;②基于椭圆曲线上离散对数的签名算法有 EC-DSA(美国)、EC-KCDSA(韩国)、EC-GDSA( 德国)、EC-RDSA(俄罗斯 GOSTR34.10-2012)、EC-SDSA(Schnorr 签名算法)、EC-FSDA(完整Schnorr 签名算法)、SM2(中国);③采用双线性对的基于标识的签名算法有IBS1(Cha-Cheon-IBS)、IBS2(Hess-IBS)、Chinese IBS(SM9)。

这里顺带提及另外一个和数字签名密切相关的技术:不可否认(non-repudiation)技术。ISO/IEC 制定了系列的不可否认技术标准 ISO/ IEC13888,包括:基于对称密钥机制的 13888-2、基于非对称密钥机制的 13888-3。13888-2 标准包括基于对称密码的不可否认机制、源不可否认机制、投递不可否认机制、时间戳令牌机制;13888-3 标准包括基于非对称密钥的源不可否认机制、投递不可否认机制、提交不可否认机制以及传输不可否认机制。

05

结 语

数字签名技术在数字社会中起到重要作用。本文对数字签名技术过去四十多年的发展做了一个综述,以便读者可以对这一重要技术有一个相对全面的了解。文章回顾了数字签名技术发展历程中的一些重要的学术工作和重大事件。数字签名技术发展至今已经相当成熟,除了满足基本的安全性要求外,出现了众多具有附加属性的数字签名技术。本文以列表的形式概述了历史上出现的众多特殊数字签名技术的概念和工作。文章最后汇总了一些重要的数字签名技术标准,以便工程技术人员参考。作者简介 >>>程朝辉(1976—),男,博士,主要研究方向为密码学。他是密码行业标准化技术委员会委员、中国ISO/IEC标准委员会SC27专家。其设计的多个密码算法被多个标准化组织机构,包括IEEE、ISO、3GPP等采纳为标准算法。他参与了多个国家和国际标准的制定,目前是两个ISO标准文本的编辑和一个ITU标准文本的联合编辑。

选自《信息安全与通信保密》2020年第七期(为便于排版,已省去原文参考文献)

,