[發(fā)明專利]基于SM2數(shù)字簽名算法的群簽名標識簽發(fā)方法有效
| 申請?zhí)枺?/td> | 201910036016.0 | 申請日: | 2019-01-15 |
| 公開(公告)號: | CN109600233B | 公開(公告)日: | 2021-06-08 |
| 發(fā)明(設計)人: | 馬文平;劉威;劉小雪 | 申請(專利權)人: | 西安電子科技大學 |
| 主分類號: | H04L9/32 | 分類號: | H04L9/32;H04L9/30;H04L9/08 |
| 代理公司: | 陜西電子工業(yè)專利中心 61205 | 代理人: | 王品華;朱紅星 |
| 地址: | 710071 陜*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 sm2 數(shù)字簽名 算法 簽名 標識 簽發(fā) 方法 | ||
1.一種基于SM2數(shù)字簽名算法的群簽名標識簽發(fā)方法,其特征在于,包括如下:
(1)參數(shù)初始化:
設Fq是階為q的有限域;選取橢圓曲線方程E為y2=x3+ax+b,其中a、b∈Fq;設有限域Fq上橢圓曲線方程E的所有的有理點組成的集合為E(Fq);設E上的階為n的基點G=(xG,yG),其中xG,yG為基點的坐標;選取消息長度為v比特的密碼雜湊算法Hv();選取安全散列函數(shù)H:{0,1}→ZG,其中ZG為基點G的整數(shù)值,選取對稱加密算法E();
(2)密鑰生成中心KGC隨機選取作為群私鑰,其中是階為q的整數(shù)串,并將群私鑰SKGM和基點G的乘積作為群公鑰:PKGM=SKGMG;
(3)群成員A加入群:
(3.1)群管理員GM為群成員A生成公私鑰對(SKA,PKA),并通過安全信道發(fā)送給群成員A,群成員A將身份和公鑰信息(IDA,PKA)通過安全信道發(fā)送給群管理員GM,其中IDA為群成員A真實身份,PKA為群成員A的公鑰,SKA為群成員A的私鑰;群管理員GM將群成員A的身份信息(IDA,PKA)存儲到群成員信息列表中,并計算群簽名中間量EA,再通過安全信道將EA發(fā)送給群成員A;群管理員GM計算群簽名中間量EA,是由群管理員GM選取群簽名中間量隨機數(shù)利用如下公式計算群簽名中間量EA:
EA=(SKGM+PKA)·γ-1,
其中,SKGM為群公鑰,PKA為群成員A的公鑰;
(3.2)群管理員GM先選擇多項式其中,t為群成員的總數(shù),xi是第i個群成員的假名,θ為群共享對稱秘鑰,(C0,C1,…,Ct-1)為多項式的參數(shù);再計算橢圓曲線上基點G的ω倍點W=ωG,及群成員A的假名xA,并將該W點和該多項式參數(shù)在群內公開;群管理員GM先選擇隨機數(shù)再利用如下公式計算群成員A的假名xA:
xA=H(IDA||ωPKA)
其中,H()為散列函數(shù),IDA為群成員A的真實身份,PKA為群成員A的公鑰;
(3.3)群成員A根據(jù)接收的參數(shù)(C0,C1,…,Ct-1),計算出群共享對稱秘鑰θ;其實現(xiàn)如下:
(3.3a)群成員A先根據(jù)群管理員公開的橢圓曲線上基點G的ω倍點W和自己的私鑰SKA,計算自己的假名xA′=H(IDA||WSKA);
(3.3b)群成員A通過如下公式計算出群共享對稱秘鑰θ:
其中,t是群中的成員總數(shù),xi是第i個群成員的假名,(C0,…,C1,Ct-1)為多項式的參數(shù);
(4)群成員A對消息M進行簽名:
(4.1)群成員A發(fā)送對稱密文Eθ(IDA,PKA,T,T)給群管理員GM,其中PKA,T為群成員A的臨時公鑰,T為當前時間的時間戳,Eθ()為對稱加密算法;
(4.2)群管理員GM接收到密文Eθ(IDA,PKA,T,T)后使用秘鑰θ解密,若解密成功且時間戳T有效,則可得到成員A的身份信息(IDA,PKA,T,T),執(zhí)行步驟(4.3),否則,終止本次簽名;
(4.3)群成員A產生隨機數(shù)k∈[1,n-1],其中n為基點G的階數(shù),并計算橢圓曲線上的點β=(x1,y1)=[k]G,其中x1,y1為所求點的橫縱坐標;
(4.4)群成員A選取三個隨機數(shù)并利用待簽名消息M,群公鑰PKGM以及群成員A的臨時私鑰SKA,T,通過概率算法輸出群簽名標識為(c,s1,s2,s3,TA,T,PKA,T,r,s),其中,c是雜湊函數(shù)作用于臨時公鑰PKA,T和群公鑰PKGM的雜湊值,s1是第一隨機數(shù)r1的盲化值,s2是第二隨機數(shù)r2的盲化值,s3是第三隨機數(shù)r3和臨時私鑰SKA,T的盲化值,TA,T為成員私鑰SKA,T對簽名中間量EA的加密值,r為由橢圓曲線點的橫坐標x1求出的余數(shù)值,s為群公鑰PKGM對隨機數(shù)r1,r2,r3的盲化值;
利用如下公式,計算雜湊函數(shù)作用于臨時公鑰PKA,T和群公鑰PKGM的雜湊值c:
c=H(PKA,T||PKGM||EA)
其中,H()為安全散列函數(shù),PKA,T為群成員A的臨時公鑰,PKGM為群公鑰,EA為簽名中間量;
(5)對群簽名標識(c,s1,s2,s3,TA,T,PKA,T,r,s)進行驗證:
(5.1)驗證者D先檢驗r∈[1,n-1],s∈[1,n-1]是否成立,若成立,則執(zhí)行(5.2),否則,群簽名非法,執(zhí)行步驟(6);
(5.2)驗證者D再依次計算待簽名消息M的雜湊值e′和驗簽中間量t′,并計算橢圓曲線點(x′1,y′1)=(s1+s3)-1(s-t′),和驗簽值R=(e′+x′1)mod n,其中x′1,y′1為所求橢圓曲線點的橫縱坐標,mod n表示一個整數(shù)除以n的求余運算;雜湊值e′和驗簽中間量t′按如下公式進行:
t′=c(PKGM+GPKA,T)+s1TA,T-s2GPKGM-s2G+cPKA,T,
e′=Hv(ZA||M),
其中,c為雜湊函數(shù)作用于臨時公鑰PKA,T和群公鑰PKGM的雜湊值,PKGM為群公鑰,G為橢圓曲線的基點,PKA,T為群成員A的臨時私鑰,s1為第一隨機數(shù)r1的盲化值,s2為第二隨機數(shù)r2的盲化值,PKGM為群公鑰,Hv()為密碼雜湊函數(shù),v是消息摘要長度,ZA為群成員A的雜湊值;
(5.3)驗證者D驗證R=r是否成立,若成立,則群簽名合法,結束群簽名過程,否則,群簽名非法,執(zhí)行(6);
(6)群管理員GM從群簽名中提取出成員私鑰SKA,T對簽名中間量EA的加密值TA,T,使用群私鑰SKGM和群成員A的臨時公鑰PKA,T計算出簽名者的公鑰PKA,再通過存儲在成員信息列表中的群成員身份信息(IDA,PKA)追蹤到簽名的群成員真實身份IDA,執(zhí)行(7);
(7)群管理員GM選擇一個新的群共享對稱秘鑰并生成新的多項式f(x)′,計算除追蹤到簽名的群成員真實身份IDA以外的其余t-1個群成員的假名xi,并將新的多項式參數(shù)(C0′,C1′,…Ct-1′)公開,使得被追蹤到身份為IDA的群成員將無法通過該參數(shù)計算出新的群共享對稱秘鑰,因而無法進行簽名,此時該群成員被撤銷。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安電子科技大學,未經西安電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910036016.0/1.html,轉載請聲明來源鉆瓜專利網(wǎng)。





