fbpx
维基百科

數位簽章

數位簽章(英語:Digital Signature,又称公鑰數位簽章)是一種功能類似写在上的普通签名、但是使用了公钥加密领域的技术,以用于鉴别数字訊息的方法。一套数字签名通常會定义两种互补的运算,一个用于签名,另一个用于验证。法律用語中的電子簽章與數位簽章代表之意義並不相同。電子簽章指的是依附於電子文件並與其相關連,用以辨識及確認電子文件簽署人身分、資格及電子文件真偽者;數位簽章則是以數學演算法或其他方式運算對其加密而形成的電子簽章。意即並非所有的電子簽章都是數位簽章。

数字签名不是指将签名扫描成数字图像,或者用触摸板获取的签名,更不是落款

数字签名了的文件的完整性是很容易验证的(不需要骑缝章、骑缝签名,也不需要笔迹鑑定),而且数字签名具有不可抵赖性(即不可否認性),不需要笔迹专家来验证。

简单的数字签名原理

历史

1976年,Whitfield Diffie和Martin Hellman首次描述了数字签名体系,他们根据陷门单向排列的功能推测了这种体系的存在。[1][2]不久之后,Ronald Rivest, Adi Shamir和Len Adleman发明了RSA算法,该算法可以用来生成原始的数字签名(因“普通”的RSA签名并不安全[3],这仅仅为概念验证)。1989年,使用了RSA算法的Lotus Notes 1.0是第一个被广泛推广的提供数字签名的软件包。[4]

在RSA算法之后,其他数字签名方案被很快开发出来——最早的三个分别为Lamport签名[5]、Merkle签名(也被称为“Merkle trees”或“Hash trees”)[6]、和Rabin签名[7]

1988年,Shafi Goldwasser、Silvio Micali和Ronald Rivest成为第一个严格定义数字签名安全要求的人。[8]他们描述了签名的攻击模型的层次结构,还提出了GMR签名方案——第一种被证明可防止伪造选定信息的数字签名,与现今能被接受的数字签名安全定义一致。[8]

使用

使用者可以對其发出的每一封电子邮件进行数字签名。這不是指落款或簽名檔英语Signature block(普遍把落款讹误成签名)。

中国大陆,数字签名是具法律效力的,正在被普遍使用。2000年,中華人民共和國的新《合同法》首次确认了电子合同、电子签名的法律效力。2005年4月1日起,中華人民共和國首部《电子签名法》正式实施。

在台湾,2001年公佈實施《電子簽章法》做為數位簽章的法源依據及規範,並且製發中華民國自然人憑證及工商憑證。

每个人都有一对「钥匙」(数字身份),其中一个只有本人知道(私钥),另一个公开的(公钥)。签名的时候用私钥,验证签名的时候用公钥。又因为任何人都可以落款申称他就是使用者本人,因此公钥必须向接受者信任的人(身份认证机构)来注册。注册后身份认证机构给使用者发一数字证书。对文件签名后,使用者把此数字证书连同文件及签名一起发给接受者,接受者向身份认证机构求证是否真地是用使用者的密钥签发的文件。

訊息发布者可以使用数字签名:訊息发布的目的是让人们知道訊息,虽然没必要对消息进行加密,但是必须排除有人伪装訊息发布者发布假消息的风险,这时訊息发布者就可以使用数字签名。而对明文消息施加的签名,称为明文签名(clearsign)。[9]

软件的作者可以加上数字签名,以便用户下载后对签名进行验证。[10]

认证机构(CA)也可以为用户的公钥加上数字签名生成证书,以便人们确认用户公钥的合法性。[11]

SSL/TLS使用服务器证书(加上了数字签名的服务器公钥)认证服务器身份是否合法。[11]

原理

通常會使用公钥加密,用私钥解密。而在数字签名中,會使用私钥加密(相当于生成签名),公钥解密(相当于验证签名)。[12]

可以直接对消息进行签名(即使用私钥加密,此时加密的目的是为了签名,而不是保密),验证者用公钥正确解密消息,如果和原消息一致,则验证签名成功。但通常会对消息的散列值签名,因为通常散列值的长度远小于消息原文,使得签名(非对称加密)的效率大大提高。注意,计算消息的散列值不是数字签名的必要步骤。[13]

在实际使用中,我们既想加密消息,又想签名,所以要对加密和签名组合使用,比如TLS就組合了加密和簽名。[14]

