亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于橢圓曲線的分布式簽名方法及系統(tǒng)與流程

文檔序號:11929711閱讀:356來源:國知局
一種基于橢圓曲線的分布式簽名方法及系統(tǒng)與流程

本發(fā)明涉及信息安全的技術(shù)領(lǐng)域,尤其涉及了一種基于橢圓曲線的分布式簽名方法及系統(tǒng)。



背景技術(shù):

橢圓曲線簽名體制是目前主流的簽名方案之一,國際上通用的是ECDSA標(biāo)準(zhǔn),而國內(nèi)采用的是SM2標(biāo)準(zhǔn),目前這兩種簽名方案在國內(nèi)都有較大的應(yīng)用市場。

數(shù)字簽名是現(xiàn)代信息安全的重要的組成部分,應(yīng)用數(shù)字簽名技術(shù)可以識別篡改、偽裝,還可以有效地防止否認(rèn)。安全的數(shù)字簽名在電子公文、電子合同等應(yīng)用中確定雙方身份,是保證信息真實可信的基礎(chǔ)。當(dāng)前常見的數(shù)字簽名應(yīng)用機(jī)制是通過智能密碼鑰匙(USBKey)存儲密鑰信息,在需要簽名時,通過中間件配合調(diào)用智能密碼鑰匙完成運算。用戶的密鑰始終握在自己手中,是智能密碼鑰匙應(yīng)用的安全基礎(chǔ)。

隨著移動互聯(lián)網(wǎng)的普及,越來越多的簽名業(yè)務(wù)逐步遷移到移動端,用戶僅需要通過聯(lián)網(wǎng)的移動智能設(shè)備(手機(jī))就可以完成業(yè)務(wù)操作,給用戶帶來的極大的便利。但是傳統(tǒng)的智能密碼鑰匙難以在移動端發(fā)揮作用,主要包括如下幾方面原因:

●攜帶不便,用戶需要在手機(jī)之外攜帶額外的硬件介質(zhì)

●硬件接口無法對接,手機(jī)端無法提供對接傳統(tǒng)Key的USB接口

●中間件開發(fā)困難,針對硬件調(diào)用的中間件開發(fā)難度較大

另外,一般在進(jìn)行數(shù)字簽名業(yè)務(wù)時,需要通過額外的存儲介質(zhì)來保護(hù)密鑰的安全性,而在移動端進(jìn)行簽名時,這種方式不可行,需要新型的去介質(zhì)的分布式簽名方法,因此,在移動端提供安全合規(guī)的數(shù)字簽名是當(dāng)下急需解決的問題。



技術(shù)實現(xiàn)要素:

本發(fā)明所要解決的技術(shù)問題是:一般在進(jìn)行數(shù)字簽名業(yè)務(wù)時,需要通過額外的存儲介質(zhì)來保護(hù)密鑰的安全性,而在移動端進(jìn)行簽名時,這種方式不可行,需要新型的去介質(zhì)的分布式簽名方法。

為解決上面的技術(shù)問題,本發(fā)明提供了一種基于橢圓曲線的分布式簽名方法,該簽名方法包括如下步驟:

S1,客戶端注冊生成一對與用戶永久綁定的固定公私鑰對(PC,dC),將客戶端自身固定公鑰PC發(fā)送給簽名代理中心;

S2,簽名代理中心根據(jù)公鑰PC生成與用戶綁定的固定公私鑰對(PB,dB),同時計算生成簽名公鑰P,并將簽名公鑰P發(fā)布;

S3,簽名業(yè)務(wù)中心將待簽名消息(msg)發(fā)送給客戶端和簽名代理中心;

S4,客戶端收到S3中的待簽名消息(msg)后,生成臨時公私鑰對(PTmp,dTmp),并將公鑰PTmp發(fā)送給簽名代理中心;

S5,簽名代理中心根據(jù)收到的待簽名消息(msg)后和臨時公鑰PTmp生成臨時公私鑰對(PSTmp,dSTmp),并計算生成簽名消息摘要e;

S6,簽名代理中心根據(jù)臨時公鑰PTmp、簽名消息摘要e和固定私鑰dB完成簽名代理操作,并將簽名代理結(jié)果發(fā)送給客戶端;

