利索能及
我要发布
收藏
专利号: 2021108700929
申请人: 西安邮电大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-11-07
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

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):

1 t‑1

fi(x)=ai0+ai1x+…+ai(t‑1)x其中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比特的消息;

(C2)用户Ii在整数域 中随机选取ki,确定XiXi=ki×G

其中Xi是椭圆曲线E上的点(xi,yi);

(C3)用户Ii按下式确定部分份额签名ri:ri=ximod p

(C4)用户Ii在整数域 中随机选取αi,按下式确定部分份额签名βi、部分份额签名li:‑1

βi=m (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):

1 t‑1

fi′(x)=bi0+bi1x+…+bi(t‑1)x

1 2 t‑1

bi0=‑bi1IDr‑bi2IDr…‑bi(t‑1)IDr(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):

1 t‑1

fi″(x)=ci0+ci1x+…+ci(t‑1)x(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。