数字签名应用了公钥密码领域使用的单向函数原理。单向函数指的是正向操作非常简单,而逆向操作非常困难的函数,比如大整数乘法。这种函数往往提供一种难解或怀疑难解的数学问题。目前,公钥密码领域具备实用性的三个怀疑难解问题为:质数分解离散对数椭圆曲线问题。

操作

数字签名就是将公钥密码反过来使用。签名者将讯息用私鑰加密(這是一種反用,因為通常公鑰密碼中私鑰用於解密),然后公布公钥;验证者使用公钥将加密讯息解密并比对消息(一般签名对象为消息的散列值。本节为了讲解方便,假设数字签名直接将消息而非散列值签名)。

因此,可靠的公钥密码算法均能构建出可靠的数字签名。下面講解為何反用公鑰密碼算法能夠構建出安全的數字簽名。

Alice是簽名者,假設她要對消息A進行簽名。現在, Alice生成了其公私鑰密碼對,公佈該公鑰,然後將消息用私鑰加密後發布。

現在,希望Alice的簽名算法具有如下特性:1,確認消息在傳輸過程中沒有丟位,沒被篡改(完整性). 2,確認消息的發送者是發布公鑰的Alice(認證). 3,確認Alice的確發布過該消息(不可否認性)

实现

数字签名算法是依靠公钥加密技术来实现的。在公钥加密技术里,每一个使用者有一对密钥:一把公钥和一把私钥。公钥可以自由发布,但私钥则秘密保存;还有一个要求就是要让通过公钥推算出私钥的做法不可能实现。

普通的数字签名算法包括三种算法:

  • 一种密码生成算法
  • 标记算法
  • 验证算法

RSAECDSA等算法可以实现数字签名。[15]常用的密碼雜湊函數SHA家族

参考文献

  1. ^ Diffie, W.; Hellman, M. New directions in cryptography. IEEE Transactions on Information Theory. 1976-11, 22 (6) [2022-09-08]. ISSN 0018-9448. doi:10.1109/tit.1976.1055638. (原始内容于2008-10-07). 
  2. ^ Lysyanskaya, Anna. Signature schemes and applications to cryptographic protocol design. 2002 [2022-09-08]. (原始内容于2022-09-08). 
  3. ^ For example any integer, r, "signs" m=re and the product, s1s2, of any two valid signatures, s1, s2 of m1, m2 is a valid signature of the product, m1m2.
  4. ^ The History of Notes and Domino. developerWorks. 2005-12-20. 
  5. ^ Lamport, Leslie. Constructing digital signatures from a one way function. 1979. 
  6. ^ Merkle, Ralph C. A certified digital signature. Conference on the Theory and Application of Cryptology (New York: Springer). 1989: 218-238. 
  7. ^ Rivest, Ronald L. Cryptography and machine learning. International Conference on the Theory and Application of Cryptology (Springer). 1991: 427-439. 
  8. ^ 8.0 8.1 Goldwasser, Shafi; Micali, Silvio; Rivest, Ronald L. A Digital Signature Scheme Secure Against Adaptive Chosen-Message Attacks. SIAM Journal on Computing. 1988-04, 17 (2). ISSN 0097-5397. doi:10.1137/0217017. 
  9. ^ 结城浩. 图解密码技术(第3版). 人民邮电出版社. 2016: 218页. ISBN 978-7-115-42491-4. 
  10. ^ 结城浩. 图解密码技术(第3版). 人民邮电出版社. 2016: 219页. ISBN 978-7-115-42491-4. 
  11. ^ 11.0 11.1 结城浩. 图解密码技术(第3版). 人民邮电出版社. 2016: 220页. ISBN 978-7-115-42491-4. 
  12. ^ 结城浩. 图解密码技术(第3版). 人民邮电出版社. 2016: 207页. ISBN 978-7-115-42491-4. 
  13. ^ 结城浩. 图解密码技术(第3版). 人民邮电出版社. 2016: 209–211页. ISBN 978-7-115-42491-4. 
  14. ^ 结城浩. 图解密码技术(第3版). 人民邮电出版社. 2016: 214–215页. ISBN 978-7-115-42491-4. 
  15. ^ 结城浩. 图解密码技术(第3版). 人民邮电出版社. 2016: 222–223页. ISBN 978-7-115-42491-4. 

外部連結

