周克元
(宿遷學(xué)院二系,江蘇宿遷 223800)
公開驗證和前向安全數(shù)字簽密方案的分析與改進
周克元
(宿遷學(xué)院二系,江蘇宿遷223800)
摘要:指出張建航等提出的數(shù)字簽密方案無前向安全性,提出了一個新的可公開驗證和前向安全的數(shù)字簽密方案,并進行了正確性和安全性分析,與已有方案比較,降低了算法復(fù)雜度.同時,指出張建航等提出的橢圓曲線數(shù)字簽密方案復(fù)雜度過高,給出了一個新的簽密方案,方案具有前向安全性和公開驗證性,模乘運算達到最小值4次,模逆運算達到最小值0次,復(fù)雜度達到理論最小值.
關(guān)鍵詞:數(shù)字簽密;前向安全;公開驗證;橢圓曲線;改進
收稿日期:2014-12-20;修改稿收到日期:2015-04-20
E-mail:zhoukeyuan2001@163.com
基金項目:宿遷市科研項目(Z201450)
作者簡介:周克元(1978—),男,江蘇淮安人,講師,碩士.主要研究方向為密碼學(xué).
中圖分類號:TN 918.1
文獻標(biāo)志碼:標(biāo)志碼:A
文章編號:章編號:1001-988Ⅹ(2015)06-0050-04
Abstract:The signcryption scheme proposed by Zhang Jian-hang et al is analyzed,and the scheme don’t have the forward security.An improvement scheme is proposed with public verifiability and forward security,the correctness and security are proved.The efficiency of the scheme is increased significantly compared with two existing schemes.Moreover,a new signcryption scheme based on elliptic curves is proposed with public verifiability and forward security.In the algorithm,both the numbers of model multiplication and model inverse are reached the minimum four times and zero times,the efficiency of the algorithm is increased significantly compared with the existing signcryption scheme.
Attackanalysisandimprovementonthesigncryptionscheme
withpublicverifiabilityandforwardsecurity
ZHOUKe-yuan
(TheSecondDepartment,SuqianCollege,Suqian223800,Jiangsu,China)
Keywords:signcryptionscheme;forwardsecurity;publicverifiability;ellipticcurves;improvement
基于離散對數(shù)數(shù)學(xué)難題的數(shù)字簽密方案的原理為:利用離散對數(shù)數(shù)字簽名方法得到加密密鑰,使用加密密鑰加密明文為密文,之后將簽密發(fā)送給接收者;接收者接到簽密后,首先驗證其正確性,然后使用自己的私鑰及簽密得到解密密鑰,從而解密密文得到明文消息[1].相繼有Zheng[1-2]、李發(fā)根等[3]、陳偉東等[4]、李艷平等[5]、張串絨等[6]、喻琇瑛等[7]、于永等[8]、張建航等[9]、戚明平等[10]對離散對數(shù)數(shù)字簽密進行了研究.
張建航等[9]對Zheng提出的簽密方案[1]進行了分析,指出Zheng方案無前向安全性,且不具有公開驗證性,并對其進行了改進.筆者研究發(fā)現(xiàn),張建航等改進方案仍無前向安全,并給出了新的簽密方案.新方案具有前向安全性,且運算復(fù)雜度更低.
1Zheng數(shù)字簽密方案
1.1參數(shù)
1.2簽密階段
對消息明文m進行加密c=Ek1(m),得簽密密文對(c,r,s),將密文發(fā)送給Bob[1].
1.3解簽密階段
r=H(k2,m)?Bob接受m為Alice所發(fā)送的明文信息[1].
2張建航等簽密方案
2.1簽密階段
2.2解簽密階段
Bob收到簽密(c,r,s)后,計算
進行解密m=Dk2(c).
當(dāng)且僅當(dāng)r=H(k1,c)時,Bob接受m為Alice發(fā)送的消息.
2.3相關(guān)攻擊分析
3新的簽密方案
下面給出一個新的簽密方案,方案增加了一個簽名者私鑰以增加安全性,具有前向安全性和可公開驗證性,且復(fù)雜度比已有的簽密方案低.
3.1參數(shù)
在Zheng方案參數(shù)的基礎(chǔ)上,將Alice私鑰更改為選取xa1,xa2∈Zp,并計算公鑰ya1=gxa1modp,ya2=gxa2modp,其余不變.
3.2簽密階段
Alice選取2個隨機數(shù)x1,x2∈Zp,計算
最后Alice將簽密消息對(c,k1,k3,s1,s2)發(fā)送給Bob.
3.3解簽密階段
3.4正確性證明
說明該方案的驗證過程是正確的.
4安全性和效率分析
4.1不可偽造性
簽密方程為
Bob收到簽密后,可知道簽密方程中參數(shù)s1,s2,c,H(m),但參數(shù)x1,x2,xa1,xa2仍未知,2個方程有4個未知量,故包括Bob在內(nèi)的任何人都無法求出私鑰xa1,xa2.簽密過程需要Alice的私鑰xa1,xa2參與,所以包括Bob在內(nèi)的任何人都無法偽造消息m的簽密.
4.2前向安全性
4.3公開驗證性
由于驗證中不需要Bob的私鑰,所以第三方可公開驗證,簽名者Alice不能否認.
4.4效率分析
對基于離散對數(shù)的同時具有前向安全性和可公開驗證性的簽密方案,其復(fù)雜度的改進有兩個方面:① 減少模逆運算,最新方案為喻琇瑛等方案[7],模逆為0次,但模指數(shù)高達8次;② 減少模指數(shù)運算,最新方案為戚明平等方案[10],模指數(shù)為6次,模逆為1次.文中方案復(fù)雜度為模指數(shù)6次,模逆0次,比已有方案均低(表1,簽密長度中不計每個方案中均需傳輸?shù)拿芪腸).
表1 3種方案效率比較
5基于身份的橢圓曲線數(shù)字簽密方案的分析與改進
由于橢圓曲線具有較好的密碼學(xué)特征,基于橢圓曲線的密碼算法能夠提供更好的加解密強度、更快的執(zhí)行速度和更小的密鑰長度,使得橢圓曲線在公鑰密碼學(xué)中有著廣泛的應(yīng)用[11].Hwang等[12]、于剛等[13]、李發(fā)根等[14]對基于身份的橢圓曲線數(shù)字簽密進行了研究;張建航等[9]也給出了一個基于身份的橢圓曲線數(shù)字簽密方案,具有前向安全性和可公開驗證性,但方案中模乘運算達5次,復(fù)雜度較高.文中給出一個新的基于身份的橢圓曲線數(shù)字簽密方案,仍具有前向安全性和可公開驗證性,且比張建航等方案少1次模乘運算,運算復(fù)雜度達到理論最小值.
5.1參數(shù)
設(shè)GF(q)為有限域,E是有限域GF(q)上的橢圓曲線,選擇E上一點G,G的階為滿足安全要求的素數(shù)n.發(fā)送方Alice選取私鑰xA∈Z*n,并計算公鑰YA=xAG;接收方Bob同理選取私鑰xB∈Z*n,并計算公鑰YB=xBG.(D,E)為安全加解密方案.
5.2簽密階段
發(fā)送方Alice對明文消息m的簽密過程如下:
1)Alice任取r∈Z*n,計算R=rG=(r1,r2),KA B=rYB=(k,l);
2)加密c=Ek(m),計算Hash函數(shù)值e=h(m,r1),計算漢明重w=ham(e);
3)任取整數(shù)α,β(0<α,β 簽密為(c,R,s,β,u),將其發(fā)送給接收者Bob. 5.3解簽密階段 Bob收到簽密后,進行如下解簽密過程: 1)計算KA B=xBR=(k,l); 2)解密計算明文信息m=Dk(c),計算Hash函數(shù)值e=h(m,r1),計算漢明重w=ham(e); 3)計算γ=(s-w+βm+u) modn; 4)驗證γG-YA=R,若正確,則接受簽密. 5.4正確性證明 說明該方案的驗證過程是正確的. 6安全性和效率分析 6.1不可偽造性 由簽密方程u=(r-αr1-β m)modn, s=(w+α r1+xA) mod n,接收者Bob知道m(xù),s,u,w,r1,β,2個方程含有3個未知變量r,α,xA,無法求出,簽密方程需要xA參與,故包括Bob在內(nèi)的任何人都無法偽造簽密. 6.2前向安全性 即使Alice的私鑰xA泄露,除Bob外的任何人都無法恢復(fù)消息明文m,因為恢復(fù)m=Dk(c)需要解密密鑰k.有兩種方法可得到k:① 攻擊者知道r,計算KA B=rYB=(k,l),從而可恢復(fù)消息明文m=Dk(c);② 攻擊者知道xB,計算KA B=xBR=(k,l),從而可恢復(fù)消息明文m=Dk(c).參數(shù)r和xB攻擊者均無法知道,無法恢復(fù)消息明文m,故方案具有前向安全性. 6.3公開驗證性 若發(fā)送方Alice否認簽密,接收者Bob將簽密(c,R,s,β,u)發(fā)送給第三方可信中心可進行解簽密驗證. 注1:若接收方Bob不想將消息明文m交給第三方公開驗證,只希望對密文c進行公開驗證,則可將上述方案簽密過程中的e=h(m,r1)改為e=h(c,r1),u=(r-αr1-β m)modn改為u=(r-αr1-β c)modn,解簽密過程中的γ=(s-w+β m+u)modn改為γ=(s-w+β c+u)modn即可,其他均不變. 6.4效率分析 最新的同時具有前向安全性和公開可驗證性的橢圓曲線數(shù)字簽名方案為張建航等方案[9],相關(guān)的效率分析結(jié)果見表2. 表2 效率比較 對于基于身份的橢圓曲線數(shù)字簽密方案,簽密和解簽密中至少需要4個模乘運算,2個用于簽密和解簽密,另2個用于加密和解密.文中方案模乘運算達到最小值4次,模逆運算達到最小值0次,與張建航等方案相比,文中方案減少了1次模乘運算,點積運算與Hash函數(shù)運算相對于模乘運算和模逆運算來說可忽略不計,故文中方案復(fù)雜度達到了理論最小值.另外,文中方案簽密長度有所增加,用于短簽名效果更好(簽密長度中不計每個方案中均需傳輸?shù)拿芪腸). 參考文獻: [1]ZHENGYu-lang.Digitalsigncryptionorhowtoachievecost(signatureandencryption)[C]//Advancesin Cryptography:Proceedings of CRYPTO ’97.London:Springer,1997:165. [2]ZHENGYu-lang.Signcryptionanditsapplicationsinefficientpublickeysolution[C]//Proceedings of Information Security Workshop(ISW ’97).Berlin:Springer,1998:291. [3]李發(fā)根,胡予濮,李剛.一個高效的基于身份的簽密方案[J].計算機學(xué)報,2006,29(9):1641. [4]陳偉東,馮登國.簽密方案在公布式協(xié)議中的應(yīng)用[J].計算機學(xué)報,2005,28(9):1421. [5]李艷平,譚示崇,王育民.一個公開可驗證和前向安全的簽密方案[J].計算機應(yīng)用研究,2006,23(9):98. [6]張串絨,肖國鎮(zhèn).一個可公開驗證簽密方案的密碼分析和改進[J].電子學(xué)報,2006,34(1):177. [7]喻琇瑛,賴欣,何大可.一個可公開驗證且前向安全的簽密方案[J].計算機應(yīng)用研究,2009,26(1):359. [8]于永,綦朝暉.一種基于前向安全的可公開驗證簽密方案[J].計算機應(yīng)用與軟件,2010,27(1):283. [9]張建航,胡予璞,齊新社.具有前向安全性和公開可驗證性的簽密方案[J].計算機應(yīng)用研究,2011,28(2):733. [10]戚明平,陳建華,何德彪.具有前向安全性的可公開驗證的簽密方案[J].計算機應(yīng)用研究,2014,31(10):3093. [11]王天芹.一個基于橢圓曲線的可證明安全簽密方案[J].計算機應(yīng)用研究,2010,27(3):1055. [12]HWANGRJ,LAICH,SUFF.Anefficientsigncryptionschemewithforwardsecrecybasedonellipticcurve[J].Applied Mathematics and Computation,2005,167(2):870. [13]于剛,黃根勛,王旭,等.基于橢圓曲線的可公開驗證和前向安全的簽密方案[J].信息工程大學(xué)學(xué)報,2008,9(3):21. [14]李發(fā)根,鐘笛.數(shù)字簽密綜述[J].信息網(wǎng)絡(luò)安全,2011(12):1. (責(zé)任編輯惠松騏)