CN109257179A - 一种签名生成方法及采用该方法的区块链账户管理方法 - Google Patents
一种签名生成方法及采用该方法的区块链账户管理方法 Download PDFInfo
- Publication number
- CN109257179A CN109257179A CN201811171139.7A CN201811171139A CN109257179A CN 109257179 A CN109257179 A CN 109257179A CN 201811171139 A CN201811171139 A CN 201811171139A CN 109257179 A CN109257179 A CN 109257179A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- signature
- account
- share
- secret
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3255—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3252—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种签名生成方法及采用该方法的区块链账户管理方法,所述签名生成方法基于椭圆曲线数字签名算法,不同于原始ECDSA签名算法,账户私钥和随机数是以多方计算的形式参与到ECDSA签名过程中。本发明与目前的区块链账户管理方式相比,其有益效果在于,空间消耗低,与普通数字签名占用空间一致,易费低,限化,具有较高容错性,因此稳定性高,成功率高,容性高,任何采取ECDSA签名算法的账户均可使用本方案进行管理。
Description
技术领域
本发明属于区块链技术领域,尤其是涉及一种签名生成方法及采用该方法的区块链账户管理方法。
背景技术
区块链是一种按照时间顺序将数据区块以链条的方式组合成特定的数据结构,并以密码学方式保证的不可篡改和不可伪造的去中心化共享总账,能够安全存储简单的、有先后关系、能在系统内验证的数据。
区块链目前已经应用到金融、医疗、教育等多个领域。它将应用逻辑写入智能合约中,然后部署到区块链上。用户通过其区块链账户向智能合约发送一笔交易,触发合约中的逻辑,执行相应操作,最终完成实际业务。因此账户管理对于区块链的应用非常重要。而在有些特定场景中,需要多个主体共同管理某个账户,要求这些主体对账户拥有相同的控制权,只有满足条件数量的主体参与才能够控制账户发送合法交易,单个主体无法做到。
为了实现多主体控制账户的目标,一系列技术被提出。这些技术存在空间占有率高、通用性不强、参与主体需实时在线等缺陷。本方案是一个基于多方计算的区块链账户管理方法,对空间占有率与单主体账户等同,具有很强通用性,并且实现了账户管理的“门限化”,降低了需参与主体在线的要求。限。
当前区块链多主体账户的管理方式有两种:
多重签名
将管理账户与多个用户公钥进行绑定,需要提供所有这些公钥对应的数字签名才能够解锁账户。具体流程:
1.交易提出者构造交易,然后广播给其他管理主体
2.其他收到交易后,用自己的私钥进行签名,并广播出去
3.当一个主体收集到所有签名之后,构造成完成交易发送出去 Schnorr签名
基本思想是将参与者的公钥“合成”为一个总体的公钥,然后每个参与者利用自己的私钥作出签名后,再将这个签名合成为总体的签名,与总体的公钥相匹配。
多重签名的技术缺点:
1.空间占有率高
2.交易费高
3.容错性差,只要一个参与者不在线,就无法完成签名。
4.兼容性差,不支持智能合约或者多重签名脚本的区块链无法使用 Schnorr签名的技术缺点:
1.兼容性差,不支持ECDSA
2.所有参与者必须同时在线,容错性差。
发明内容
为了弥补上述区块链账户管理上的缺陷,本发明提出一种基于多方运算的区块链账户管理方法。
其技术方案为:一种签名生成方法,所述签名生成方法基于椭圆曲线数字签名算法,所述方法步骤包括:
参与节点利用多方计算共享随机数c,Pi的随机数份额为ci;
Pi计算Ri=ciG,并广播Pi;
各节点广播结束后,Pi计算r=x mod p,其中
参与节点Pi利用一元求逆多方计算算法计算c-1的份额ωi;
利用ωi和ti,通过乘法多方计算算法,计算得到c-1d的份额vi,其中d为锁定账户私钥,ti为锁定账户私钥份额;
计算结束后,Pi计算si=ωim+vir,si即为参与者Pi的签名份额,Pi将其广播;
Pi计算验证Rj=uj1G+uj2Qj,其中Qj=tjG,如果验证通过,则接受签名份额sj,否则拒绝签名份额sj;
Pi接受到k个以上签名份额后,利用拉格朗日插值算法还原出完整签名s,最终签名为(r,s)。
一种区块链账户管理方法,所述账户管理方法还包括锁定账户生成算法和锁定账户更新算法。
进一步的,所述方法还包括辅助算法,所述辅助算法包括乘法的多方算法,其步骤包括:
Pi产生一个随机的k-1次多项式hi(x),要求满足hi(0)=αiβi,
Pi计算hi(j)发送给Pj,1≤j≤2k-1,
每个参与者Pi收集其他参与者发送给它秘密份额,最后计算H(i)即为Pi获得的秘密αβ的秘密份额。
进一步的,所述辅助算法还包括一元求逆的多方计算算法,其步骤包括:
Pi选择随机数ri,并选择随机多项式gi(x)计算其秘密份额rij=gi(j)发送给参与者Pj,1≤j≤n,
Pj接受到所有秘密份额之后,计算
利用乘法的多方计算算法,通过α和r的秘密份额计算得到αr的秘密份额far(i),并恢复出αr,
令m=αr,即为Pi掌握的α-1秘密份额。
本发明与目前的区块链账户管理方式相比,其有益效果在于,空间消耗低,与普通数字签名占用空间一致,易费低,限化,具有较高容错性,因此稳定性高,成功率高,容性高,任何采取ECDSA签名算法的账户均可使用本方案进行管理。
具体实施方式
下面将结合实施例对本发明做进一步描述
区块链账户的身份认证是通过数字签名完成,其所采取的算法为基于椭圆曲线的ECDSA签名。因此区块链账户管理的核心就是数字签名的生成方式。本方案基于拉格朗日差值多项式秘密分享算法,结合多方计算,完成了ECDSA签名算法的门限化,从而达到区块链账户多方管理的目标,提高了账户管理的可信性以及容错性。在下文中,采取本方案生成和管理的账户,统称为锁定账户。
整个方案包含三个核心算法:锁定账户生成算法、锁定账户签名算法、锁定账户密钥更新算法,以及三个辅助算法:加法的多方计算算法、乘法的多方计算算法、一元求逆的多方计算算法。
(一)辅助算法
α、β为通过拉格朗日差值多项式秘密分享算法分享的连个秘密,由α、β的秘密份额计算α+β秘密份额算法如下:
输入:秘密α、β的秘密份额αi、βi;
输出:秘密α+β的秘密份额γi;
γi=αi+βi。
α、β为通过拉格朗日差值多项式秘密分享算法分享的连个秘密,
由α、β的秘密份额计算αβ秘密份额算法如下:
输入:秘密α、β的秘密份额αi、βi,
输出:秘密αβ的秘密份额γi,
Pi产生一个随机的k-1次多项式hi(x),要求满足hi(0)=αiβi,
Pi计算hi(j)发送给Pj,1≤j≤2k-1,
每个参与者Pi收集其他参与者发送给它秘密份额,最后计算H(i)即为Pi获得的秘密αβ的秘密份额。
α为通过拉格朗日差值多项式秘密分享算法分享的连个秘密,由α的秘密份额计算α-1秘密份额算法如下:
输入:秘密α的秘密份额αi,
输出:秘密α-1的秘密份额γi,
Pi选择随机数ri,并选择随机多项式gi(x)计算其秘密份额rij=gi(j)发送给参与者Pj,1≤j≤n,
Pj接受到所有秘密份额之后,计算
利用乘法的多方计算算法,通过α和r的秘密份额计算得到αr的秘密份额far(i),并恢复出αr,
令m=αr,即为Pi掌握的α-1秘密份额。
(二)核心算法
锁定账户生成算法
锁定账户生成方案是基于拉格朗日插值多项式的门限密钥管理方案的改进。它的基本思路是通过门限密钥分享,所有验证节点以去中心化的方式共同生成锁定账户,并且每一个验证节点都掌握着锁定账户私钥的一个份额。这样保证了锁定账户私钥是以私钥份额这种分布式的形式存在于整个网络中,因此才能够去中心化的管理。
所述锁定账户生成算法包括:
Pi选择随机数di,将diG广播全网;
Pi选择k-1次多项式:fi(x)=di+ai,1x+…+ai,k-1xk-1,将fi(j)通过安全信道传输给Pj,同时将ai,1G……ai,k-1G广播全网;
Pj到Pi信息之后,进行验证:如果验证不通过,则拒收,请求Pi重新发送信息;
待所有信息都发送完毕且验证通过后,每个用户的密钥份额为
(k,n)门限锁定账户地址为address=Hash(Q),其中对应私钥为这个私钥只有通过k份以上密钥份额才能够恢复。
锁定账户签名算法
在锁定账户签名生成过程中,不同于原始ECDSA签名算法,账户私钥和随机数是以多方计算的形式参与到ECDSA签名过程中;锁定账户签名验证过程与原始ECDSA签名验证算法相同。因此只介绍锁定账户签名生成过程,所述锁定账户签名算法包括:
参与节点利用多方计算共享随机数c,Pi的随机数份额为ci;
Pi计算Ri=ciG,并广播Ri;
各节点广播结束后,Pi计算r=x mod p,其中
参与节点Pi利用一元求逆多方计算算法计算c-1的份额ωi;
利用ωi和ti,通过乘法多方计算算法,计算得到c-1d的份额vi,其中d为锁定账户私钥,ti为锁定账户私钥份额;
计算结束后,Pi计算si=ωim+vir,si即为参与者Pi的签名份额,Pi将其广播;
Pi计算验证Rj=uj1G+uj2Qj,其中Qj=tjG,如果验证通过,则接受签名份额sj,否则拒绝签名份额sj;
Pi接受到k个以上签名份额后,利用拉格朗日插值算法还原出完整签名s,最终签名为(r,s)。
锁定账户密钥更新算法
本方案中采用的基于拉格朗日插值多项式的门限密钥共享算法属于线性密钥共享机制,因此密钥共享满足同态性:密钥key1的(k,n)门限密钥份额为(a1,…,an),密钥key2的(k,n)门限密钥份额为(b1,…,bn),则 (a1+b1,…,an+bn)为密钥key1+key2的(k,n)门限密钥份额。如果令key2=0,那么我们就能够得到key1的新的(k,n)门限密钥份额,所述锁定账户更新算法包括:
节点Pi选择随机多项式,将0进行共享,并计算份额(fi(1),…,fi(n));
节点Pi通过安全信道将fi(j)发送给Pj,j=1,......,n;
所有发送结束后,节点Pi收到信息(f1(i),…,fn(i)),则Pi新的密钥份额为:
本发明与目前的区块链账户管理方式相比,其有益效果在于,空间消耗低,与普通数字签名占用空间一致,易费低,限化,具有较高容错性,因此稳定性高,成功率高,容性高,任何采取ECDSA签名算法的账户均可使用本方案进行管理。
上述技术方案仅体现了本发明技术方案的优选技术方案,本技术领域的技术人员对其中某些部分所可能做出的一些变动均体现了本发明的原理,属于本发明的保护范围之内。
Claims (4)
1.一种签名生成方法,所述签名生成方法基于椭圆曲线数字签名算法,其特征在于,所述方法步骤包括:
参与节点利用多方计算共享随机数c,Pi的随机数份额为ci;
Pi计算Ri=ciG,并广播Ri;
各节点广播结束后,Pi计算r=x mod p,其中
参与节点Pi利用一元求逆多方计算算法计算c-1的份额ωi;
利用ωi和ti,通过乘法多方计算算法,计算得到c-1d的份额vi,其中d为锁定账户私钥,ti为锁定账户私钥份额;
计算结束后,Pi计算si=ωim+vir,si即为参与者Pi的签名份额,Pi将其广播;
Pi计算验证Rj=uj1G+uj2Qj,其中Qj=tjG,如果验证通过,则接受签名份额sj,否则拒绝签名份额sj;
Pi接受到k个以上签名份额后,利用拉格朗日插值算法还原出完整签名s,最终签名为(r,s)。
2.一种采用权利要求1所述方法的区块链账户管理方法,其特征在于,所述账户管理方法还包括锁定账户生成算法和锁定账户更新算法。
3.根据权利要求2所述的区块链账户管理方法,其特征在于,所述方法还包括辅助算法,所述辅助算法包括乘法的多方算法,其步骤包括:
Pi产生一个随机的k-1次多项式hi(x),要求满足hi(0)=αiβi,
Pi计算hi(j)发送给Pj,1≤j≤2k-1,
每个参与者Pi收集其他参与者发送给它秘密份额,最后计算H(i)即为Pi获得的秘密αβ的秘密份额。
4.根据权利要求3所述的区块链账户管理方法,其特征在于,所述辅助算法还包括一元求逆的多方计算算法,其步骤包括:
Pi选择随机数ri,并选择随机多项式gi(x)计算其秘密份额rij=gi(j)发送给参与者Pj,1≤j≤n,
Pj接受到所有秘密份额之后,计算
利用乘法的多方计算算法,通过α和r的秘密份额计算得到αr的秘密份额fαt(i),并恢复出αr,
令m=αr,即为Pi掌握的α-1秘密份额。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811171139.7A CN109257179A (zh) | 2018-10-09 | 2018-10-09 | 一种签名生成方法及采用该方法的区块链账户管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811171139.7A CN109257179A (zh) | 2018-10-09 | 2018-10-09 | 一种签名生成方法及采用该方法的区块链账户管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109257179A true CN109257179A (zh) | 2019-01-22 |
Family
ID=65045194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811171139.7A Pending CN109257179A (zh) | 2018-10-09 | 2018-10-09 | 一种签名生成方法及采用该方法的区块链账户管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109257179A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109905247A (zh) * | 2019-03-28 | 2019-06-18 | 郑州师范学院 | 基于区块链的数字签名方法、装置、设备及存储介质 |
CN109921900A (zh) * | 2019-02-18 | 2019-06-21 | 深圳市优学链科技有限公司 | 一种分布式密钥生成的算法 |
CN110070447A (zh) * | 2019-03-15 | 2019-07-30 | 深圳壹账通智能科技有限公司 | 基于智能合约与多重签名的标的募资方法、介质和设备 |
CN112613882A (zh) * | 2020-12-29 | 2021-04-06 | 成都知道创宇信息技术有限公司 | 一种分布式签名系统及管理方法 |
CN112865953A (zh) * | 2021-02-01 | 2021-05-28 | 浙江大学 | 基于辅助服务器的安全多方计算方法、装置和系统 |
CN113947405A (zh) * | 2021-09-13 | 2022-01-18 | 北京航空航天大学杭州创新研究院 | 基于区块链的数字资产管理方法 |
CN114467280A (zh) * | 2019-10-15 | 2022-05-10 | 塞皮奥有限责任公司 | 使用冷钱包生成数字签名 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106100847A (zh) * | 2016-06-14 | 2016-11-09 | 惠众商务顾问(北京)有限公司 | 非对称加密区块链身份信息验证方法及装置 |
KR20180089670A (ko) * | 2017-02-01 | 2018-08-09 | 주식회사 더루프 | 키 관리가 필요없는 블록체인을 기반한 전자서명 또는 메시지 인증 코드를 생성 및 검증 방법 |
-
2018
- 2018-10-09 CN CN201811171139.7A patent/CN109257179A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106100847A (zh) * | 2016-06-14 | 2016-11-09 | 惠众商务顾问(北京)有限公司 | 非对称加密区块链身份信息验证方法及装置 |
KR20180089670A (ko) * | 2017-02-01 | 2018-08-09 | 주식회사 더루프 | 키 관리가 필요없는 블록체인을 기반한 전자서명 또는 메시지 인증 코드를 생성 및 검증 방법 |
Non-Patent Citations (1)
Title |
---|
任熏儿: "万维链黄皮书", 《豆丁网,HTTPS://WWW.DOCIN.COM/P-2123638858.HTM1》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109921900A (zh) * | 2019-02-18 | 2019-06-21 | 深圳市优学链科技有限公司 | 一种分布式密钥生成的算法 |
CN110070447A (zh) * | 2019-03-15 | 2019-07-30 | 深圳壹账通智能科技有限公司 | 基于智能合约与多重签名的标的募资方法、介质和设备 |
CN109905247A (zh) * | 2019-03-28 | 2019-06-18 | 郑州师范学院 | 基于区块链的数字签名方法、装置、设备及存储介质 |
CN109905247B (zh) * | 2019-03-28 | 2022-03-15 | 郑州师范学院 | 基于区块链的数字签名方法、装置、设备及存储介质 |
CN114467280A (zh) * | 2019-10-15 | 2022-05-10 | 塞皮奥有限责任公司 | 使用冷钱包生成数字签名 |
CN112613882A (zh) * | 2020-12-29 | 2021-04-06 | 成都知道创宇信息技术有限公司 | 一种分布式签名系统及管理方法 |
CN112613882B (zh) * | 2020-12-29 | 2023-06-02 | 成都知道创宇信息技术有限公司 | 一种分布式签名系统及管理方法 |
CN112865953A (zh) * | 2021-02-01 | 2021-05-28 | 浙江大学 | 基于辅助服务器的安全多方计算方法、装置和系统 |
CN112865953B (zh) * | 2021-02-01 | 2022-05-17 | 浙江大学 | 基于辅助服务器的安全多方计算方法、装置和系统 |
CN113947405A (zh) * | 2021-09-13 | 2022-01-18 | 北京航空航天大学杭州创新研究院 | 基于区块链的数字资产管理方法 |
CN113947405B (zh) * | 2021-09-13 | 2023-04-28 | 北京航空航天大学杭州创新研究院 | 基于区块链的数字资产管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109257179A (zh) | 一种签名生成方法及采用该方法的区块链账户管理方法 | |
CN109447634A (zh) | 一种锁定账户秘钥更新方法及采用该方法的区块链账户管理方法 | |
Chase et al. | Transparency overlays and applications | |
Franklin et al. | Secure group barter: Multi-party fair exchange with semi-trusted neutral parties | |
Dikshit et al. | Efficient weighted threshold ECDSA for securing bitcoin wallet | |
WO2019232946A1 (zh) | 医疗数据记录方法、系统、计算机设备和存储介质 | |
CN109409877B (zh) | 基于htlc技术的区块链跨链价值交互方法 | |
CN111819817A (zh) | 针对基于双线性映射累加器的授权的区块链实现的方法和系统 | |
CN105071938A (zh) | 一种基于门限秘密共享的组认证方法 | |
Byali et al. | Fast secure computation for small population over the internet | |
CN109685505B (zh) | 基于关联环签名的拜占庭容错共识优化方法 | |
CN110445795B (zh) | 一种区块链认证唯一性确认方法 | |
Xi et al. | [Retracted] A Comprehensive Survey on Sharding in Blockchains | |
CN115174570A (zh) | 一种基于动态委员会的跨链共识方法及系统 | |
CN112671541B (zh) | 一种区块链网络中节点管理的方法及装置 | |
Blum et al. | Superlight–A permissionless, light-client only blockchain with self-contained proofs and BLS signatures | |
US11811866B2 (en) | Computer-implemented system and method for controlling processing steps of a distributed system | |
CN112152808A (zh) | 一种基于sm2算法的多方协同数字签名方法 | |
CN109447633A (zh) | 一种区块链锁定账户生成方法及采用该方法的区块链账户管理方法 | |
CN116451776A (zh) | 一种基于高可用非交互式安全聚合的联邦学习方法 | |
CN114172661B (zh) | 一种数字资产的双向跨链方法、系统及装置 | |
Jia et al. | A collaborative secret sharing scheme based on the Chinese Remainder Theorem | |
Joshi et al. | ATSSIA: Asynchronous truly-threshold Schnorr signing for inconsistent availability | |
Shi et al. | Baguena: a practical proof of stake protocol with a robust delegation mechanism | |
CN116032465A (zh) | 一种委托工作量证明共享方法 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190122 |