專(zhuān)利名稱(chēng):一種基于公鑰證書(shū)的密鑰交換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及保密或安全通信的密鑰交換方法,具體地說(shuō)是一種基于公鑰證書(shū)的密鑰交換方法。
背景技術(shù):
安全性可證明的密碼算法和通信協(xié)議是密碼學(xué)的一個(gè)重要而又困難的研究課題,通信安全保密研究圍繞尋找更強(qiáng)更好的密碼體制而展開(kāi)。傳統(tǒng)的密碼體制由于在加密和解密時(shí)使用的是單一密鑰,一旦加密密鑰泄露,整個(gè)密碼體制就失去了作用。因此在實(shí)際應(yīng)用中暴露出了越來(lái)越多的缺陷,但由于對(duì)稱(chēng)密鑰體制具有加密速度比公鑰加密速度快得多的特點(diǎn),在對(duì)大量數(shù)據(jù)進(jìn)行加密進(jìn)具有優(yōu)勢(shì)。因此,就產(chǎn)生了一種混合加密方法,綜合了它們的優(yōu)點(diǎn),即用公鑰加密體制傳輸會(huì)話密鑰,用會(huì)話密鑰進(jìn)行信息的加密和解密。Bellovin設(shè)計(jì)了一種同時(shí)使用對(duì)稱(chēng)和公開(kāi)密鑰密碼的方法,該方法用共享的密鑰加密隨機(jī)產(chǎn)生的公開(kāi)密鑰。但是EKE協(xié)議有一個(gè)嚴(yán)重的缺陷,它需要雙方都知道一個(gè)共享的口令P這樣大大限制了通信的范圍。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于用戶(hù)公鑰證書(shū)的密鑰交換方法,它從大素?cái)?shù)域上的離散對(duì)數(shù)問(wèn)題和Diffie-Hellman密鑰交換協(xié)議出發(fā),輔以抗碰撞雜湊函數(shù),公鑰證書(shū)和數(shù)字簽名的會(huì)話密鑰交換方法。
本發(fā)明采用的技術(shù)方案具體的步驟如下由于數(shù)字證書(shū)能有效的表明主體身份,從而得到一個(gè)基于數(shù)字證書(shū)的密鑰交換方法。數(shù)字證書(shū)的內(nèi)部格式是由CCITT X.509所規(guī)定的,它必須包含以下幾個(gè)方面的信息內(nèi)容證書(shū)的版本號(hào);數(shù)字證書(shū)的序列號(hào);證書(shū)擁有者的姓名;簽名算法;頒發(fā)數(shù)字證書(shū)的單位;頒發(fā)數(shù)字證書(shū)的單位的簽名;公開(kāi)秘鑰的有效期等。我們把這些信息稱(chēng)為證書(shū)數(shù)據(jù)(Certificate-data)。本發(fā)明所述的密鑰交換方法的具體步驟如下1.定義了一個(gè)系統(tǒng)參數(shù)(Zp,G,q,H,sig),其中大素?cái)?shù)群Zp是一個(gè)模素?cái)?shù)生成的有限群,G=<g>是Zp的階數(shù)為q的子群(p=2q+1,p,q均為大素?cái)?shù)),H是G3→G的抗碰撞雜湊函數(shù),sig是抗偽造和篡改的數(shù)字簽名方法。系統(tǒng)參數(shù)(Zp,G,q,H,sig)可由一組用戶(hù)公用。
2.在建立好公鑰密鑰體制后,假設(shè)A需與B在開(kāi)放網(wǎng)絡(luò)上進(jìn)行會(huì)話密鑰的交換,本發(fā)明所述的密鑰交換方法進(jìn)行會(huì)話密鑰的交換如下所示(a)在Zq中任取w,計(jì)算u=gw,并對(duì)u進(jìn)行簽名,將(u,SigA(u))發(fā)送給B;(b)B驗(yàn)證A的簽名SigA(u),如果簽名不正確則中止密鑰交換,否則在Zq中隨機(jī)選取x,并計(jì)算y=gx,并把y,和u,y的簽名SigB(u,y)發(fā)送給A,計(jì)算K=H(yu)作為會(huì)話密鑰。
(c)A驗(yàn)證B的簽名SigB(u,y)如果不正確則中止交換。否則計(jì)算K=H(yu),這就是雙方商定的會(huì)話密鑰。
本發(fā)明與背景技術(shù)相比具有的有益效果是它從大素?cái)?shù)域上的離散對(duì)數(shù)問(wèn)題和Diffie-Hellman密鑰交換協(xié)議出發(fā),輔以抗碰撞雜湊函數(shù),公鑰證書(shū)和數(shù)字簽名的會(huì)話密鑰交換方法。它具有可證明的安全性,且具有較快的運(yùn)算速度。
具體實(shí)施例方式
當(dāng)本發(fā)明用于網(wǎng)絡(luò)通信進(jìn)行會(huì)話密鑰的交換時(shí),假定用戶(hù)A和用戶(hù)B進(jìn)行會(huì)話密鑰的交換本方法中,用戶(hù)A和用戶(hù)B共同用一系統(tǒng)參數(shù)(Zp,G,q,H,sig),這里分別給出P為512比特和1024比特的例子512P=0xED100D4D388990F60C7BD3C800D83355904433FF74E3BE0659D5C4E818239E600BD2D0DB7A5F42D2DAD99DF5DCC1014FD5B3F863D6632578230706C0A4CACCB71024P=0xED8E7692CDA48EE01F012E58AA7F06FD6203393B17C392DF6970B4934D4F613A35EB9A64208D26CA148B12FF28D6B18EF427BEFCAC7780AFD95229E759177137261A6D939FB5465F72D16EB3E7ECE01232081F003A3938555D49328E4860FF4F77FD1BBDB3222E0D0D021619EAA5F81F4C98E92C595801B04C3C9E3A0E4C0A53用戶(hù)A和用戶(hù)B進(jìn)行會(huì)話密鑰的交換步驟如下用戶(hù)A隨機(jī)選取w∈Zq,計(jì)算u=gw,并把(u,sigA(u))發(fā)送給B;用戶(hù)B驗(yàn)證A的簽名SigA(u),如簽名不正確則中止交換,否則隨機(jī)選取x∈Zq,計(jì)算y=gx,并把y,sigB(u,y)發(fā)送給A,A驗(yàn)證簽名sigB(u,y),如果簽名不正確則交換失敗,否則得到會(huì)話密鑰。
權(quán)利要求
1.一種基于公鑰證書(shū)的密鑰交換方法,其特征是基于離散對(duì)數(shù)困難問(wèn)題假設(shè)和Diffie-Hellman密鑰交換協(xié)議,輔以數(shù)字簽名算法,抗碰撞雜湊函數(shù)和公鑰證書(shū)進(jìn)行會(huì)話密鑰交換的密鑰交換方法。
2.根據(jù)權(quán)利要求1所述的一種基于公鑰證書(shū)的密鑰交換方法,其特征是定義了一個(gè)系統(tǒng)參數(shù)(Zp,G,q,H,sig),其中大素?cái)?shù)群Zp是一個(gè)模素?cái)?shù)生成的有限群,G=<g>是Zp的階數(shù)為q的子群(p=2q+1,p,q均為大素?cái)?shù)),H是G3→G的抗碰撞雜湊函數(shù),sig是抗偽造和篡改的數(shù)字簽名方法。系統(tǒng)參數(shù)(Zp,G,q,H,sig)可由一組用戶(hù)公用。
3.根據(jù)權(quán)利要求2所述的一種基于公鑰證書(shū)的密鑰交換方法,其特征是在建立好公鑰密鑰體制后,假設(shè)A需與B在開(kāi)放網(wǎng)絡(luò)上進(jìn)行會(huì)話密鑰的交換,本發(fā)明所述的密鑰交換方法進(jìn)行會(huì)話密鑰的交換如下所示(a)在Zq中任取w,計(jì)算u=gw,并對(duì)u進(jìn)行簽名,將(u,SigA(u))發(fā)送給B;(b)B驗(yàn)證A的簽名SigA(u),如果簽名不正確則中止密鑰交換,否則在Zq中隨機(jī)選取x,并計(jì)算y=gx,并把y,和u,y的簽名SigB(u,y)發(fā)送給A,計(jì)算K=H(yu)作為會(huì)話密鑰。(c)A驗(yàn)證B的簽名Sig_b(u,y)如果不正確則中止交換。否則計(jì)算K=H(yu),這就是雙方商定的會(huì)話密鑰。
全文摘要
本發(fā)明公開(kāi)了一種基于公鑰證書(shū)的密鑰交換方法。它從大素?cái)?shù)域上的離散對(duì)數(shù)問(wèn)題和Diffie-Hellman密鑰交換協(xié)議出發(fā),輔以抗碰撞雜湊函數(shù),公鑰證書(shū)和數(shù)字簽名的會(huì)話密鑰交換方法。它具有可證明的安全性,且具有較快的運(yùn)算速度。
文檔編號(hào)H04L9/14GK1449153SQ03116619
公開(kāi)日2003年10月15日 申請(qǐng)日期2003年4月23日 優(yōu)先權(quán)日2003年4月23日
發(fā)明者朱華飛 申請(qǐng)人:浙江大學(xué)