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