CN113708924B - 基于区块链的椭圆曲线门限签名方法 - Google Patents

基于区块链的椭圆曲线门限签名方法 Download PDF

Info

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
Application number
CN202110870092.9A
Other languages
English (en)
Other versions
CN113708924A (zh
Inventor
俞惠芳
王涵
刘悦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian University of Posts and Telecommunications
Original Assignee
Xian University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian University of Posts and Telecommunications filed Critical Xian University of Posts and Telecommunications
Priority to CN202110870092.9A priority Critical patent/CN113708924B/zh
Publication of CN113708924A publication Critical patent/CN113708924A/zh
Application granted granted Critical
Publication of CN113708924B publication Critical patent/CN113708924B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/083Key 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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/3255Cryptographic 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:
Figure BDA0003188790050000021
U={I1,I2,…,In}
H:
Figure BDA0003188790050000022
其中p为大素数,E为p阶椭圆曲线,G为椭圆曲线E上的一个生成元,Fp为p阶有限域,
Figure BDA0003188790050000023
为p阶整数域,H为哈希函数,u为消息长度,U为签名组中所有用户的集合,Ii表示签名组中的一个用户,i∈{1,2,…,n},n是签名组用户的数量、n和u为有限的正整数,t是门限值、1<t≤n。
B、生成用户公私钥
(B1)用户Ii从有限域Fp中随机选取参数a∈{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)
Figure BDA0003188790050000024
其中IDj是用户Ij的唯一身份标识,Ij∈U,j∈{1,2,…,n},IDi是用户Ii的唯一身份标识。
(B3)用户Ii按下式确定参数θ,并在签名组内将参数θ广播:
θ=a×G
其中μ∈{0,1,…,t-1}。
(B4)用户Ij收到来自其他成员发来的密钥份额sij,按下式确定验证参数Vij和验证参数Cij,并验证密钥份额sij的有效性:
Vij=sij×G;
Figure BDA0003188790050000031
若Vij=Cij成立,则接受密钥份额sij作为用户Ij的密钥份额sij,否则要求用户Ii重新发送密钥份额sij
(B5)用户Ij收到n份有效的密钥份额sij,按下式确定自己的私钥skj与公钥pkj
Figure BDA0003188790050000032
pkj=skj×G
(B6)组内用户通过广播信息按下式确定签名公钥Q:
Figure BDA0003188790050000033
C、生成份额签名
(C1)用户Ii确定哈希值e:
e=H(m)
其中m是长度为u比特的消息。
(C2)用户Ii在有限域
Figure BDA0003188790050000034
中随机选取ki,确定Xi
Xi=ki×G
其中Xi是椭圆曲线上的点(xi,yi)。
(C3)用户Ii按下式确定部分份额签名ri
ri=ximod p。
(C4)用户Ii在有限域
Figure BDA0003188790050000035
中随机选取αi,按下式确定部分份额签名βi、部分份额签名li
βi=m-1(kiiri)
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=(liim)×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:
Figure BDA0003188790050000041
Figure BDA0003188790050000042
Figure BDA0003188790050000043
(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中选取参数b∈{bi1,bi2,…,bi(t-1)}按下式确定t-1阶多项式fi′(x):
fi′(x)=bi0+bi1x1+…+bi(t-1)xt-1
Figure BDA0003188790050000051
(F2)用户Ii按下式确定临时密钥份额s′ij,并将临时密钥份额s′ij发送给用户Ij
s′ij=fi′(IDj);
(F3)用户Ii按下式确定参数δ,并在签名组内将参数δ广播:
δ=b×G
(F4)用户Ij收到用户Ii发来的临时密钥份额s′ij,按下式确定验证参数V′ij和C′ij,并验证临时密钥份额s′ij的有效性:
V′ij=s′ij×G
Figure BDA0003188790050000061
若V′ij=C′ij成立,则接受临时密钥份额s′ij作为用户Ij的临时密钥份额,否则要求用户Ii重新发送临时密钥份额s′ij
(F5)用户Ij收到n份有效的临时密钥份额,按下式确定临时私钥sk′j,并将临时私钥sk′j发送给新用户Ir
Figure BDA0003188790050000062
(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
Figure BDA0003188790050000063
pkr=skr×G
G、删除签名组用户
删除用户Iw时,应满足:①重构其他成员的私钥ski,并使得被删除用户的私钥skw失效;②用户被删除不会改变签名公钥Q;设定被删除用户Iw的唯一表示符为IDw,Iw∈U,删除用户Iw的步骤如下:
(G1)用户Ii从有限域Fp中选取参数c∈{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按下式确定参数γ,并在签名组内将参数γ广播:
γ=c×G
(G4)用户Ij收到用户Ii发来的临时密钥份额s″ij,按下式确定验证参数V″ij和C″ij,并验证临时密钥份额s″ij的有效性:
V″ij=s″ij×G
Figure BDA0003188790050000071
若V″ij=C″ij成立,则接受临时密钥份额s″ij作为用户Ij的临时密钥份额,否则要求用户Ii重新发送临时密钥份额s″ij
(G5)用户Ij收到n-1份有效的临时密钥份额s″ij,按下式更新新私钥sk″j并公布自己的公钥pk″j
Figure BDA0003188790050000072
pk″j=sk″j×G。
在本发明的A系统初始化、B生成用户公私钥、C生成份额签名、F添加签名组用户、G删除签名组用户步骤中,n取值最佳为100。
本发明在椭圆曲线公钥密码体制下结合门限公钥密码体制和区块链签名技术,提出一种基于区块链的椭圆曲线门限签名方法,该方法在于采用门限密码体制解决传统区块链智能合约执行过程中费用过大的技术问题。在所有参与者不暴露秘密信息的情况下,验证秘钥份额的有效性,保障了参与者之间的诚实性问题;支持了用户的动态增减,在不改变签名公钥的情况下,可动态添加和删除签名组用户。本发明具有计算量小,实用性强等优点,可用于物联网、智能电网、供应链、版权保护等技术领域。
附图说明
图1是本发明实施例1的流程图。
具体实施方式
下面结合附图和实施例对本发明进一步详细说明,但本发明不限于这些实施例。
实施例1
以密钥生成中心KGC选取的大素数p是2192-264-1例,本实施例的基于区块链的椭圆曲线门限签名方法由下述步骤组成(参见图1):
A、系统初始化
密钥生成中心公布系统全局参数L:
Figure BDA0003188790050000081
U={I1,I2,…,In}
H:
Figure BDA0003188790050000082
其中p为大素数,本实施例的p取值为2192-264-1,E为p阶椭圆曲线,G为椭圆曲线E上的一个生成元,Fp为p阶有限域,
Figure BDA0003188790050000083
为p阶整数域,H为哈希函数,u为消息长度,U为签名组中所有用户的集合,Ii表示签名组中的一个用户,i∈{1,2,…,n},n是签名组用户的数量、n和u为有限的正整数,t是门限值、1<t≤n,本实施例的t取值为50,n取值为100。
B、生成用户公私钥
(B1)用户Ii从有限域Fp中随机选取参数a∈{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)
Figure BDA0003188790050000091
其中IDj是用户Ij的唯一身份标识,Ij∈U,j∈{1,2,…,n},IDi是用户Ii的唯一身份标识。
(B3)用户Ii按下式确定参数θ,并在签名组内将参数θ广播:
θ=a×G
其中μ∈{0,1,…,t-1}。
(B4)用户Ij收到来自其他成员发来的密钥份额sij,按下式确定验证参数Vij和验证参数Cij,并验证密钥份额sij的有效性:
Vij=sij×G;
Figure BDA0003188790050000092
若Vij=Cij成立,则接受密钥份额sij作为用户Ij的密钥份额sij,否则要求用户Ii重新发送密钥份额sij
(B5)用户Ij收到n份有效的密钥份额sij,按下式确定自己的私钥skj与公钥pkj
Figure BDA0003188790050000093
pkj=skj×G。
(B6)组内用户通过广播信息按下式确定签名公钥Q:
Figure BDA0003188790050000094
C、生成份额签名
(C1)用户Ii确定哈希值e:
e=H(m)
其中m是长度为u比特的消息。
(C2)用户Ii在有限域
Figure BDA0003188790050000101
中随机选取ki,确定Xi
Xi=ki×G
其中Xi是椭圆曲线上的点(xi,yi)。
(C3)用户Ii按下式确定部分份额签名ri
ri=ximod p。
(C4)用户Ii在有限域
Figure BDA0003188790050000102
中随机选取αi,按下式确定部分份额签名βi、部分份额签名li
βi=m-1(kiiri)
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′=(liim)×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:
Figure BDA0003188790050000111
Figure BDA0003188790050000112
Figure BDA0003188790050000113
(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中选取参数b∈{bi1,bi2,…,bi(t-1)}按下式确定t-1阶多项式fi′(x):
fi′(x)=bi0+bi1x1+…+bi(t-1)xt-1
Figure BDA0003188790050000121
(F2)用户Ii按下式确定临时密钥份额s′ij,并将临时密钥份额s′ij发送给用户Ij
s′ij=fi′(IDj)。
(F3)用户Ii按下式确定参数δ,并在签名组内将参数δ广播:
δ=b×G。
(F4)用户Ij收到用户Ii发来的临时密钥份额s′ij,按下式确定验证参数V′ij和C′ij,并验证临时密钥份额s′ij的有效性:
V′ij=s′ij×G
Figure BDA0003188790050000122
若V′ij=C′ij成立,则接受临时密钥份额s′ij作为用户Ij的临时密钥份额,否则要求用户Ii重新发送临时密钥份额s′ij
(F5)用户Ij收到n份有效的临时密钥份额,按下式确定临时私钥sk′j,并将临时私钥sk′j发送给新用户Ir
Figure BDA0003188790050000123
(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
Figure BDA0003188790050000131
pkr=skr×G。
在添加签名组用户步骤中,可随时增加用户,支持了用户的动态增加,在不改变签名公钥的情况下,可动态添加签名组用户。
G、删除签名组用户
删除用户Iw时,应满足:①重构其他成员的私钥ski,并使得被删除用户的私钥skw失效;②用户被删除不会改变签名公钥Q;设定被删除用户Iw的唯一表示符为IDw,Iw∈U,删除用户Iw的步骤如下:
(G1)用户Ii从有限域Fp中选取参数c∈{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按下式确定参数γ,并在签名组内将参数γ广播:
γ=c×G
(G4)用户Ij收到用户Ii发来的临时密钥份额s″ij,按下式确定验证参数V″ij和C″ij,并验证临时密钥份额s″ij的有效性:
V″ij=s″ij×G
Figure BDA0003188790050000132
若V″ij=C″ij成立,则接受临时密钥份额s″ij作为用户Ij的临时密钥份额,否则要求用户Ii重新发送临时密钥份额s″ij
(G5)用户Ij收到n-1份有效的临时密钥份额s″ij,按下式更新新私钥sk″j并公布自己的公钥pk″j
Figure BDA0003188790050000141
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:
Figure FDA0003789011540000011
U={I1,I2,…,In}
Figure FDA0003789011540000012
其中p为大素数,E为p阶椭圆曲线E,G为椭圆曲线E上的一个生成元,Fp为p阶有限域,
Figure FDA0003789011540000013
为p阶整数域,H为哈希函数,u为消息长度,U为签名组中所有用户的集合,Ii表示签名组中的一个用户,i∈{1,2,…,n},n是签名组用户的数量、n和u为有限的正整数,t是门限值、1<t≤n;
B、生成用户公私钥
(B1)用户Ii从有限域Fp中随机选取参数a∈{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),
Figure FDA0003789011540000014
其中IDj是用户Ij的唯一身份标识,Ij∈U,j∈{1,2,…,n},IDi是用户Ii的唯一身份标识;
(B3)用户Ii按下式确定参数θ,并在签名组内将参数θ广播:
θ=a×G
其中μ∈{0,1,…,t-1};
(B4)用户Ij收到来自其他成员发来的密钥份额sij,按下式确定验证参数Vij和验证参数Cij,并验证密钥份额sij的有效性:
Vij=sij×G;
Figure FDA0003789011540000021
若Vij=Cij成立,则接受密钥份额sij作为用户Ij的密钥份额sij,否则要求用户Ii重新发送密钥份额sij
(B5)用户Ij收到n份有效的密钥份额sij,按下式确定自己的私钥skj与公钥pkj
Figure FDA0003789011540000022
pkj=skj×G
(B6)组内用户通过广播信息按下式确定签名公钥Q:
Figure FDA0003789011540000023
C、生成份额签名
(C1)用户Ii确定哈希值e:
e=H(m)
其中m是长度为u比特的消息;
(C2)用户Ii在整数域
Figure FDA0003789011540000024
中随机选取ki,确定Xi
Xi=ki×G
其中Xi是椭圆曲线E上的点(xi,yi);
(C3)用户Ii按下式确定部分份额签名ri
ri=ximod p
(C4)用户Ii在整数域
Figure FDA0003789011540000031
中随机选取αi,按下式确定部分份额签名βi、部分份额签名li
βi=m-1(kiiri)
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=(liim)×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:
Figure FDA0003789011540000032
Figure FDA0003789011540000033
Figure FDA0003789011540000034
(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中选取参数b∈{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按下式确定参数δ,并在签名组内将参数δ广播:
δ=b×G
(F4)用户Ij收到用户Ii发来的临时密钥份额s′ij,按下式确定验证参数V′ij和C′ij,并验证临时密钥份额s′ij的有效性:
V′ij=s′ij×G
Figure FDA0003789011540000051
若V′ij=C′ij成立,则接受临时密钥份额s′ij作为用户Ij的临时密钥份额,否则要求用户Ii重新发送临时密钥份额s′ij
(F5)用户Ij收到n份有效的临时密钥份额s′ij,按下式确定临时私钥sk′j,并将临时私钥sk′j发送给新用户Ir
Figure FDA0003789011540000052
(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
Figure FDA0003789011540000053
pkr=skr×G
G、删除签名组用户
删除用户Iw时,应满足:①重构其他成员的私钥ski,并使得被删除用户的私钥skw失效;②用户被删除不会改变签名公钥Q;设定被删除用户Iw的唯一表示符为IDw,Iw∈U,删除用户Iw的步骤如下:
(G1)用户Ii从有限域Fp中选取参数c∈{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按下式确定参数γ,并在签名组内将参数γ广播:
γ=c×G
(G4)用户Ij收到用户Ii发来的临时密钥份额s″ij,按下式确定验证参数V″ij和C″ij,并验证临时密钥份额s″ij的有效性:
V″ij=s″ij×G
Figure FDA0003789011540000061
若V″ij=C″ij成立,则接受临时密钥份额s″ij作为用户Ij的临时密钥份额,否则要求用户Ii重新发送临时密钥份额s″ij
(G5)用户Ij收到n-1份有效的临时密钥份额s″ij,按下式更新新私钥sk″j并公布自己的公钥pk″j
Figure FDA0003789011540000062
pk″j=sk″j×G。
2.根据权利要求1所述的基于区块链的椭圆曲线门限签名方法,其特征在于:所述的A系统初始化、B生成用户公私钥、C生成份额签名、F添加签名组用户、G删除签名组用户步骤中,n取值为100。
CN202110870092.9A 2021-07-30 2021-07-30 基于区块链的椭圆曲线门限签名方法 Active CN113708924B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 中国科学院信息工程研究所 一种区块链密钥管理方法、多人共同签名方法及电子装置

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