S7,客戶端根據(jù)簽名代理結(jié)果,利用自身的固定私鑰dC和臨時私鑰dTmp進(jìn)行簽名授權(quán)工作,得到符合標(biāo)準(zhǔn)協(xié)議的簽名報文,并將簽名與簽名公鑰P進(jìn)行驗證;

S8,若簽名驗證成功,則將報文發(fā)送給簽名業(yè)務(wù)中心。

進(jìn)一步,所述的客戶端、簽名代理中心和簽名業(yè)務(wù)中心均支持SM2標(biāo)準(zhǔn)算法的橢圓曲線參數(shù)E(Fp)、G和n,橢圓曲線E為定義在有限素數(shù)域Fp上的橢圓曲線,G為橢圓曲線E上n階基點。

進(jìn)一步,所述S2中還包括:計算生成簽名公鑰P,P=PC+PB+[dB]·PC,·表示點乘。

進(jìn)一步,所述S5中還包括:計算簽名消息摘要e,e=h(msg),同時生成隨機(jī)數(shù)k,并利用隨機(jī)數(shù)k計算點(x,y)=[k]·(PTmp+PSTmp),k∈[1,n-1],h是哈希函數(shù)。

進(jìn)一步,所述S6中還包括:簽名代理中心根據(jù)臨時公鑰PTmp、簽名消息摘要e和固定私鑰dB完成簽名代理,并計算生成(r,sproxy1,sproxy2),其中r=(x+e)mod n;sproxy1=(1+dB)-1*k mod n;sproxy2=(1+dB)-1*(r+k*dSTmp)mod n,mod表示求模運算,*表示模乘運算。

進(jìn)一步,所述S7中還包括:客戶端根據(jù)簽名代理結(jié)果,利用自身的固定私鑰dC和臨時私鑰dTmp計算簽名s,客戶端將(r,s)作為完整的簽名并輸出,其中s=(1+dC)-1*dTmp*sproxy1+(1+dC)-1*sproxy2-r mod n。

進(jìn)一步,當(dāng)簽名完成后客戶端的臨時公私鑰對PTmp,dTmp自動銷毀以及簽名代理中心的臨時公私鑰(PSTmp,dSTmp)對自動銷毀。

本發(fā)明的有益效果:簽名私鑰不會以明文的形式出現(xiàn)在任何過程中,保證簽名私鑰絕對的安全,分布式簽名要求參與者必須同時進(jìn)行簽名,任何一方不能單獨完成簽名,安全性進(jìn)一步提升,協(xié)議簡單方便,只需要幾次交互就能完成完整的簽名,實現(xiàn)簡單方便,用戶可以對簽名消息進(jìn)行驗證,保證所見即所簽,客戶端可以對簽名結(jié)果進(jìn)行驗證,保證發(fā)出的簽名報文的有效性。

本發(fā)明還涉及一種基于橢圓曲線的分布式簽名系統(tǒng),該分布式簽名系統(tǒng)包括:客戶端,簽名代理中心,簽名業(yè)務(wù)中心;客戶端將公鑰PC發(fā)送給簽名代理中心;簽名代理中心接收公鑰PC后生成固定公私鑰對(PB,dB),同時生成簽名公鑰P,并將簽名公鑰P公布;簽名業(yè)務(wù)系統(tǒng)將待簽名消息(msg)發(fā)送給客戶端和簽名代理中心;客戶端接收簽名消息(msg)生成臨時公私鑰對(PTmp,dTmp),并將臨時公鑰PTmp發(fā)送給簽名代理中心;簽名代理中心接收待簽名消息(msg)與臨時公鑰PTmp后,生成(r,sproxy1,sproxy2),并將生成的(r,sproxy1,sproxy2)發(fā)送給客戶端;客戶端根據(jù)(r,sproxy1,sproxy2)生成完整簽名(r,s),將完整簽名(r,s)輸出并與簽名公鑰P驗證。

進(jìn)一步,簽名代理中心還包括:簽名代理中心還包括:計算生成簽名公鑰P=PC+PB+[dB]·PC,計算簽名消息摘要e,e=h(msg),同時生成隨機(jī)數(shù)k,并利用隨機(jī)數(shù)k計算點(x,y)=[k]·(PTmp+PSTmp),其中·表示點乘,k∈[1,n-1],h是相應(yīng)的哈希函數(shù)。

進(jìn)一步,簽名代理中心還包括:簽名代理中心根據(jù)臨時公鑰PTmp、簽名消息摘要e和自身的私鑰完成簽名代理,并計算生成(r,sproxy1,sproxy2),其中r=(x+e)mod n;sproxy1=(1+dB)-1*k mod n;sproxy2=(1+dB)-1*(r+k*dSTmp)mod n,mod表示求模運算,*表示模乘運算。

進(jìn)一步,客戶端還包括:客戶端根據(jù)簽名代理結(jié)果,利用自身的固定私鑰dC和臨時私鑰dTmp計算簽名s,客戶端將(r,s)作為完整的簽名并輸出,其中s=(1+dC)-1*dTmp*sproxy1+(1+dC)-1*sproxy2-r mod n。

進(jìn)一步,簽名代理中心還包括:將簽名公鑰P請求對接CA申請用戶數(shù)字證書。

進(jìn)一步,當(dāng)簽名完成后客戶端的臨時公私鑰對PTmp,dTmp自動銷毀以及簽名代理中心的臨時公私鑰(PSTmp,dSTmp)對自動銷毀。

有益效果:簽名私鑰不會以明文的形式出現(xiàn)在任何過程中,保證絕對的安全,分布式簽名要求參與者必須同時進(jìn)行簽名,任何一方不能單獨完成簽名,安全性進(jìn)一步提升,協(xié)議簡單方便,只需要幾次交互就能完成完整的簽名,實現(xiàn)簡單方便,用戶可以對簽名消息進(jìn)行驗證,保證所見即所簽,客戶端可以對簽名結(jié)果進(jìn)行驗證,保證發(fā)出的簽名報文的有效性。

附圖說明

圖1為本發(fā)明的一種基于橢圓曲線的分布式簽名系統(tǒng)示意圖;

圖2為本發(fā)明的一種基于橢圓曲線的分布式簽名方法流程圖。

具體實施方式

以下結(jié)合附圖對本發(fā)明的原理和特征進(jìn)行描述,所舉實例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。

如圖2所示,一種基于橢圓曲線的分布式簽名方法,該簽名方法包括如下步驟:

客戶端、簽名代理中心和簽名業(yè)務(wù)中心均支持SM2標(biāo)準(zhǔn)算法的橢圓曲線參數(shù)E(Fp)、G和n,橢圓曲線E為定義在有限素數(shù)域Fp上的橢圓曲線,G為橢圓曲線E上n階基點,。

S1,客戶端注冊生成一對與用戶永久綁定的固定公私鑰(PC,dC),將客戶端自身固定公鑰PC發(fā)送給簽名代理中心;

S2,簽名代理中心根據(jù)公鑰PC生成與用戶綁定的的固定公私鑰對(PB,dB),同時計算生成簽名公鑰P,并將簽名公鑰P發(fā)布,其中P=PC+PB+[dB]·PC,·表示點乘;

S3,簽名業(yè)務(wù)中心將待簽名消息(msg)發(fā)送給客戶端和簽名代理中心;

S4,客戶端收到待簽名消息(msg)后,生成臨時公私鑰對(PTmp,dTmp),并將PTmp發(fā)送給簽名代理中心;

S5,簽名代理中心根據(jù)收到的待簽名消息(msg)和臨時公鑰PTmp生成臨時公私鑰對(PSTmp,dSTmp),并計算生成簽名消息摘要e,e=h(msg),同時生成隨機(jī)數(shù)k,并利用隨機(jī)數(shù)k計算點(x,y)=[k]·(PTmp+PSTmp),k∈[1,n-1],h是哈希函數(shù);

S6,簽名代理中心根據(jù)臨時公鑰PTmp、簽名消息摘要e和自身的私鑰完成簽名代理操作,并計算生成(r,sproxy1,sproxy2),其中r=(x+e)mod n;sproxy1=(1+dB)-1*k mod n;sproxy2=(1+dB)-1*(r+k*dSTmp)mod n,mod表示求模運算,*表示模乘運算,并將簽名代理結(jié)果發(fā)送給客戶端;

S7,客戶端根據(jù)簽名代理結(jié)果,利用自身的固定私鑰dC和臨時私鑰dTmp行簽名授權(quán)工作,并計算簽名s,客戶端將(r,s)作為完整的簽名并輸出,得到真正的符合標(biāo)準(zhǔn)協(xié)議的簽名報文,并將簽名與簽名公鑰P驗證并輸出,其中s=(1+dC)-1*dTmp*sproxy1+(1+dC)-1*sproxy2-r mod n。

S8,若簽名驗證成功,則將報文發(fā)送給簽名業(yè)務(wù)中心。

當(dāng)簽名完成后,客戶端的臨時公私鑰對以及簽名代理中心的臨時公私鑰對自動銷毀

簽名私鑰不會以明文的形式出現(xiàn)在任何過程中,保證簽名私鑰絕對的安全,分布式簽名要求參與者必須同時進(jìn)行簽名,任何一方不能單獨完成簽名,安全性進(jìn)一步提升,協(xié)議簡單方便,只需要幾次交互就能完成完整的簽名,實現(xiàn)簡單方便,用戶可以對簽名消息進(jìn)行驗證,保證所見即所簽,客戶端可以對簽名結(jié)果進(jìn)行驗證,保證發(fā)出的簽名報文的有效性。

如圖1所示,一種基于橢圓曲線的分布式簽名系統(tǒng),該分布式簽名系統(tǒng)包括:客戶端,簽名代理中心,簽名業(yè)務(wù)中心;客戶端將公鑰PC發(fā)送給簽名代理中心;簽名代理中心接收公鑰PC后生成固定公私鑰對(PB,dB),同時生成簽名公鑰P,并將簽名公鑰P公布;簽名業(yè)務(wù)系統(tǒng)將待簽名消息(msg)發(fā)送給客戶端和簽名代理中心;客戶端接收簽名消息(msg)生成臨時公私鑰對((PTmp,dTmp)),并將臨時公鑰PTmp發(fā)送給簽名代理中心;簽名代理中心接收待簽名消息(msg)與臨時公鑰PTmp后,生成(r,sproxy1,sproxy2),并將生成的(r,sproxy1,sproxy2)發(fā)送給客戶端;客戶端根據(jù)(r,sproxy1,sproxy2)生成完整簽名(r,s),將完整簽名(r,s)輸出并與簽名公鑰P驗證。

簽名代理中心還包括:簽名代理中心還包括:計算生成簽名公鑰P=PC+PB+[dB]·PC,計算簽名消息摘要e,e=h(msg),同時生成隨機(jī)數(shù)k,并利用隨機(jī)數(shù)k計算點(x,y)=[k]·(PTmp+PSTmp),其中·表示點乘,k∈[1,n-1],h是相應(yīng)的哈希函數(shù)。

簽名代理中心還包括:簽名代理中心根據(jù)臨時公鑰PTmp、簽名消息摘要e和自身的私鑰完成簽名代理,并計算生成(r,sproxy1,sproxy2),其中r=(x+e)mod n;sproxy1=(1+dB)-1*k mod n;sproxy2=(1+dB)-1*(r+k*dSTmp)mod n,mod表示求模運算,*表示模乘運算。

客戶端還包括:客戶端根據(jù)簽名代理結(jié)果,利用自身的固定私鑰dC和臨時私鑰dTmp計算簽名s,客戶端將(r,s)作為完整的簽名并輸出,其中s=s=(1+dC)-1*dTmp*sproxy1+(1+dC)-1*sproxy2-r mod n。

簽名代理中心還包括:將簽名公鑰P請求對接CA申請用戶數(shù)字證書。

當(dāng)簽名完成后客戶端的臨時公私鑰對PTmp,dTmp自動銷毀以及簽名代理中心的臨時公私鑰(PSTmp,dSTmp)對自動銷毀。

在本說明書中,對上述術(shù)語的示意性表述不必須針對的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任一個或多個實施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特征進(jìn)行結(jié)合和組合。

以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1