您可以在維基文庫中查找此百科條目的相關原始文獻:
  1. 電子簽章法
  2. 中华人民共和国电子签名法
  • 《中华人民共和国电子签名法》 (页面存档备份,存于互联网档案馆
  • 中華民國《電子簽章法》 (页面存档备份,存于互联网档案馆

數位簽章, 此條目可参照英語維基百科相應條目来扩充, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也不要翻译不可靠, 低品质内容, 依版权协议, 译文需在编辑摘要注明来源, 或于讨论页顶部标记, href, template, translated, page, html, title, template, translated, page, translated, page, 标签, 英語, digital, signature, 又称公鑰, 是一種功能類似写在纸上的普通签. 此條目可参照英語維基百科相應條目来扩充 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 數位簽章 英語 Digital Signature 又称公鑰數位簽章 是一種功能類似写在纸上的普通签名 但是使用了公钥加密领域的技术 以用于鉴别数字訊息的方法 一套数字签名通常會定义两种互补的运算 一个用于签名 另一个用于验证 法律用語中的電子簽章與數位簽章代表之意義並不相同 電子簽章指的是依附於電子文件並與其相關連 用以辨識及確認電子文件簽署人身分 資格及電子文件真偽者 數位簽章則是以數學演算法或其他方式運算對其加密而形成的電子簽章 意即並非所有的電子簽章都是數位簽章 数字签名不是指将签名扫描成数字图像 或者用触摸板获取的签名 更不是落款 数字签名了的文件的完整性是很容易验证的 不需要骑缝章 骑缝签名 也不需要笔迹鑑定 而且数字签名具有不可抵赖性 即不可否認性 不需要笔迹专家来验证 简单的数字签名原理目录 1 历史 2 使用 3 原理 3 1 操作 4 实现 5 参考文献 6 外部連結历史 编辑1976年 Whitfield Diffie和Martin Hellman首次描述了数字签名体系 他们根据陷门单向排列的功能推测了这种体系的存在 1 2 不久之后 Ronald Rivest Adi Shamir和Len Adleman发明了RSA算法 该算法可以用来生成原始的数字签名 因 普通 的RSA签名并不安全 3 这仅仅为概念验证 1989年 使用了RSA算法的Lotus Notes 1 0是第一个被广泛推广的提供数字签名的软件包 4 在RSA算法之后 其他数字签名方案被很快开发出来 最早的三个分别为Lamport签名 5 Merkle签名 也被称为 Merkle trees 或 Hash trees 6 和Rabin签名 7 1988年 Shafi Goldwasser Silvio Micali和Ronald Rivest成为第一个严格定义数字签名安全要求的人 8 他们描述了签名的攻击模型的层次结构 还提出了GMR签名方案 第一种被证明可防止伪造选定信息的数字签名 与现今能被接受的数字签名安全定义一致 8 使用 编辑使用者可以對其发出的每一封电子邮件进行数字签名 這不是指落款或簽名檔 英语 Signature block 普遍把落款讹误成签名 在中国大陆 数字签名是具法律效力的 正在被普遍使用 2000年 中華人民共和國的新 合同法 首次确认了电子合同 电子签名的法律效力 2005年4月1日起 中華人民共和國首部 电子签名法 正式实施 在台湾 2001年公佈實施 電子簽章法 做為數位簽章的法源依據及規範 並且製發中華民國自然人憑證及工商憑證 每个人都有一对 钥匙 数字身份 其中一个只有本人知道 私钥 另一个公开的 公钥 签名的时候用私钥 验证签名的时候用公钥 又因为任何人都可以落款申称他就是使用者本人 因此公钥必须向接受者信任的人 身份认证机构 来注册 注册后身份认证机构给使用者发一数字证书 对文件签名后 使用者把此数字证书连同文件及签名一起发给接受者 接受者向身份认证机构求证是否真地是用使用者的密钥签发的文件 訊息发布者可以使用数字签名 訊息发布的目的是让人们知道訊息 虽然没必要对消息进行加密 但是必须排除有人伪装訊息发布者发布假消息的风险 这时訊息发布者就可以使用数字签名 而对明文消息施加的签名 称为明文签名 clearsign 9 软件的作者可以加上数字签名 以便用户下载后对签名进行验证 10 认证机构 CA 也可以为用户的公钥加上数字签名生成证书 以便人们确认用户公钥的合法性 11 SSL TLS使用服务器证书 加上了数字签名的服务器公钥 认证服务器身份是否合法 11 原理 编辑通常會使用公钥加密 用私钥解密 而在数字签名中 會使用私钥加密 相当于生成签名 公钥解密 相当于验证签名 12 可以直接对消息进行签名 即使用私钥加密 此时加密的目的是为了签名 而不是保密 验证者用公钥正确解密消息 如果和原消息一致 则验证签名成功 但通常会对消息的散列值签名 因为通常散列值的长度远小于消息原文 使得签名 非对称加密 的效率大大提高 注意 计算消息的散列值不是数字签名的必要步骤 13 在实际使用中 我们既想加密消息 又想签名 所以要对加密和签名组合使用 比如TLS就組合了加密和簽名 14 数字签名应用了公钥密码领域使用的单向函数原理 单向函数指的是正向操作非常简单 而逆向操作非常困难的函数 比如大整数乘法 这种函数往往提供一种难解或怀疑难解的数学问题 目前 公钥密码领域具备实用性的三个怀疑难解问题为 质数分解 离散对数和椭圆曲线问题 操作 编辑 数字签名就是将公钥密码反过来使用 签名者将讯息用私鑰加密 這是一種反用 因為通常公鑰密碼中私鑰用於解密 然后公布公钥 验证者使用公钥将加密讯息解密并比对消息 一般签名对象为消息的散列值 本节为了讲解方便 假设数字签名直接将消息而非散列值签名 因此 可靠的公钥密码算法均能构建出可靠的数字签名 下面講解為何反用公鑰密碼算法能夠構建出安全的數字簽名 Alice是簽名者 假設她要對消息A進行簽名 現在 Alice生成了其公私鑰密碼對 公佈該公鑰 然後將消息用私鑰加密後發布 現在 希望Alice的簽名算法具有如下特性 1 確認消息在傳輸過程中沒有丟位 沒被篡改 完整性 2 確認消息的發送者是發布公鑰的Alice 認證 3 確認Alice的確發布過該消息 不可否認性 实现 编辑数字签名算法是依靠公钥加密技术来实现的 在公钥加密技术里 每一个使用者有一对密钥 一把公钥和一把私钥 公钥可以自由发布 但私钥则秘密保存 还有一个要求就是要让通过公钥推算出私钥的做法不可能实现 普通的数字签名算法包括三种算法 一种密码生成算法 标记算法 验证算法RSA ECDSA等算法可以实现数字签名 15 常用的密碼雜湊函數有SHA家族 参考文献 编辑 Diffie W Hellman M New directions in cryptography IEEE Transactions on Information Theory 1976 11 22 6 2022 09 08 ISSN 0018 9448 doi 10 1109 tit 1976 1055638 原始内容存档于2008 10 07 Lysyanskaya Anna Signature schemes and applications to cryptographic protocol design 2002 2022 09 08 原始内容存档于2022 09 08 For example any integer r signs m re and the product s1s2 of any two valid signatures s1 s2 of m1 m2 is a valid signature of the product m1m2 The History of Notes and Domino developerWorks 2005 12 20 缺少或 url 为空 帮助 Lamport Leslie Constructing digital signatures from a one way function 1979 Merkle Ralph C A certified digital signature Conference on the Theory and Application of Cryptology New York Springer 1989 218 238 Rivest Ronald L Cryptography and machine learning International Conference on the Theory and Application of Cryptology Springer 1991 427 439 8 0 8 1 Goldwasser Shafi Micali Silvio Rivest Ronald L A Digital Signature Scheme Secure Against Adaptive Chosen Message Attacks SIAM Journal on Computing 1988 04 17 2 ISSN 0097 5397 doi 10 1137 0217017 结城浩 图解密码技术 第3版 人民邮电出版社 2016 218页 ISBN 978 7 115 42491 4 结城浩 图解密码技术 第3版 人民邮电出版社 2016 219页 ISBN 978 7 115 42491 4 11 0 11 1 结城浩 图解密码技术 第3版 人民邮电出版社 2016 220页 ISBN 978 7 115 42491 4 结城浩 图解密码技术 第3版 人民邮电出版社 2016 207页 ISBN 978 7 115 42491 4 结城浩 图解密码技术 第3版 人民邮电出版社 2016 209 211页 ISBN 978 7 115 42491 4 结城浩 图解密码技术 第3版 人民邮电出版社 2016 214 215页 ISBN 978 7 115 42491 4 结城浩 图解密码技术 第3版 人民邮电出版社 2016 222 223页 ISBN 978 7 115 42491 4 外部連結 编辑您可以在維基文庫中查找此百科條目的相關原始文獻 電子簽章法 中华人民共和国电子签名法 中华人民共和国电子签名法 页面存档备份 存于互联网档案馆 中華民國 電子簽章法 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title 數位簽章 amp oldid 77345021, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。