專利名稱:一種無指數(shù)運算的快速數(shù)字簽名技術(shù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于信息安全領(lǐng)域,特別涉及一種可證明安全性的快速公開密鑰數(shù)字簽名技術(shù)。
背景技術(shù):
公開密鑰數(shù)字簽名技術(shù)是信息安全的核心技術(shù)之一,開發(fā)具有自主知識產(chǎn)權(quán)的、可證明安全性的數(shù)字簽名技術(shù)是我國信息技術(shù)科研人員近年來的一個重點研究領(lǐng)域。國際上迄今在該領(lǐng)域中提出的主流技術(shù)有四大類第一類基于因數(shù)分解問題,如RSA;第二類基于離散對數(shù)問題,如ElGamal;第三類為上述兩類在橢圓曲線上的變種,統(tǒng)稱為橢圓曲線數(shù)字簽名技術(shù);第四類基于格中最短向量問題,如NTRU。
基于因數(shù)分解問題的技術(shù)簡稱為IFP技術(shù),是經(jīng)典的公開密鑰技術(shù)之一,目前仍在國際上獲得廣泛應(yīng)用。國內(nèi)雖已開始推廣橢圓曲線等其它公開密鑰技術(shù),但RSA產(chǎn)品仍在市場上占有壓倒性的份額?,F(xiàn)有的IFP技術(shù),包括RSA,均采用大指數(shù)乘方運算實現(xiàn)數(shù)據(jù)的簽名操作,其運算量很大,國外早在二十年前就開始研究如何實現(xiàn)無指數(shù)運算的IFP數(shù)字簽名技術(shù),但迄今還沒有見到令人滿意的結(jié)果。本發(fā)明在這方面取得重要突破,具有國際領(lǐng)先水平。
發(fā)明內(nèi)容
本發(fā)明需要解決的問題是研究出一種新的IFP公鑰數(shù)字簽名技術(shù),使得簽名的產(chǎn)生與驗證過程均不涉及指數(shù)運算。本發(fā)明的目的,是采用如下技術(shù)實現(xiàn)的,其特征是(a)采用如下(1),(2),(3),(4)給出的公式計算x1,y1,y1,y2,x3,y3,z1,z2x1=2-1(k1k2-1+k2k1-1)(modn),---(1)]]>y1=2-1β-1(k1k2-1-k2k1-1)(modn),]]>x2=2-1(h1-1k1k2+h1k1-1k2-1)(modn),---(2)]]>y2=2-1β-1(h1-1k1k1-h1k1-1k2-1)(modn),---(2)]]>
x3=2-1(h2-1k3k4+h2k3-1k4-1)(modn),]]>y3=2-1β-1(h2-1k3k4-h2k3-1k4-1)(modn),---(3)]]>z1=2-1(k1+k2)(1+h1k1-1k2-1)(modn),]]>z2=2-1(k3+k4)(1+h2k3-1k4-1)(modn),---(4)]]>其中n是兩個秘密大素數(shù)的乘積,即RSA模數(shù),k1,k2和k3是三個小于n且與n互質(zhì)的隨機整數(shù),β是一個小于n且與n互質(zhì)的秘密整數(shù),也是簽名者的私鑰;(b)以上公式中的h1,h2按下式計算h1=f(m,y1),(5)h2=g(m,y2),其中m代表被簽名的信息,f和g是密碼學(xué)意義的哈希(hash)函數(shù);(c)簽名者的私鑰與其公鑰滿足如下方程α=β2(mod n);(6)(d)簽名算法輸出(y1,y2,x3,y3,z1,z2)作為信息m的簽名;(e)簽名驗證算法采用(5)中的公式和如下方程驗證(y1,y2,x3,y3,z1, z2)是否為信息m的合法簽名xi2-αyi2=1(modn),i=1,2,3,---(7)]]>z12=h1(x1+1)(x2+1)(modn),]]>z22=h2(x2+1)(x3+1)(modn),---(8)]]>其中α是簽名者的公鑰。
不難驗證,按(1),(2)和(3)可算出(7)的解。此外,由(1),(2),(3)和(4)也不難推出(8),推導(dǎo)要點如下2(x1+1)=k1k2-1+k2k1-1+2]]>=k1-1k2-1(k1+k2)2(modn),]]>2h1(x2+1)=k1k2+h12k1-1k2-1+2h1]]>=k1-1k2-1(k1k2+h1)2(modn).]]>故有4h(x1+1)(x2+1)=k1-2k2-2(k1k2+h)2(k1+k2)2]]>=(1+k1-1k2-1h)2(k1+k2)2]]>=4z12(modn),]]>整理上式即可獲得(8)中的第一個方程。同理可推導(dǎo)(8)中的第二個方程。
本發(fā)明的有益效果是(a)安全機理與傳統(tǒng)IFP算法相同,可依托隨機預(yù)言盒模型(Random Oracle Model)證明其安全性,投入實際應(yīng)用的成熟度高,且同時具有傳統(tǒng)IFP數(shù)字簽名技術(shù)無可比擬的高效率;若假定n的長度為1024比特,其速度比RSA高出兩個數(shù)量級,特別適合在移動電子設(shè)備如手機、掌上電腦(PDA)的通訊中實現(xiàn)信息認證與信息源認證;(b)能夠?qū)崿F(xiàn)基于身份的數(shù)字簽名,特別適合在電子政務(wù)應(yīng)用中實現(xiàn)印章和手工簽名圖像與公文的綁定,只要在上述圖像數(shù)據(jù)后綴加針對全文的、基于授權(quán)人身份的數(shù)字簽名,無需安全認證中心(CA)的支持即可防止公文內(nèi)容的篡改和印章、手工簽名圖像的挪用。
實際應(yīng)用中,也可以把簽名簡化為(y1,x2,y2,z1),以進一步提高效率。
四
附圖1-5是本發(fā)明兩類具體實施方案的程序流程圖,附圖6是一個帶有印章的傳統(tǒng)證件例子,用于說明如何利用基于身份的數(shù)字簽名實現(xiàn)印章和手工簽名圖像與文件內(nèi)容的綁定。
五、具體實施方案本發(fā)明的實施方案有如下兩類第一類按標準公鑰數(shù)字簽名體系實施;第二類按基于身份的數(shù)字簽名體系實施。
以下結(jié)合附圖,對兩類具體實施方案的特征進行說明。
第一類實施方案的特征是初始化時各用戶自己產(chǎn)生兩個秘密的大數(shù)素p、q,計算n=pq,再產(chǎn)生一個介于1和n之間,且與n互質(zhì)的秘密整數(shù)β作為私鑰,并按(6)計算α,然后公布公鑰(n,α),程序流程如圖1所示;對信息m進行簽名時先產(chǎn)生兩個介于1和n之間且與n互質(zhì)的秘密整數(shù)k1,k2和k3,再按(1),(2),(3),(4)和(5)計算y1,y2, x3,y3,z1,z2,程序流程如圖2所示;驗證簽名時可先根據(jù)(5)和(8)恢復(fù)x1,x2,再根據(jù)簽名者的公鑰(n,α)判定(7)中三個方程的兩邊是否相等,若相等,則接受簽名,否則予以拒絕,程序流程如圖3所示。注意在第一類實施方案中,p、q在初始化完成后即可以銷毀。
第二類實施方案的特征是系統(tǒng)初始化時由系統(tǒng)權(quán)威機構(gòu)(SA)產(chǎn)生兩個秘密的大數(shù)素p、q,p(mod4)=q(mod4)=3,計算n=pq,并公布n,而p、q則由SA保管,作為系統(tǒng)主密鑰,程序流程如圖4所示;用戶初始化時向SA提交其用于身份標識s(可以是郵件地址、姓名和住址、身份證號等),由SA先按如下(9),(10),(11)三式計算τ和α1s1=μ(s),s3=μ(s1),s5=s1s3(modn),(9)s2i=-s2i-1(modn),i=1,2,3,Ji1=sip-12(modp),i=1,2,...6,---(10)]]>Ji2=siq-12(modq),i=1,2,...6,]]>τ=min{iJi1=Ji2=1},(11)α=sτ,其中μ也是一個哈希函數(shù),再利用系統(tǒng)主密鑰計算滿足(5)的β作為基于身份的私鑰,并將其和τ一起反饋給用戶用于對信息進行簽名,程序流程如圖5所示;對信息m進行簽名的過程與第一類實施方案相同,但需要把τ附加在y1,y2,x3,y3,z1,z2之后;驗證簽名時需要先根據(jù)簽名者的身份s和附加在簽名后的τ從(9)和(11)算出α,再采用與第一類實施方案相同的方法判定其真?zhèn)?。注意在第二類實施方案中,利?9),(10)和(11)算出的α必定為模-n平方剩余(QR)。
六、應(yīng)用例子我們以一個傳統(tǒng)證件為例,說明如何利用基于身份的數(shù)字簽名實現(xiàn)印章和手工簽名圖像與文件內(nèi)容的綁定。附圖6中的證書可以采用如下的XML語法表示<Doc attach=1>
<Contents count=4>
<Title>證書</Title>
<Text>鄭建德同志</Text>
<Text>您當選為中國互聯(lián)網(wǎng)協(xié)會第一屆理事會常務(wù)理事,特發(fā)持證</Text>
<Text> 2001年5月25日</Text>
</Contents>
<Seal name=“中國互聯(lián)網(wǎng)協(xié)會”,img=“isc_seal.jpg”,signature=isc_sig.pem>
<Auth nsme=“張秘”,signature=zhang_sig.pem/>
<Date dt=“05-25-2001”,Stamp=time_stamp.pem/>
</Seal>
</Doc>
其中isc_seal.jpg存放中國互聯(lián)網(wǎng)協(xié)會公章的圖像,isc_sig.pem存放的是Contents元素全部內(nèi)容和isc_seal.jpg二進制代碼連在一起的基于身份的數(shù)字簽名,產(chǎn)生該簽名的私鑰是當s=“中國互聯(lián)網(wǎng)協(xié)會”時,根據(jù)(6),(9),(10),(11)計算的β,同樣,用印人張秘的數(shù)字簽名也是基于身份的,產(chǎn)生該簽名的β值是以s=“張秘”計算出來的。在電子政務(wù)中,一個公文往往需要加蓋幾個甚至幾十個公章,由幾個人甚至幾十個人批閱。采用以上方法實現(xiàn)這些印章和批閱人手工簽名圖像與文件內(nèi)容進行綁定比基于CA的類似方法優(yōu)越,因為后者的數(shù)字簽名驗證需要與CA進行大量的通信,或在文件后附加大量的數(shù)字證書。
權(quán)利要求
1.一種快速公開密鑰數(shù)字簽名算法,其特征在于(a)采用如下(1),(2),(3),(4)給出的公式計算x1,y1,x2,y2,x3,y3,z1,z2x1=2-1(k1k2-1+k2k1-1)(modn),---(1)]]>y1=2-1β-1(k1k2-1-k2k1-1)(modn),]]>x2=2-1(h1-1k1k2+h1k1-1k2-1)(modn),---(2)]]>y2=2-1β-1(h1-1k1k1-h1k1-1k2-1)(modn),]]>x3=2-1(h2-1k3k4+h2k3-1k4-1)(modn),]]>y3=2-1β-1(h2-1k3k4-h2k3-1k4-1)(modn),---(3)]]>z1=2-1(k1+k2)(1+h1k1-1k2-1)(modn),---(4)]]>z2=2-1(k3+k4)(1+h2k3-1k4-1)(modn),]]>其中n是兩個秘密大素數(shù)的乘積,即RSA模數(shù),k1,k2和k3是三個小于n且與n互質(zhì)的隨機整數(shù),β是一個小于n且與n互質(zhì)的秘密整數(shù),也是簽名者的私鑰;(b)以上公式中的h1,h2按下式計算h1=f(m,y1), (5)h2=g(m,y2),其中m代表被簽名的信息,f和g是密碼學(xué)意義的哈希(hash)函數(shù);(c)簽名者的私鑰與其公鑰滿足如下方程α=β2(mod n);(6)(d)簽名算法輸出(y1,y2,x3,y3,z1,z2)作為信息m的簽名;(e)簽名驗證算法采用(5)中的公式和如下方程驗證(y1,y2,x3,y3,z1,z2)是否為信息m的合法簽名xi2-ayi2=1(modn),i=1,2,3,---(7)]]>z12=h1(x1+1)(x2+1)(modn),---(8)]]>z22=h2(x2+1)(x3+1)(modn),]]>其中α是簽名者的公鑰。
2.如權(quán)利要求1所述數(shù)字簽名算法的基于身份的實施方案,其特征在于計算模數(shù)n=pq時,選取p(mod4)=q(mod4)=3,且計算用戶公鑰時(6)中的α按如下(9),(10),(11)三式計算(其中s為用戶身份標識)s1=μ(s),s3=μ(s1),s5=s1s3(modn), (9)s2i=-s2i-1(modn),i=1,2,3,Ji1=sip-12(modp),i=1,2,...6,---(10)]]>Ji2=siq-12(modq),i=1,2,...6,]]>τ=min{iJi1=Ji2=1},(11)α=sτ,其中μ也是一個哈希函數(shù)。
全文摘要
一種無指數(shù)運算的可證明安全性的快速數(shù)字簽名技術(shù),其安全機理與傳統(tǒng)的基于因數(shù)分解問題(IFP)的數(shù)字簽名技術(shù)相同,投入實際應(yīng)用的成熟度高,且同時具有傳統(tǒng)IFP技術(shù)無可比擬的高效率,若假定n的長度為1024比特,則其速度比RSA高出兩個數(shù)量級,特別適合在移動電子設(shè)備如手機、掌上電腦(PDA)的通訊中實現(xiàn)信息認證與信息源認證。本發(fā)明也能夠?qū)崿F(xiàn)基于身份的數(shù)字簽名,特別適合在電子政務(wù)應(yīng)用中實現(xiàn)印章和手工簽名圖像與公文的綁定,只要在上述圖像數(shù)據(jù)后綴加針對文件全文的、基于授權(quán)人的身份的數(shù)字簽名,無需安全認證中心(CA)的支持即可防止公文內(nèi)容的篡改和印章、手工簽名圖像的挪用。
文檔編號G06Q10/00GK101086755SQ20061009208
公開日2007年12月12日 申請日期2006年6月9日 優(yōu)先權(quán)日2006年6月9日
發(fā)明者鄭建德 申請人:鄭建德