CN113708924B - 基于区块链的椭圆曲线门限签名方法 - Google Patents
基于区块链的椭圆曲线门限签名方法 Download PDFInfo
- Publication number
- CN113708924B CN113708924B CN202110870092.9A CN202110870092A CN113708924B CN 113708924 B CN113708924 B CN 113708924B CN 202110870092 A CN202110870092 A CN 202110870092A CN 113708924 B CN113708924 B CN 113708924B
- Authority
- CN
- China
- Prior art keywords
- signature
- user
- share
- key
- partial
- 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.)
- Active
Links
Images
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/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/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
一种基于区块链的椭圆曲线门限签名方法,由系统初始化、生成用户公私钥、生成份额签名、合成门限签名、验证门限签名、添加签名组用户、删除签名组用户步骤组成。本发明在椭圆曲线公钥密码体制下结合门限公钥密码体制和区块链签名技术,提出一种基于区块链的椭圆曲线门限签名方法,该方法采用门限密码体制解决传统区块链智能合约执行过程中开销过大的技术问题。在所有参与者不暴露秘密信息的情况下,验证秘钥份额的有效性,保障了参与者之间的诚实性问题;支持了用户的动态增减,在不改变签名公钥的情况下,可动态添加和删除签名组成员。本发明具有计算量小、实用性强等优点,可用于物联网、智能电网、供应链、版权保护等技术领域。
Description
技术领域
本发明属于网络信息安全技术领域,具体涉及到密码学或区块链技术或门限公钥密码体制或椭圆曲线公钥密码体制。
背景技术
在现有的去中心化谕言机模式中,每台谕言机对消息进行签名后发送至区块链上,智能合约将所有数据聚合至单一数据点,触发并执行相应的操作。由于每个节点将数据上传到区块链都要支付一定的gas费用(以太坊中交易、执行智能合约或是储存数据的费用),因此,虽然可以有效地防止部分节点提交错误数据而对结果造成影响,但成本高昂且会造成网络拥堵。
门限签名技术可以有效地解决这一技术问题,利用门限签名技术,谕言机之间互相交流,在链下达成共识并确定数据的真实性,通过门限签名技术聚合数据,只需最终向区块链传输一次数据,在很大程度上节省了数据上链的成本。如何采用门限公钥密码体制构建适用于区块链的签名方法是密码学中需要迫切解决的一个技术问题。
发明内容
本发明所要解决的技术问题在于克服上述现有技术的缺点,提供一种计算量小、可对密钥份额进行验证、可动态增加删除签名组用户的基于区块链的椭圆曲线门限签名方法。
解决上述技术问题所采用的技术方案由下述步骤组成:
A、系统初始化
密钥生成中心公布系统全局参数L:
U={I1,I2,…,In}
H:其中p为大素数,E为p阶椭圆曲线,G为椭圆曲线E上的一个生成元,Fp为p阶有限域,为p阶整数域,H为哈希函数,u为消息长度,U为签名组中所有用户的集合,Ii表示签名组中的一个用户,i∈{1,2,…,n},n是签名组用户的数量、n和u为有限的正整数,t是门限值、1<t≤n。
B、生成用户公私钥
(B1)用户Ii从有限域Fp中随机选取参数aiμ∈{ai0,ai1,…,ai(t-1)}确定t-1阶多项式fi(x):
fi(x)=ai0+ai1x1+…+ai(t-1)xt-1
其中Ii∈U。
(B2)用户Ii按下式确定密钥份额sij、拉格朗日插值系数χi,并将密钥份额sij发送给用户Ij:
sij=fi(IDj)
其中IDj是用户Ij的唯一身份标识,Ij∈U,j∈{1,2,…,n},IDi是用户Ii的唯一身份标识。
(B3)用户Ii按下式确定参数θiμ,并在签名组内将参数θiμ广播:
θiμ=aiμ×G
其中μ∈{0,1,…,t-1}。
(B4)用户Ij收到来自其他成员发来的密钥份额sij,按下式确定验证参数Vij和验证参数Cij,并验证密钥份额sij的有效性:
Vij=sij×G;
若Vij=Cij成立,则接受密钥份额sij作为用户Ij的密钥份额sij,否则要求用户Ii重新发送密钥份额sij。
(B5)用户Ij收到n份有效的密钥份额sij,按下式确定自己的私钥skj与公钥pkj:
pkj=skj×G
(B6)组内用户通过广播信息按下式确定签名公钥Q:
C、生成份额签名
(C1)用户Ii确定哈希值e:
e=H(m)
其中m是长度为u比特的消息。
Xi=ki×G
其中Xi是椭圆曲线上的点(xi,yi)。
(C3)用户Ii按下式确定部分份额签名ri:
ri=ximod p。
βi=m-1(ki-αiri)
li=riαi+eχi×ski
(C5)用户Ii将部分份额签名ri、部分份额签名βi、部分份额签名li发送给门限签名合成者Ic,Ic∈U。
D、合成门限签名
(D1)门限签名合成者Ic确定哈希值e:
e=H(m)
(D2)门限签名合成者Ic收到来自用户Ii的部分份额签名ri、部分份额签名βi、部分份额签名li,按下式确定X′i:
X′i=(li+βim)×G-eχi×pki
其中Xi′是椭圆曲线上的点(x′i,y′i)。
(D3)门限签名合成者Ic确定验证参数vi并验证部分份额签名ri、部分份额签名βi、部分份额签名li的有效性:
vi=xi′mod p
如果ri=vi,认定部分份额签名ri、部分份额签名βi、部分份额签名li有效,否则认定其无效并要求用户Ii重发。
(D4)门限签名合成者Ic收到了t份有效的部分份额签名ri、部分份额签名βi、部分份额签名li,按下式确定部分门限签名r、部分门限签名β、部分门限签名l:
(D5)门限签名合成者Ic将部分签名r、部分签名β、部分签名l发送给签名验证者Iv。
E、验证门限签名
(E1)签名验证者Iv确定哈希值e:
e=H(m)
(E2)签名验证者Iv收到部分签名r、部分签名β、部分签名l,按下式确定X′:
X′=(l+βm)×G-eQ
其中X′是椭圆曲线上的点(x′,y′)。
(E3)签名验证者Iv确定验证参数v并验证部分签名r、部分签名β、部分签名l的有效性:
v=x′mod p
如果v=r,则签名验证成功,否则失败。
F、添加签名组用户
添加签名组用户时,应满足:①已有用户的私钥ski不会改变或泄露;②新用户加入不会改变签名公钥Q;③新用户可以获得自己的私钥skr并能与已有用户合作生成有效的签名;设定新用户Ir,Ir∈U的唯一身份标识为IDr,增加新用户Ir步骤如下:
(F1)用户Ii从有限域Fp中选取参数biμ∈{bi1,bi2,…,bi(t-1)}按下式确定t-1阶多项式fi′(x):
fi′(x)=bi0+bi1x1+…+bi(t-1)xt-1
(F2)用户Ii按下式确定临时密钥份额s′ij,并将临时密钥份额s′ij发送给用户Ij:
s′ij=fi′(IDj);
(F3)用户Ii按下式确定参数δiμ,并在签名组内将参数δiμ广播:
δiμ=biμ×G
(F4)用户Ij收到用户Ii发来的临时密钥份额s′ij,按下式确定验证参数V′ij和C′ij,并验证临时密钥份额s′ij的有效性:
V′ij=s′ij×G
若V′ij=C′ij成立,则接受临时密钥份额s′ij作为用户Ij的临时密钥份额,否则要求用户Ii重新发送临时密钥份额s′ij。
(F5)用户Ij收到n份有效的临时密钥份额,按下式确定临时私钥sk′j,并将临时私钥sk′j发送给新用户Ir:
(F6)用户Ij按下式确定参数εj,并在签名组内将参数εj广播:
εj=sk′j×G
(F7)新用户Ir收到用户Ij发来的临时私钥sk′j,按下式确定验证参数ηi,并验证临时私钥sk′j的有效性:
ηj=sk′j×G
若ηj=εj成立,则接受临时私钥sk′j作为用户Ij的临时私钥sk′j,否则要求用户Ij重新发送临时私钥sk′j。
(F8)新用户Ir收到t份有效的临时私钥sk′j,按下式确定自己的私钥skr并公布自己的公钥pkr:
pkr=skr×G
G、删除签名组用户
删除用户Iw时,应满足:①重构其他成员的私钥ski,并使得被删除用户的私钥skw失效;②用户被删除不会改变签名公钥Q;设定被删除用户Iw的唯一表示符为IDw,Iw∈U,删除用户Iw的步骤如下:
(G1)用户Ii从有限域Fp中选取参数ciμ∈{ci0,ci1,ci2,…,ci(t-1)},确定t-1阶多项式fi″(x):
fi″(x)=ci0+ci1x1+…+ci(t-1)xt-1
(G2)用户Ii按下式确定临时密钥份额s″ij,并将临时密钥份额s″ij发送给用户Ij:
s″ij=fi″(IDj)
(G3)用户Ii按下式确定参数γiμ,并在签名组内将参数γiμ广播:
γiμ=ciμ×G
(G4)用户Ij收到用户Ii发来的临时密钥份额s″ij,按下式确定验证参数V″ij和C″ij,并验证临时密钥份额s″ij的有效性:
V″ij=s″ij×G
若V″ij=C″ij成立,则接受临时密钥份额s″ij作为用户Ij的临时密钥份额,否则要求用户Ii重新发送临时密钥份额s″ij。
(G5)用户Ij收到n-1份有效的临时密钥份额s″ij,按下式更新新私钥sk″j并公布自己的公钥pk″j:
pk″j=sk″j×G。
在本发明的A系统初始化、B生成用户公私钥、C生成份额签名、F添加签名组用户、G删除签名组用户步骤中,n取值最佳为100。
本发明在椭圆曲线公钥密码体制下结合门限公钥密码体制和区块链签名技术,提出一种基于区块链的椭圆曲线门限签名方法,该方法在于采用门限密码体制解决传统区块链智能合约执行过程中费用过大的技术问题。在所有参与者不暴露秘密信息的情况下,验证秘钥份额的有效性,保障了参与者之间的诚实性问题;支持了用户的动态增减,在不改变签名公钥的情况下,可动态添加和删除签名组用户。本发明具有计算量小,实用性强等优点,可用于物联网、智能电网、供应链、版权保护等技术领域。
附图说明
图1是本发明实施例1的流程图。
具体实施方式
下面结合附图和实施例对本发明进一步详细说明,但本发明不限于这些实施例。
实施例1
以密钥生成中心KGC选取的大素数p是2192-264-1例,本实施例的基于区块链的椭圆曲线门限签名方法由下述步骤组成(参见图1):
A、系统初始化
密钥生成中心公布系统全局参数L:
U={I1,I2,…,In}
H:其中p为大素数,本实施例的p取值为2192-264-1,E为p阶椭圆曲线,G为椭圆曲线E上的一个生成元,Fp为p阶有限域,为p阶整数域,H为哈希函数,u为消息长度,U为签名组中所有用户的集合,Ii表示签名组中的一个用户,i∈{1,2,…,n},n是签名组用户的数量、n和u为有限的正整数,t是门限值、1<t≤n,本实施例的t取值为50,n取值为100。
B、生成用户公私钥
(B1)用户Ii从有限域Fp中随机选取参数aiμ∈{ai0,ai1,…,ai(t-1)}确定t-1阶多项式fi(x):
fi(x)=ai0+ai1x1+…+ai(t-1)xt-1
其中Ii∈U。
(B2)用户Ii按下式确定密钥份额sij、拉格朗日插值系数χi,并将密钥份额sij发送给用户Ij:
sij=fi(IDj)
其中IDj是用户Ij的唯一身份标识,Ij∈U,j∈{1,2,…,n},IDi是用户Ii的唯一身份标识。
(B3)用户Ii按下式确定参数θiμ,并在签名组内将参数θiμ广播:
θiμ=aiμ×G
其中μ∈{0,1,…,t-1}。
(B4)用户Ij收到来自其他成员发来的密钥份额sij,按下式确定验证参数Vij和验证参数Cij,并验证密钥份额sij的有效性:
Vij=sij×G;
若Vij=Cij成立,则接受密钥份额sij作为用户Ij的密钥份额sij,否则要求用户Ii重新发送密钥份额sij。
(B5)用户Ij收到n份有效的密钥份额sij,按下式确定自己的私钥skj与公钥pkj:
pkj=skj×G。
(B6)组内用户通过广播信息按下式确定签名公钥Q:
C、生成份额签名
(C1)用户Ii确定哈希值e:
e=H(m)
其中m是长度为u比特的消息。
Xi=ki×G
其中Xi是椭圆曲线上的点(xi,yi)。
(C3)用户Ii按下式确定部分份额签名ri:
ri=ximod p。
βi=m-1(ki-αiri)
li=riαi+eχi×ski。
(C5)用户Ii将部分份额签名ri、部分份额签名βi、部分份额签名li发送给门限签名合成者Ic,Ic∈U。
D、合成门限签名
(D1)门限签名合成者Ic确定哈希值e:
e=H(m)。
(D2)门限签名合成者Ic收到来自用户Ii的部分份额签名ri、部分份额签名βi、部分份额签名li,按下式确定Xi′:
Xi′=(li+βim)×G-eχi×pki
其中Xi′是椭圆曲线上的点(xi′,yi′)。
(D3)门限签名合成者Ic确定验证参数vi并验证部分份额签名ri、部分份额签名βi、部分份额签名li的有效性:
vi=xi′mod p
如果ri=vi,认定部分份额签名ri、部分份额签名βi、部分份额签名li有效,否则认定其无效并要求用户Ii重发。
(D4)门限签名合成者Ic收到了t份有效的部分份额签名ri、部分份额签名βi、部分份额签名li,按下式确定部分门限签名r、部分门限签名β、部分门限签名l:
(D5)门限签名合成者Ic将部分签名r、部分签名β、部分签名l发送给签名验证者Iv。
E、验证门限签名
(E1)签名验证者Iv确定哈希值e:
e=H(m)。
(E2)签名验证者Iv收到部分签名r、部分签名β、部分签名l,按下式确定X′:
X′=(l+βm)×G-eQ
其中X′是椭圆曲线上的点(x′,y′)。
(E3)签名验证者Iv确定验证参数v并验证部分签名r、部分签名β、部分签名l的有效性:
v=x′mod p
如果v=r,则签名验证成功,否则失败。
在验证门限签名步骤中,所有参与者不暴露秘密信息的情况下,验证秘钥份额的有效性,保障了参与者之间的诚实性问题。
F、添加签名组用户
添加签名组用户时,应满足:①已有用户的私钥ski不会改变或泄露;②新用户加入不会改变签名公钥Q;③新用户可以获得自己的私钥skr并能与已有用户合作生成有效的签名;设定新用户Ir,Ir∈U的唯一身份标识为IDr,增加新用户Ir步骤如下:
(F1)用户Ii从有限域Fp中选取参数biμ∈{bi1,bi2,…,bi(t-1)}按下式确定t-1阶多项式fi′(x):
fi′(x)=bi0+bi1x1+…+bi(t-1)xt-1
(F2)用户Ii按下式确定临时密钥份额s′ij,并将临时密钥份额s′ij发送给用户Ij:
s′ij=fi′(IDj)。
(F3)用户Ii按下式确定参数δiμ,并在签名组内将参数δiμ广播:
δiμ=biμ×G。
(F4)用户Ij收到用户Ii发来的临时密钥份额s′ij,按下式确定验证参数V′ij和C′ij,并验证临时密钥份额s′ij的有效性:
V′ij=s′ij×G
若V′ij=C′ij成立,则接受临时密钥份额s′ij作为用户Ij的临时密钥份额,否则要求用户Ii重新发送临时密钥份额s′ij。
(F5)用户Ij收到n份有效的临时密钥份额,按下式确定临时私钥sk′j,并将临时私钥sk′j发送给新用户Ir:
(F6)用户Ij按下式确定参数εj,并在签名组内将参数εj广播:
εj=sk′j×G。
(F7)新用户Ir收到用户Ij发来的临时私钥sk′j,按下式确定验证参数ηi,并验证临时私钥sk′j的有效性:
ηj=sk′j×G
若ηj=εj成立,则接受临时私钥sk′j作为用户Ij的临时私钥sk′j,否则要求用户Ij重新发送临时私钥sk′j。
(F8)新用户Ir收到t份有效的临时私钥sk′j,按下式确定自己的私钥skr并公布自己的公钥pkr:
pkr=skr×G。
在添加签名组用户步骤中,可随时增加用户,支持了用户的动态增加,在不改变签名公钥的情况下,可动态添加签名组用户。
G、删除签名组用户
删除用户Iw时,应满足:①重构其他成员的私钥ski,并使得被删除用户的私钥skw失效;②用户被删除不会改变签名公钥Q;设定被删除用户Iw的唯一表示符为IDw,Iw∈U,删除用户Iw的步骤如下:
(G1)用户Ii从有限域Fp中选取参数ciμ∈{ci0,ci1,ci2,…,ci(t-1)},确定t-1阶多项式f″i(x):
fi″(x)=ci0+ci1x1+…+ci(t-1)xt-1
(G2)用户Ii按下式确定临时密钥份额s″ij,并将临时密钥份额s″ij发送给用户Ij:
s″ij=fi″(IDj)
(G3)用户Ii按下式确定参数γiμ,并在签名组内将参数γiμ广播:
γiμ=ciμ×G
(G4)用户Ij收到用户Ii发来的临时密钥份额s″ij,按下式确定验证参数V″ij和C″ij,并验证临时密钥份额s″ij的有效性:
V″ij=s″ij×G
若V″ij=C″ij成立,则接受临时密钥份额s″ij作为用户Ij的临时密钥份额,否则要求用户Ii重新发送临时密钥份额s″ij。
(G5)用户Ij收到n-1份有效的临时密钥份额s″ij,按下式更新新私钥sk″j并公布自己的公钥pk″j:
pk″j=sk″j×G。
在删除签名组用户步骤中,可随时增减用户,支持了用户的动态增减,在不改变签名公钥的情况下,可动态添加和删除签名组用户。
实施例2
以密钥生成中心KGC选取的大素数p是2192-264-1,本实施例的基于区块链的椭圆曲线门限签名方法由下述步骤组成:
在A系统初始化、B生成用户公私钥、C生成份额签名、D合成门限签名、F添加签名组用户、G删除签名组用户步骤中,i∈{1,2,…,n},n是签名组用户的数量、n和u为有限的正整数,t是门限值、1<t≤n,本实施例的t取值为2,n取值为100。
其它步骤与实施例1相同。
完成基于区块链的椭圆曲线门限签名方法。
实施例3
以密钥生成中心KGC选取的大素数p是2192-264-1,本实施例的基于区块链的椭圆曲线门限签名方法由下述步骤组成:
在A系统初始化、B生成用户公私钥、C生成份额签名、D合成门限签名、F添加签名组用户、G删除签名组用户步骤中,i∈{1,2,…,n},n是签名组用户的数量、n和u为有限的正整数,t是门限值、1<t≤n,本实施例的t取值为99,n取值为100。
A系统初始化、B生成用户公私钥、C生成份额签名、D合成门限签名、F添加签名组用户、G删除签名组用户步骤中的其它步骤与相应的实施例相同。
其它步骤与实施例1相同。完成基于区块链的椭圆曲线门限签名方法。
根据上述原理,还可以设计出另外一种具体的基于区块链的椭圆曲线门限签名方法,如大素数p的具体取值,t的具体取值,得到一种具体的基于区块链的椭圆曲线门限签名方法,但均在本发明的保护范围内。
Claims (2)
1.一种基于区块链的椭圆曲线门限签名方法,其特征在于它是由下述步骤组成:
A、系统初始化
密钥生成中心公布系统全局参数L:
U={I1,I2,…,In}
其中p为大素数,E为p阶椭圆曲线E,G为椭圆曲线E上的一个生成元,Fp为p阶有限域,为p阶整数域,H为哈希函数,u为消息长度,U为签名组中所有用户的集合,Ii表示签名组中的一个用户,i∈{1,2,…,n},n是签名组用户的数量、n和u为有限的正整数,t是门限值、1<t≤n;
B、生成用户公私钥
(B1)用户Ii从有限域Fp中随机选取参数aiμ∈{ai0,ai1,…,ai(t-1)}确定t-1阶多项式fi(x):
fi(x)=ai0+ai1x1+…+ai(t-1)xt-1
其中Ii∈U;
(B2)用户Ii按下式确定密钥份额sij、拉格朗日插值系数χi,并将密钥份额sij发送给用户Ij:
sij=fi(IDj),
其中IDj是用户Ij的唯一身份标识,Ij∈U,j∈{1,2,…,n},IDi是用户Ii的唯一身份标识;
(B3)用户Ii按下式确定参数θiμ,并在签名组内将参数θiμ广播:
θiμ=aiμ×G
其中μ∈{0,1,…,t-1};
(B4)用户Ij收到来自其他成员发来的密钥份额sij,按下式确定验证参数Vij和验证参数Cij,并验证密钥份额sij的有效性:
Vij=sij×G;
若Vij=Cij成立,则接受密钥份额sij作为用户Ij的密钥份额sij,否则要求用户Ii重新发送密钥份额sij;
(B5)用户Ij收到n份有效的密钥份额sij,按下式确定自己的私钥skj与公钥pkj:
pkj=skj×G
(B6)组内用户通过广播信息按下式确定签名公钥Q:
C、生成份额签名
(C1)用户Ii确定哈希值e:
e=H(m)
其中m是长度为u比特的消息;
Xi=ki×G
其中Xi是椭圆曲线E上的点(xi,yi);
(C3)用户Ii按下式确定部分份额签名ri:
ri=ximod p
βi=m-1(ki-αiri)
li=riαi+eχi×ski
(C5)用户Ii将部分份额签名ri、部分份额签名βi、部分份额签名li发送给门限签名合成者Ic,Ic∈U;
D、合成门限签名
(D1)门限签名合成者Ic确定哈希值e:
e=H(m)
(D2)门限签名合成者Ic收到来自用户Ii的部分份额签名ri、部分份额签名βi、部分份额签名li,按下式确定X′i:
X′i=(li+βim)×G-eχi×pki
其中X′i是椭圆曲线E上的点(x′i,y′i);
(D3)门限签名合成者Ic确定验证参数vi并验证部分份额签名ri、部分份额签名βi、部分份额签名li的有效性:
vi=xi′mod p
如果ri=vi,认定部分份额签名ri、部分份额签名βi、部分份额签名li有效,否则认定其无效并要求用户Ii重发;
(D4)门限签名合成者Ic收到了t份有效的部分份额签名ri、部分份额签名βi、部分份额签名li,按下式确定部分门限签名r、部分门限签名β、部分门限签名l:
(D5)门限签名合成者Ic将部分签名r、部分签名β、部分签名l发送给签名验证者Iv;
E、验证门限签名
(E1)签名验证者Iv确定哈希值e:
e=H(m)
(E2)签名验证者Iv收到部分签名r、部分签名β、部分签名l,按下式确定X′:
X′=(l+βm)×G-eQ
其中X′是椭圆曲线E上的点(x′,y′);
(E3)签名验证者Iv确定验证参数v并验证部分签名r、部分签名β、部分签名l的有效性:
v=x′mod p
如果v=r,则签名验证成功,否则失败;
F、添加签名组用户
添加签名组用户时,应满足:①已有用户的私钥ski不会改变或泄露;②新用户加入不会改变签名公钥Q;③新用户可以获得自己的私钥skr并能与已有用户合作生成有效的签名;设定新用户Ir,Ir∈U的唯一身份标识为IDr,增加新用户Ir步骤如下:
(F1)用户Ii从有限域Fp中选取参数biμ∈{bi1,bi2,…,bi(t-1)}按下式确定t-1阶多项式fi′(x):
fi′(x)=bi0+bi1x1+…+bi(t-1)xt-1
bi0=-bi1IDr 1-bi2IDr 2…-bi(t-1)IDr t-1
(F2)用户Ii按下式确定临时密钥份额s′ij,并将临时密钥份额s′ij发送给用户Ij:
s′ij=fi′(IDj);
(F3)用户Ii按下式确定参数δiμ,并在签名组内将参数δiμ广播:
δiμ=biμ×G
(F4)用户Ij收到用户Ii发来的临时密钥份额s′ij,按下式确定验证参数V′ij和C′ij,并验证临时密钥份额s′ij的有效性:
V′ij=s′ij×G
若V′ij=C′ij成立,则接受临时密钥份额s′ij作为用户Ij的临时密钥份额,否则要求用户Ii重新发送临时密钥份额s′ij;
(F5)用户Ij收到n份有效的临时密钥份额s′ij,按下式确定临时私钥sk′j,并将临时私钥sk′j发送给新用户Ir:
(F6)用户Ij按下式确定参数εj,并在签名组内将参数εj广播:
εj=sk′j×G
(F7)新用户Ir收到用户Ij发来的临时私钥sk′j,按下式确定验证参数ηi,并验证临时私钥sk′j的有效性:
ηj=sk′j×G
若ηj=εj成立,则接受临时私钥sk′j作为用户Ij的临时私钥sk′j,否则要求用户Ij重新发送临时私钥sk′j;
(F8)新用户Ir收到t份有效的临时私钥sk′j,按下式确定自己的私钥skr并公布自己的公钥pkr:
pkr=skr×G
G、删除签名组用户
删除用户Iw时,应满足:①重构其他成员的私钥ski,并使得被删除用户的私钥skw失效;②用户被删除不会改变签名公钥Q;设定被删除用户Iw的唯一表示符为IDw,Iw∈U,删除用户Iw的步骤如下:
(G1)用户Ii从有限域Fp中选取参数ciμ∈{ci0,ci1,ci2,…,ci(t-1)},确定t-1阶多项式f″i(x):
fi″(x)=ci0+ci1x1+…+ci(t-1)xt-1
(G2)用户Ii按下式确定临时密钥份额s″ij,并将临时密钥份额s″ij发送给用户Ij:
s″ij=fi″(IDj)
(G3)用户Ii按下式确定参数γiμ,并在签名组内将参数γiμ广播:
γiμ=ciμ×G
(G4)用户Ij收到用户Ii发来的临时密钥份额s″ij,按下式确定验证参数V″ij和C″ij,并验证临时密钥份额s″ij的有效性:
V″ij=s″ij×G
若V″ij=C″ij成立,则接受临时密钥份额s″ij作为用户Ij的临时密钥份额,否则要求用户Ii重新发送临时密钥份额s″ij;
(G5)用户Ij收到n-1份有效的临时密钥份额s″ij,按下式更新新私钥sk″j并公布自己的公钥pk″j:
pk″j=sk″j×G。
2.根据权利要求1所述的基于区块链的椭圆曲线门限签名方法,其特征在于:所述的A系统初始化、B生成用户公私钥、C生成份额签名、F添加签名组用户、G删除签名组用户步骤中,n取值为100。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110870092.9A CN113708924B (zh) | 2021-07-30 | 2021-07-30 | 基于区块链的椭圆曲线门限签名方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110870092.9A CN113708924B (zh) | 2021-07-30 | 2021-07-30 | 基于区块链的椭圆曲线门限签名方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113708924A CN113708924A (zh) | 2021-11-26 |
CN113708924B true CN113708924B (zh) | 2022-09-30 |
Family
ID=78650967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110870092.9A Active CN113708924B (zh) | 2021-07-30 | 2021-07-30 | 基于区块链的椭圆曲线门限签名方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113708924B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115378617B (zh) * | 2022-10-21 | 2023-01-10 | 三未信安科技股份有限公司 | 一种区块链门限签名方法及其系统 |
CN115473747B (zh) * | 2022-11-14 | 2023-03-24 | 苏州浪潮智能科技有限公司 | 一种状态变更方法、装置、设备及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425902A (zh) * | 2008-11-12 | 2009-05-06 | 电子科技大学 | 一个具有前向安全的门限数字签名方法与系统 |
CN106506156B (zh) * | 2016-12-15 | 2018-08-03 | 北京三未信安科技发展有限公司 | 一种基于椭圆曲线的分布式门限签名方法 |
CN106936593B (zh) * | 2017-05-12 | 2019-12-17 | 西安电子科技大学 | 基于椭圆曲线高效匿名的无证书多接收者签密方法 |
EP3669490A1 (en) * | 2017-08-15 | 2020-06-24 | Nchain Holdings Limited | Threshold digital signature method and system |
CN109377360B (zh) * | 2018-08-31 | 2021-07-06 | 西安电子科技大学 | 基于加权门限签名算法的区块链资产交易转账方法 |
CN109714153B (zh) * | 2019-02-01 | 2022-04-08 | 铜陵学院 | 一种高效的聚合签名方法 |
CN110009354A (zh) * | 2019-04-04 | 2019-07-12 | 郑州师范学院 | 一种区块链中基于群签名的投票方法 |
CN111639361B (zh) * | 2020-05-15 | 2023-06-20 | 中国科学院信息工程研究所 | 一种区块链密钥管理方法、多人共同签名方法及电子装置 |
-
2021
- 2021-07-30 CN CN202110870092.9A patent/CN113708924B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113708924A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8074073B2 (en) | Certificate-based encryption and public key infrastructure | |
Kalai | Smooth projective hashing and two-message oblivious transfer | |
CN113111373B (zh) | Vbft共识机制的随机数生成方法和共识机制系统 | |
CN113708924B (zh) | 基于区块链的椭圆曲线门限签名方法 | |
US20090232301A1 (en) | Method and system for generating session key, and communication device | |
CN101431414A (zh) | 基于身份的认证群组密钥管理方法 | |
CN110995412B (zh) | 基于乘法群的无证书环签密方法 | |
CN110190957B (zh) | 基于无证书的多变量广播多重签名方法 | |
CN112152813B (zh) | 一种支持隐私保护的无证书内容提取签密方法 | |
CN110545169A (zh) | 基于非对称密钥池和隐式证书的区块链方法和系统 | |
CN114463009B (zh) | 一种用于提高大规模能源节点交易安全性的方法 | |
CN114499887B (zh) | 签名密钥生成及相关方法、系统、计算机设备和存储介质 | |
CN113489591A (zh) | 一种基于多授权中心的可追踪比较属性加密方法 | |
CN110233725B (zh) | 多源网络编码的同态无证书签名方法 | |
CN112989436A (zh) | 一种基于区块链平台的多重签名方法 | |
CN111756545A (zh) | 一种基于区块链数字签名技术的合同认证方法 | |
CN116915414A (zh) | 一种实现门限签名的方法、计算机设备和存储介质 | |
CN117040764A (zh) | 一种秘钥份额更新方法、计算机设备和存储介质 | |
CN116388991A (zh) | 基于非门限结构的公证人组跨链交易方法及系统 | |
CN112260830B (zh) | 秘密共享机制下无证书门限签密方法 | |
Meng | Directly revocable ciphertext-policy attribute-based encryption from lattices | |
CN115580408A (zh) | 一种基于sm9的无证书签名生成方法及系统 | |
CN112260834B (zh) | Ad Hoc网络中基于区块链的密钥生成和管理方法 | |
CN114124346A (zh) | 一种利用区块链背书机制实现ElGamal多重解密的方法 | |
CN110086628B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |