本發明涉及信息安全的技術領域,尤其涉及了一種基于橢圓曲線的分布式門限簽名方法。
背景技術:
橢圓曲線簽名體制是目前主流的簽名方案之一,國際上通用的是ECDSA標準,而國內采用的是SM2標準,目前這兩種簽名方案在國內都有較大的應用市場。
數字簽名是現代信息安全的重要的組成部分,應用數字簽名技術可以識別篡改、偽裝,還可以有效地防止否認。安全的數字簽名在電子公文、電子合同等應用中確定雙方身份,是保證信息真實可信的基礎。當前常見的數字簽名應用機制是通過智能密碼鑰匙(USBKey)存儲密鑰信息,在需要簽名時,通過中間件配合調用智能密碼鑰匙完成運算。用戶的密鑰始終握在自己手中,是智能密碼鑰匙應用的安全基礎。
隨著移動互聯網的普及,越來越多的簽名業務逐步遷移到移動端,用戶僅需要通過聯網的移動智能設備(手機)就可以完成業務操作,給用戶帶來的極大的便利。但是傳統的智能密碼鑰匙難以在移動端發揮作用,主要包括如下幾方面原因:
●攜帶不便,用戶需要在手機之外攜帶額外的硬件介質
●硬件接口無法對接,手機端無法提供對接傳統Key的USB接口
●中間件開發困難,針對硬件調用的中間件開發難度較大
另外,普通數字簽名采用的是簽名方獨立完成簽名的方式,這樣的不能夠保證私鑰被保護,安全隱患比較大。
技術實現要素:
本發明所要解決的技術問題是:目前的普通數字簽名采用簽名方獨立完成簽名的方式不能夠保證私鑰在簽名過程的隱秘性。
為解決上述技術問題,本發明提供了一種基于橢圓曲線的分布式門限簽名方法,該簽名方法包括如下步驟:
S1,參與簽名成員將各自的身份標識發送給可信中心,;
S2,可信中心生成公私鑰對,并將公鑰公布,同時可信中心根據S1中的身份標識生成與參與簽名成員人數相等的私鑰分量,并將生成的私鑰分量分別發給參與簽名的成員;
S3,其中一名簽名成員發布待簽名消息m,并將待簽名消息m分享給其他的簽名成員;
S4,參與簽名成員根據待簽名消息m生成簽名分量ri,將簽名分量ri分享給其他成員;
S5,參與簽名成員接收所有成員分享的簽名分量ri后,計算出簽名r,并生成簽名分量si,將簽名分量si分享給其他的簽名成員;
S6,參與簽名成員接收所有成員的簽名分量si后,合成簽名s,最后得到完整的簽名(r,s),輸出完整的簽名(r,s)。
進一步,所述S2中將公鑰公布后,并構造隨機的t-1次多項式f(x)=a0+a1x+…+at-1xt-1,其中a0=d,(a1...at-1)為隨機數,t≤N,N∈(1,2,3,4,…)。
上述進一步的有益效果:構造的是(N,t)門限簽名,通過靈活的設立N和t的值可以方便的實現雙方甚至是多方的分布式簽名,這樣就可以支持單服務器單終端或者單服務器多終端的分布式簽名
進一步,所述S2中私鑰分量di,di=f(eld),將生成的N個私鑰分量di一一對應發給參與簽名的N個成員,并且參與簽名成員對其他的成員進行保密。
進一步,所述S2中將分私鑰分量di發給參與簽名的N個成員后,可信中心自動將與d有關的信息全部銷毀。
上述進一步的有益效果:各成員之間分布式的擁有私鑰分量di,完整的私鑰只會在可信中心出現,并且注冊完成后立刻銷毀,提高了隱秘性。
進一步,所述S4中包括:參與簽名成員根據待簽名消息m生成隨機數ki,根據ki計算ri,將自身的ri分享給其他成員,其中ri=[ki]·G,根據ri計算并且生成簽名r,r=(m+x)mod n,或者生成簽名r,r=xmod n,mod表示求模運算,·表示點乘。
進一步,所述S5中還包括:參與簽名成員接收到其他的成員分享的ri后,參與簽名成員隨機生成隨機數bi,并且參與簽名成員通過安全多方計算協議計算參與簽名成員計算部分簽名分量si,并將si分享給其他的簽名成員,其中si=ki-r*dici,ei=t-1mod n;或者參與簽名成員通過安全多方計算協議計算參與簽名成員計算部分簽名分量si,si=ei+r*dici,其中ei=t-1mod n,*表示模乘運算。
上述進一步的有益效果:參與簽名成員只完成簽名分量即可,最終合成簽名的過程也不會出現完整的私鑰,保證私鑰的絕對安全。
進一步,所述S6中還包括:參與簽名成員收到其他成員分享的si后,可以利用安全多方計算協議計算出真正的簽名s,其中或者
進一步,所述S6中包括:將完整的簽名(r,s)輸出,(r,s)為標準的SM2簽名報文或者(r,s)為標準的ECDSA簽名報文。
上述進一步的有益效果:完美兼容國際標準ECDSA和國密標準SM2。
進一步,N個成員中任意t位成員參與簽名運算即可完成簽名,t≤N,N∈(1,2,3,4,…)。
有益效果:分布式簽名要求至少t個成員同時進行簽名,任何一方不能單獨完成簽名,安全性進一步提升。
本發明的有益效果:采用多方共同完成數字簽名,提高了簽名的難度,保證了私鑰的安全,大大增加了密鑰的保密性,同時它可以保證多方在不知道對方密鑰分量的情況下,最后合成真正的密鑰。
附圖說明
圖1為本發明的一種基于橢圓曲線的分布式門限簽名方法示意圖;
圖2為本發明的一種基于橢圓曲線的分布式門限簽名方法流程圖。
具體實施方式
以下結合附圖對本發明的原理和特征進行描述,所舉實例只用于解釋本發明,并非用于限定本發明的范圍。
實施例一:
如圖1和圖2所示,一種基于橢圓曲線的分布式門限簽名方法,該簽名方法包括如下步驟:
下面所提及的可信中心是指運行在高度安全的環境下的一臺服務器或一組服務器;簽名成員的身份標識,下面所提到的用戶身份標識均是指在一個安全域(或信息系統應用范圍內),能夠唯一標識用戶身份的,比如手機號、郵箱、ip地址、微博賬號、微信號、QQ號、銀行賬號、各種應用賬號等。
S1,參與簽名的N個成員將各自的身份標識eldi發送給可信中心i∈[1,N],N∈(1,2,3,4,…);
S2,可信中心根據S1中的身份標識eldi生成公私鑰對(d,p),并將公鑰p公布,并構造隨機的t-1次多項式f(x)=a0+a1x+…+at-1xt-1,其中a0=d,(a1...at-1)為隨機數,t≤N,N∈(1,2,3,4,…),同時可信中心生成N個私鑰分量di;
S3,可信中心將S2中生成的N個私鑰分量di,di=f(eld),將生成的N個私鑰分量di一一對應發給參與簽名的N個成員,并且參與簽名成員對其他的成員進行保密,同時可信中心自動將與d有關的信息全部銷毀;
S4,其中一個簽名成員開始發布待簽名消息m,并將待簽名消息m分享給其他的簽名成員;
S5,根據代簽名消息m生成隨機數ki,根據ki計算ri,將自身的ri分享給其他成員,其中ri=[ki]·G,根據ri計算并且生成簽名r,r=(m+x)mod n,mod表示求模運算,·表示點乘;
S6,參與簽名成員接收到其他的成員分享的ri后,參與簽名成員隨機生成隨機數bi,參與簽名成員利用隨機數bi通過安全多方計算協議計算且參與簽名成員計算部分簽名分量si,并將si分享給其他的簽名成員,其中si=ki-r*dici,ei=t-1mod n,*表示模乘運算;
S7,參與簽名成員收到其他成員分享的si后,可以利用安全多方計算協議計算出真正的簽名s,其中或者
S8,將完整的簽名(r,s)輸出,(r,s)為標準的SM2簽名報文,并簽名(r,s)與S2中的公鑰p進行驗簽。
N個成員中任意t位成員參與簽名運算即可完成簽名,t≤N,N∈(1,2,3,4,…)。
構造的是(N,t)門限簽名,通過靈活的設立N和t的值可以方便的實現雙方甚至是多方的分布式簽名,這樣就可以支持單服務器單終端或者單服務器多終端的分布式簽名各成員之間分布式的擁有私鑰分量di,完整的私鑰只會在可信中心出現,并且注冊完成后立刻銷毀,提高了隱秘性。
實施例二
如圖1和圖2所示,一種基于橢圓曲線的分布式門限簽名方法,該簽名方法包括如下步驟:
S1,參與簽名的N個成員將各自的身份標識eldi發送給可信中心i∈[1,N],N∈(1,2,3,4,…);
S2,可信中心根據S1中的身份標識eldi生成公私鑰對(d,p),并將公鑰p公布,并構造隨機的t-1次多項式f(x)=a0+a1x+…+at-1xt-1,其中a0=d,(a1...at-1)為隨機數,t≤N,N∈(1,2,3,4,…),同時可信中心生成N個私鑰分量di;
S3,可信中心將S2中生成的N個私鑰分量di,di=f(eld),將生成的N個私鑰分量di一一對應發給參與簽名的N個成員,并且參與簽名成員對其他的成員進行保密,同時可信中心自動將與d有關的信息全部銷毀;
S4,其中一個成員開始發布待簽名消息m,其并將待簽名消息m分享給其他的簽名成員;
S5,根據代簽名消息m生成隨機數ki,根據ki計算ri,將自身的ri分享給其他成員,其中ri=[ki]·G,根據ri計算并且生成簽名r,其中r=xmod n,mod表示求模運算,·表示點乘;
S6,參與簽名成員接收到其他的成員分享的ri后,參與簽名成員隨機生成隨機數bi,參與簽名成員利用隨機數bi通過安全多方計算協議計算且參與簽名成員計算部分簽名分量si,并將si分享給其他的簽名成員,其中si=ei+r*dici,ei=t-1mod n,*表示模乘運算;
S7,參與簽名成員收到其他成員分享的si后,可以利用安全多方計算協議計算出真正的簽名s,
S8,將完整的簽名(r,s)輸出,(r,s)為標準的ECDSA簽名報文,并簽名(r,s)與S2中的公鑰p進行驗簽。
N個成員中任意t位成員參與簽名運算即可完成簽名,t≤N,N∈(1,2,3,4,…)。
在本說明書中,對上述術語的示意性表述不必須針對的是相同的實施例或示例。而且,描述的具體特征、結構、材料或者特點可以在任一個或多個實施例或示例中以合適的方式結合。此外,在不相互矛盾的情況下,本領域的技術人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特征進行結合和組合。
以上所述僅為本發明的較佳實施例,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。