CN112989436A - 一种基于区块链平台的多重签名方法 - Google Patents
一种基于区块链平台的多重签名方法 Download PDFInfo
- Publication number
- CN112989436A CN112989436A CN202110343434.1A CN202110343434A CN112989436A CN 112989436 A CN112989436 A CN 112989436A CN 202110343434 A CN202110343434 A CN 202110343434A CN 112989436 A CN112989436 A CN 112989436A
- Authority
- CN
- China
- Prior art keywords
- signature
- signer
- key pair
- public
- trusted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于区块链平台的多重签名方法,以椭圆曲线为基础生成密钥对,包括如下步骤:1)密钥对的生成;2)签名阶段;3)验证阶段。这种方法可减少通信次数,还能避免流氓秘钥攻击。
Description
技术领域
本发明涉及数字签名技术与区块链领域,具体是一种基于区块链平台的多重签名方法。
背景技术
随着经济全球化和信息现代化的发展,全球金融和政务信息的数量急剧增长。在电子商务和电子政务的实际应用中,同一份文件或合同往往需要由几个相关人员的签字确认才可生效,且这种情况下对签名的顺序不做要求。数字签名技术以一种电子签名的方式,将签名对象与签名者互相绑定,可以保证签名的真实性。在电子商务和电子政务中数字签名保证了数据的完整性和不可否认性以及确定了文件的负责人。然而,随着数据的大量增长,传统的数字签名方案日益暴露出信息传输量大,签名长度过长,签名和验证效率低的弱点。
多签名方案允许一组签名者在同一个消息上共同生成一个签名,该签名可以被任何人验证,使得签名更加紧凑。多重签名的验证更快,它有助于减少带宽和验证和存储的成本。而且最终形成的签名大小和公钥长度都与签名者的数量无关。最近,多重签名引起了人们的广泛关注,因为它的这些优势正是区块链和加密货币所需要的。这样的多重签名提供了一个紧凑的签名和一个紧凑的聚合公钥。然而,在传统的基于Schnorr多重签名方案中,签名人之间需要进行大量的通信。
区块链技术自2009年发布以来发展迅速,改变了信息传输模式,那么区块链作为建设信任机制,就有可能彻底改变整个人类社会的模式。我们基于区块链平台提出了一种改进的基于Schnorr的多重签名方案,它适用于电子商务和电子政务场景。
发明内容
本发明针对现有技术中存在的不足,提供一种基于区块链平台的多重签名方法。这种方法可减少通信次数,还能避免流氓秘钥攻击。
实现本发明目的的技术方案是:
一种基于区块链平台的多重签名方法,以椭圆曲线为基础生成密钥对,设为素数阶q的难以求解离散对数问题的椭圆曲线群,其生成元为G,其中|q|=κ为安全参数,设Hcom和Hsig是两个将{0,1}*转换为的密码学哈希函数,则的公开参数集合为设n为签名者的数量,其中n≥2,L={y1,y2,…,yn}为签名者的公钥集合,为了共同签署消息m∈{0,1}*,包括如下步骤:
2)签名阶段:对于每个签名者i,i∈{1,2,…,n}的工作方式如下:
(1)签名者首先计算值ai=Hcom(yi||L),该值可用于验证签名者i是否在该签名集合L中以及在L中的身份,可信第三方为集合中的每个签名者i生成随机值并计算出多重签名的第一部分以及哈希值e=Hsig(L||m||R),随后将随机值ri和哈希值e发送给各签名者;
(2)各签名者i收到从可信第三方收到ri的和哈希值e,然后计算zi=ri+eaiximodq,最后将zi发送给签名统计者,统计者根据收到的{z1,…,zn}计算多重签名的第二部分并将多重签名的第二部分z发送给可信第三方,即可输出签名σ=(R,z);
3)验证阶段:对于给定的消息m以及它的签名σ=(R,z)和签名者的集合L,验证者首先为每个签名者i计算ai=Hcom(yi||L),然后计算e=Hsig(L||m||R),最后验证等式是否成立,若成立则接收这个多重签名,否则拒绝;
考虑到可能存在不安全的执行环境的问题,我们可先建立可信执行环境(trustedexecution environment,简称TEE)。
本技术方案与现有技术相比:
减少了传统基于schnorr多重签名方案签名人之间通信次数过多的问题,同样避免了流氓秘钥攻击。
这种方法可减少通信次数,还能避免流氓秘钥攻击。
附图说明
图1为实施例中签名阶段的流程示意图;
图2为实施例中初始化签名阶段的流程图;
图3为实施例中联合签名阶段的流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述,但不是对本发明的限定。
实施例:
本例以在Hyperledger Fabric上实现为例,选取椭圆曲线的位数P-256,在Hyperledger Fabric中被称为链码的智能合约为可信第三方。
一种基于区块链平台的多重签名方法,以椭圆曲线为基础生成密钥对,设为素数阶q的难以求解离散对数问题的椭圆曲线群,其生成元为G,其中|q|=κ为安全参数,设Hcom和Hsig是两个将{0,1}*转换为的密码学哈希函数,则的公开参数集合为设n为签名者的数量,其中n≥2,L={y1,y2,…,yn}为签名者的公钥集合,为了共同签署消息m∈{0,1}*,包括如下步骤:
1)密钥对的生成:每个用户i,i∈{1,2,…,n}随机地选取随机数xi←Zq *,来生成自己的公私钥对(yi,xi),其中yi=xi·G;本例Fabric中所有用户的公私钥对都由Fabric-CA生成注册,并且管理联盟成员信息,各用户可通过Fabric-CA查询其他用户的身份信息;
由于本例Hyperledger Fabric中链码将生成的随机值用由签名发起者传输的签名集合L中对应各签名者的公钥进行ECC加密,保证了获得随机值的签名者是属于签名集合的,所以本例不需要计算ai的值;
2)签名阶段:如图1所示,对于每个签名者i,i∈{1,2,…,n}的工作方式如下:
(1)签名者首先计算值ai=Hcom(yi||L),该值可用于验证签名者i是否在该签名集合L中以及在L中的身份,可信第三方为集合中的每个签名者i生成随机值并计算出多重签名的第一部分以及哈希值e=Hsig(L||m||R),随后将随机值ri和哈希值e发送给各签名者;本例签名发起者将信息m和集合L={y1,y2,…,yn}发送给链码,调用链码的初始化算法,链码通过伪随机数生成算法为每个签名者i生成随机值ri,并计算出以及通过SHA-256哈希算法计算值e=Hsig(L||m||R),然后链码用集合L中公钥进行椭圆曲线加密,得到加密后每个人的随机值ri(记作ECC(ri))并得到一个公钥与ECC(ri)一一对应的map,链码将这个map和哈希值e放到世界状态中,最后,链码将签名发起者的ECC(r)和哈希值e返回给签名发起者,如图2所示;
(2)各签名者i收到从可信第三方收到ri的和哈希值e,然后计算zi=ri+eaiximodq,最后将zi发送给签名统计者,统计者根据收到的{z1,…,zn}计算多重签名的第二部分并将多重签名的第二部分z发送给可信第三方,即可输出签名σ=(R,z);本例其他签名者i将信息m和集合L={y1,y2,…,yn}发送给链码,调用链码的查询算法,从世界状态中查询得到自己的ECC(ri)和哈希值e,然后用自己的私钥解密ECC(ri)得到随机值ri,然后计算zi=ri+exi,最后将zi发送给签名发起者,签名发起者根据收到的{z1,…,zn}计算并将其发送给链码,链码输出签名σ=(R,z),如图3所示;
3)验证阶段:对于给定的消息m以及它的签名σ=(R,z)和签名者的集合L,验证者首先为每个签名者i计算ai=Hcom(yi||L),然后计算e=Hsig(L||m||R),最后验证等式是否成立,若成立则接收这个多重签名,否则拒绝;本例其他节点根据信息m、集合L={y1,y2,…,yn}和签名σ=(R,z),首先根据SHA-256算法计算e=Hsig(L||m||R),若成立则将信息和多重签名写入账本;
Claims (1)
1.一种基于区块链平台的多重签名方法,其特征在于,以椭圆曲线为基础生成密钥对,设为素数阶q的难以求解离散对数问题的椭圆曲线群,其生成元为G,其中|q|=κ为安全参数,设Hcom和Hsig是两个将{0,1}*转换为的密码学哈希函数,则公开参数集合为设n为签名者的数量,其中n≥2,L={y1,y2,…,yn}为签名者的公钥集合,为了共同签署消息m∈{0,1}*,包括如下步骤:
2)签名阶段:对于每个签名者i,i∈{1,2,…,n}的工作方式如下:
(1)签名者首先计算值哈希值ai=Hcom(yi||L),该值可用于验证签名者i是否在该签名集合L中以及在L中的身份,可信第三方为集合中的每个签名者i生成随机值并计算出多重签名的第一部分以及哈希值e=Hsig(L||m||R),随后将随机值ri和哈希值e发送给各签名者;
(2)各签名者i收到从可信第三方收到ri的和哈希值e,然后计算zi=ri+eaiximod q,最后将zi发送给签名统计者,统计者根据收到的{z1,…,zn}计算多重签名的第二部分并将多重签名的第二部分z发送给可信第三方,即可输出签名σ=(R,z);
3)验证阶段:对于给定的消息m以及它的签名σ=(R,z)和签名者的集合L,验证者首先为每个签名者i计算ai=Hcom(yi||L),然后计算e=Hsig(L||m||R),最后验证等式是否成立,若成立则接收这个多重签名,否则拒绝;
假定每个签名者都诚实地生成了自己的公私钥对,那么正确性可证明如下:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110343434.1A CN112989436B (zh) | 2021-03-30 | 2021-03-30 | 一种基于区块链平台的多重签名方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110343434.1A CN112989436B (zh) | 2021-03-30 | 2021-03-30 | 一种基于区块链平台的多重签名方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112989436A true CN112989436A (zh) | 2021-06-18 |
CN112989436B CN112989436B (zh) | 2022-04-22 |
Family
ID=76338537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110343434.1A Active CN112989436B (zh) | 2021-03-30 | 2021-03-30 | 一种基于区块链平台的多重签名方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112989436B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113556237A (zh) * | 2021-09-17 | 2021-10-26 | 杭州链网科技有限公司 | 基于聚合多签的阈值签名方法、系统、装置及存储介质 |
CN117499039A (zh) * | 2023-10-09 | 2024-02-02 | 贵州大学 | 基于椭圆曲线公钥密码算法的区块链签名方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038578A (zh) * | 2017-04-19 | 2017-08-11 | 浙江数秦科技有限公司 | 基于区块链的数据交易平台中多重签名交易信息处理方法 |
CN108650097A (zh) * | 2018-04-28 | 2018-10-12 | 上海扈民区块链科技有限公司 | 一种高效的聚合数字签名方法 |
CN109714153A (zh) * | 2019-02-01 | 2019-05-03 | 铜陵学院 | 一种高效的聚合签名方法 |
US20190165932A1 (en) * | 2016-07-29 | 2019-05-30 | nChain Holdings Limited | Blockchain-implemented method and system |
CN110011810A (zh) * | 2019-03-31 | 2019-07-12 | 西安电子科技大学 | 基于可链接环签名和多重签名的区块链匿名签名方法 |
CN110190957A (zh) * | 2019-05-29 | 2019-08-30 | 西安邮电大学 | 基于无证书的多变量广播多重签名方法 |
CN110880972A (zh) * | 2019-11-26 | 2020-03-13 | 复旦大学 | 一种基于安全多方计算的区块链密钥管理系统 |
CN111294379A (zh) * | 2018-12-10 | 2020-06-16 | 北京沃东天骏信息技术有限公司 | 区块链网络服务平台及其权限托管方法、存储介质 |
CN111709727A (zh) * | 2020-05-18 | 2020-09-25 | 杜晓楠 | 在区块链钱包中保存多重签名的方法和计算机可读存储介质 |
CN112055025A (zh) * | 2020-09-10 | 2020-12-08 | 广西师范大学 | 一种基于区块链的隐私数据保护方法 |
CN112199736A (zh) * | 2020-10-12 | 2021-01-08 | 南京邮电大学 | 一种基于区块链的有序多重签名方法 |
CN112311772A (zh) * | 2020-10-12 | 2021-02-02 | 华中师范大学 | 基于Hyperledger的跨域证书管理系统及方法 |
CN112532394A (zh) * | 2020-11-26 | 2021-03-19 | 中国电子科技集团公司第五十四研究所 | 一种区块链抗签名可追踪的无证书盲签名生成方法 |
-
2021
- 2021-03-30 CN CN202110343434.1A patent/CN112989436B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190165932A1 (en) * | 2016-07-29 | 2019-05-30 | nChain Holdings Limited | Blockchain-implemented method and system |
CN107038578A (zh) * | 2017-04-19 | 2017-08-11 | 浙江数秦科技有限公司 | 基于区块链的数据交易平台中多重签名交易信息处理方法 |
CN108650097A (zh) * | 2018-04-28 | 2018-10-12 | 上海扈民区块链科技有限公司 | 一种高效的聚合数字签名方法 |
CN111294379A (zh) * | 2018-12-10 | 2020-06-16 | 北京沃东天骏信息技术有限公司 | 区块链网络服务平台及其权限托管方法、存储介质 |
CN109714153A (zh) * | 2019-02-01 | 2019-05-03 | 铜陵学院 | 一种高效的聚合签名方法 |
CN110011810A (zh) * | 2019-03-31 | 2019-07-12 | 西安电子科技大学 | 基于可链接环签名和多重签名的区块链匿名签名方法 |
CN110190957A (zh) * | 2019-05-29 | 2019-08-30 | 西安邮电大学 | 基于无证书的多变量广播多重签名方法 |
CN110880972A (zh) * | 2019-11-26 | 2020-03-13 | 复旦大学 | 一种基于安全多方计算的区块链密钥管理系统 |
CN111709727A (zh) * | 2020-05-18 | 2020-09-25 | 杜晓楠 | 在区块链钱包中保存多重签名的方法和计算机可读存储介质 |
CN112055025A (zh) * | 2020-09-10 | 2020-12-08 | 广西师范大学 | 一种基于区块链的隐私数据保护方法 |
CN112199736A (zh) * | 2020-10-12 | 2021-01-08 | 南京邮电大学 | 一种基于区块链的有序多重签名方法 |
CN112311772A (zh) * | 2020-10-12 | 2021-02-02 | 华中师范大学 | 基于Hyperledger的跨域证书管理系统及方法 |
CN112532394A (zh) * | 2020-11-26 | 2021-03-19 | 中国电子科技集团公司第五十四研究所 | 一种区块链抗签名可追踪的无证书盲签名生成方法 |
Non-Patent Citations (4)
Title |
---|
DARIO CATALANO等: "Double-Authentication-Preventing Signatures in the Standard Model", 《INTERNATIONAL CONFERENCE, SCN 2020》 * |
吴玉龙: "基于区块链的多重签名算法研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
张奥等: "区块链隐私保护研究与实践综述", 《软件学报》 * |
沈建祥: "基于证书的多重签名及其应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113556237A (zh) * | 2021-09-17 | 2021-10-26 | 杭州链网科技有限公司 | 基于聚合多签的阈值签名方法、系统、装置及存储介质 |
CN113556237B (zh) * | 2021-09-17 | 2021-12-17 | 杭州链网科技有限公司 | 基于聚合多签的阈值签名方法、系统、装置及存储介质 |
CN117499039A (zh) * | 2023-10-09 | 2024-02-02 | 贵州大学 | 基于椭圆曲线公钥密码算法的区块链签名方法 |
CN117499039B (zh) * | 2023-10-09 | 2024-03-26 | 贵州大学 | 基于椭圆曲线公钥密码算法的区块链签名方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112989436B (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108989050B (zh) | 一种无证书数字签名方法 | |
CN108551392B (zh) | 一种基于sm9数字签名的盲签名生成方法及系统 | |
CN111342973B (zh) | 一种安全的pki与ibc之间的双向异构数字签名方法 | |
Camenisch et al. | Confirmer signature schemes secure against adaptive adversaries | |
CN102170352B (zh) | 使用具有温特尼茨单次签名的ecdsa的方法 | |
JP3522447B2 (ja) | 認証交換方法および付加型公衆電子署名方法 | |
Gennaro et al. | RSA-based undeniable signatures | |
CN110896351B (zh) | 基于全域哈希的身份基数字签名方法 | |
CA2830285C (en) | Keyed pv signatures | |
CN111654366B (zh) | 一种安全的pki与ibc之间的双向异构强指定验证者签名方法 | |
CN112989436B (zh) | 一种基于区块链平台的多重签名方法 | |
KR20030062401A (ko) | 겹선형쌍을 이용한 개인식별정보 기반의 은닉서명 장치 및방법 | |
CN102883321A (zh) | 一种面向移动微技的数字签名认证方法 | |
WO2012156254A1 (en) | A method for performing a group digital signature | |
CN114499887B (zh) | 签名密钥生成及相关方法、系统、计算机设备和存储介质 | |
WO2004014020A1 (en) | Groups signature scheme | |
Islam et al. | Certificateless strong designated verifier multisignature scheme using bilinear pairings | |
CN110943845A (zh) | 一种轻量级两方协同产生sm9签名的方法及介质 | |
Huang et al. | Partially blind ECDSA scheme and its application to bitcoin | |
CN109617700A (zh) | 基于无证书的单向多跳代理重签名方法 | |
CN113507366B (zh) | 一种基于格的可搜索日志盲签名方案 | |
US20020044648A1 (en) | Methods and systems for efficient chained certification | |
CN112217629B (zh) | 一种云存储公开审计方法 | |
KR100194638B1 (ko) | 개인 식별정보를 이용한 부가형 디지털 서명방법 | |
JP3540477B2 (ja) | 署名方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |