一種具有前向安全性的面向群組的實用重簽名方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及電子商務(wù)/政務(wù)中的數(shù)字簽名方法,具體設(shè)及一種具有前向安全性的 面向群組的實用重簽名方法。
【背景技術(shù)】
[0002] 面向群組的重簽名方法由密鑰分發(fā)中屯、將共享秘密S分為n個不同的成員密鑰分 量,通過安全信道將其分別分/發(fā)給n個群組成員,且各個成員相互保密。當(dāng)需要對某信息 進行數(shù)字簽名時,任意t個群組成員(稱為授權(quán)子集*<11)分別用自己的子密鑰(成員密鑰 分量)恢復(fù)出重簽名密鑰S,對該文件進行簽名。為降低參加重簽名簽名者密鑰泄漏造成的 損失,將群組成員密鑰按時間段進行更新,群組公鑰保持不變。即使第k時間段的簽名密 鑰被泄露,攻擊者無法偽造第k時間段之前的簽名,使簽名密鑰被泄露所造成的損失降到 最小,具備前向安全性。前向安全的重簽名為簽名密鑰提供了強大的保護,使簽名密鑰泄 露所造成的損失降到最小。
[0003] 目前,一些普通數(shù)字簽名、特殊用途的和組合實現(xiàn)的數(shù)字簽名方法已具備前向安 全性,一些面向群組的重簽名方法存在理論錯誤和效率低的缺陷,比如在求Lagrange相 關(guān)系數(shù)
時,需要先求出分母的逆元再與分子相乘,而不能直接采用直接相除 的辦法,在不知道RSA模數(shù)N的秘密參數(shù)歐拉函數(shù)的情況下,無法進行
中的 IDi-ID,求逆計算,所W運些方法不實用。
【發(fā)明內(nèi)容】
[0004] 為了解決上述技術(shù)問題,本發(fā)明提出了一種具有前向安全性的面向群組的實用重 簽名方法,解決了面向群組的重簽名方法存在的理論錯誤和效率低的問題,避免重簽名者 密鑰泄漏造成的損失,具備前向安全性,可抵抗非法簽名者的偽造攻擊。
[0005] 為了解決上述技術(shù)問題,本發(fā)明提供了一種具有前向安全性的面向群組的實用重 簽名方法,包括系統(tǒng)參數(shù)生成、群組成員簽名、重簽名合成和驗證重簽名。其特征在于:包括 如下步驟:
[0006] 步驟一,系統(tǒng)參數(shù)初始化,密鑰分發(fā)中屯、首先進行系統(tǒng)參數(shù)初始化,為群組成員分 發(fā)成員秘鑰,設(shè)A= {Ue,iv''u。J是重簽名的n個群組成員,選取一正整數(shù)IDi作為群組成 員Ui的身份標(biāo)示,密鑰分發(fā)中屯、通過秘密信道把O1發(fā)送給群組成員Ui作為成員秘密分量, 公布(N,q,g,Y)作為重簽名公鑰,群組成員Ui根據(jù)第k-1時間段密鑰Oi,k1計算出第k時 間段密鑰〇i,k,密鑰更新完成后,銷毀第k-1時間段密鑰
[0007] 步驟二,群組成員簽名,設(shè)重簽名群組集合A中有t個群組成員B= {ui,U2,…,uj 想對消息m產(chǎn)生代表群組的重簽名,B中群組成員完成部分簽名,然后群組成員Ui把部分簽 名化Si,zj發(fā)送給重簽名合成者;
[0008] 步驟S,合成重簽名,重簽名合成者根據(jù)簽名算法,將也P,Z,S}作為消息m的重 簽名;
[0009] 步驟四,任何驗證者都能計算h(m| |k|問|S')=h(m| |k|問|V)是否成立,如果 成立,化,P,Z,幻則是消息m的有效重簽名,否則無效;
[0010] 所述密鑰分發(fā)中屯、、重簽名合成者及各個群組成員均視為處理或聯(lián)合處理特定操 作步驟的計算機或結(jié)點。
[0011] 進一步,步驟一中群組成員Ui根據(jù)第k-1時間段密鑰Oi,k1計算出第k時間段密 鑰Oi,k,計算方法為 =詩__1i"〇d",其中初始密鑰為O1,。=O1,k= 0, 2, 3,. . .,T-I。
[001引進一步,步驟一中所述的重簽名公鑰(N,q,g,Y)中g(shù)與曰1的關(guān)系為: 巧=占r' (,mod銀,狂=='々,.1,2,.巧.-1).0
[0013] 進一步,所述的k為第k個簽名時間段,將重簽名整個有效期分為T個時間段k= 0, 2, 3, ? ? ? ,T-1D
[0014] 進一步,步驟二中所述的化Si,Z;}是通過計算
「得出。
[001引進一步,步驟S中所述的也P,Z,S}中的{Z,S}是通過計算
[0016] 本發(fā)明的有益效果是:
[0017] 1.化,P,Z,幻是有效的重簽名。
[001引因為
[001 引所W,U=h(mI IkI IZI I巧=h(mI IkI IZI IV)
[0020] 2.本發(fā)明具有前向安全的特性。
[0021] 本發(fā)明的前向安全是基于強RSA假定。
[00過強RSA假定已知N和:reZ;,N為兩個大素數(shù)的乘積,則找出一個JeZ;,且滿足y =XVodn(e>I)是一個非常困難的問題。
[0023]如果攻擊者已獲得重簽名者Ui的第k時間段密鑰Oi,k,企圖通過巧=口..2,,,_1 計算第k-1時間段密鑰Oi,ki,運是一個強RSA假定問題,所W攻擊者無法通過Oi,k計算出Oi,k1,也就無法偽造第k-1時間段簽名。
[0024] 3.本發(fā)明能抵抗偽造攻擊。
[0025] 非法用戶企圖通過式
,運將 面臨大整數(shù)分解和單向散列函數(shù)求逆的問題。少于t個合法的參與者不能代表群組進行有 效簽名,運是由化amir的秘密共享方法的安全性來保證的。
[0026] 4.本發(fā)明具有實用性
[0027]本發(fā)明通過計算f= -/馬)完成求Lagrange相關(guān)系數(shù) '1.在色 在不知道RSA秘密參數(shù)模數(shù)N的歐拉函數(shù)的情況下不需要求逆計算,因為 除P,實用性強。
【附圖說明】
[0028] 圖1是本發(fā)明的工作流程圖;
[0029] 圖2是重簽名的產(chǎn)生和驗證的流程圖;
【具體實施方式】
[0030] 下面結(jié)合附圖和實施例對本發(fā)明作進一步描述。
[0031] 如圖1和圖2所示,一種具有前向安全性的面向群組的實用重簽名方法,本實施例 包括如下步驟:
[0032] 步驟一,系統(tǒng)參數(shù)初始化,密鑰分發(fā)中屯、首先會選擇N=P瓜=(2qp1' +1) 樹口2' +1)和一個階為q的循環(huán)子群,geQRn(即gg=ImodN),QRN為模N的平方剩余集 合,且Pi=P2= 3mod4,其中P1,化,Pi',化',q都為安全的大素數(shù),然后選擇一對整數(shù)(e,d), 分別作為基于合數(shù)N的RSA公私鑰,h0為一個安全的單向散列函數(shù),接著,系統(tǒng)選擇t-1階 秘密多項式:f(x)=Ctlxtl+…+ClX+c。modq,'(',.eZ"(/二(リ,2,…./-l);
[0033]計算(T,二占7'mod/V,(,I'二化L2,…I);
[0034]計算K二護mod/V;
[00對設(shè)A= {ud,U2'''u"i}是重簽名的n個群組成員,選取一正整數(shù)IDi作為其身份 標(biāo)示,密鑰分發(fā)中屯、通過秘密信道把O1發(fā)送給每個群組成員U1作為成員秘密分量,公布 (N,q,g,Y)作為重簽名公鑰。
[0036]將重簽名整個有效期分為T個時間段化=0, 2, 3,...,T-1),從第一個時間段開 始,重簽名群組成員根據(jù)第k-1時間段密鑰計算出第k時間段密鑰。
[0037]〇,/=巧三又_1mod"
[00測其中,。i,k表示群組成員U1的第k時間段密鑰,。i,k康示群組成員U1的第k-1 時間段密鑰,初始密鑰01,。二Oi,k= 0,2,3,...,T-l。密鑰更新完成后,銷毀第k-1時間 段醬鑰Oi,k1。
[0039] 步驟二,群組成員簽名,設(shè)重簽名群組集合A中為t個群組成員B= {ui,U2,…,uj 想對消息m產(chǎn)生代表群組的重簽名,B中群組成員一起執(zhí)行下列操作:
[0040]每個群組成員UiQ=1,2, 3…t)選擇一個隨機數(shù)01:
[0041]a.計算之=g々modW
[0044]然后,每個群組成員Ui分別把化S1,ZJ發(fā)送給重簽名合成者。
[0045] 步驟=,合成重簽名,重簽名合成者計算:
[0048] 然后根據(jù)計算結(jié)果,公布也P,Z,S}為消息m的重簽名,k為第k個簽名時間段。
[0049] 步驟四,驗證簽名,任何驗證者都能通過W下計算來驗證也P,Z,S}是否為消息m 的有效重簽名:
[0050]a.計算r=F如擴纖進游
[0051]b.計算S' =S?modN
[0052]c.驗證h(mIIkIIZIIS')=h(mIIkIIZIIV)
[0053] 若等式成立,則重簽名有效,否則無效。
【主權(quán)項】
1. 一種具有前向安全性的面向群組的實用重簽名方法,包括系統(tǒng)參數(shù)生成、群組成員 簽名、重簽名合成和驗證重簽名,其特征在于:包括如下步驟: 步驟一,系統(tǒng)參數(shù)初始化,密鑰分發(fā)中屯、首先進行系統(tǒng)參數(shù)初始化,為群組成員分發(fā)成 員秘鑰,設(shè)A= (u。,U2…U。J是重簽名的η個群組成員,選取一正整數(shù)IDi作為群組成員U1 的身份標(biāo)示,密鑰分發(fā)中屯、通過秘密信道把σ1發(fā)送給群組成員Ui作為成員秘密分量,公布 (N,q,g,Y)作為重簽名公鑰,群組成員Ui根據(jù)第k-1時間段密鑰σ 計算出第k時間段 密鑰〇i,k,密鑰更新完成后,銷毀第k-1時間段密鑰 步驟二,群組成員簽名,設(shè)重簽名群組集合A中有t個群組成員B=K,U2,…,uj想 對消息m產(chǎn)生代表群組的重簽名,B中群組成員完成部分簽名,然后群組成員Ui把部分簽名 (P,Si,zJ發(fā)送給重簽名合成者; 步驟Ξ,合成重簽名,重簽名合成者根據(jù)簽名算法,將也P,Z,幻作為消息m的重簽 名; 步驟四,任何驗證者都能計算h(mIIkIIZIIS')=h(mIIkIIZIIV)是否成立,如果成立, 化,P,Z,幻則是消息m的有效重簽名,否則無效; 所述密鑰分發(fā)中屯、、重簽名合成者及各個群組成員均視為處理或聯(lián)合處理特定操作步 驟的計算機或結(jié)點。2. 根據(jù)權(quán)利要求1所述的一種具有前向安全性的面向群組的實用重簽名方法,其特征 在于:步驟一中群組成員Ui根據(jù)第k-1時間段密鑰σ 計算出第k時間段密鑰σi,k,計 算方法為口,.1= 口;mod",其中初始密鑰為σ1,0=σ1,k= 0, 2, 3, . . .,T-1。3. 根據(jù)權(quán)利要求1所述的一種具有前向安全性的面向群組的實用重簽名方法,其特征 在于:步驟一中所述的重簽名公鑰(N,q,g,Y)中g(shù)與曰1的關(guān)系為:4. 根據(jù)權(quán)利要求1所述的一種具有前向安全性的面向群組的實用重簽名方法,其 特征在于:所述的k為第k個簽名時間段,將重簽名整個有效期分為T個時間段k= 0, 2, 3,,T-lo5. 根據(jù)權(quán)利要求1所述的一種具有前向安全性的面向群組的實用重簽名 方法,其特征在于:步驟二中所述的化Si,Zi}是通過計算得出。6. 根據(jù)權(quán)利要求1所述的一種具有前向安全性的面向群組的實用重簽名方法,其特征 在于:步驟Ξ中所述的也P,Z,幻中的技幻是通過計算得出。
【專利摘要】本發(fā)明涉及一種具有前向安全性的面向群組的實用重簽名方法,包括系統(tǒng)參數(shù)生成、群組成員簽名、重簽名合成和驗證重簽名。由密鑰分發(fā)中心通過秘密信道把σi發(fā)送給群組成員ui作為成員秘密分量,公布(N,q,g,Y)作為重簽名公鑰,群組成員ui根據(jù)第k-1時間段密鑰σi,k-1計算出第k時間段密鑰σi,k,密鑰更新完成后,銷毀第k-1時間段密鑰σi,k-1,重簽名合成者根據(jù)簽名算法,將{k,P,Z,S}作為消息m的重簽名,任何驗證者都能計算h(m||k||Z||Sˊ)=h(m||k||Z||V)是否成立,如果成立,{k,P,Z,S}則是消息m的有效重簽名,否則無效,本發(fā)明具有前向安全的特性,能抵抗偽造攻擊,并且實用性強。
【IPC分類】H04L29/06, H04L9/08
【公開號】CN105406964
【申請?zhí)枴緾N201510997564
【發(fā)明人】耿永軍, 仝瑞陽, 薛冰
【申請人】河南城建學(xué)院
【公開日】2016年3月16日
【申請日】2015年12月25日