專利名稱:一種會務(wù)系統(tǒng)中混合加密方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信中的加密算法,特別涉及一種會務(wù)系統(tǒng)中的混合加密方法。
技術(shù)背景隨著計算機(jī)和通信技術(shù)的迅猛發(fā)展,大量的敏感信息常常通過公共通信設(shè)施或計算機(jī)網(wǎng)絡(luò) 進(jìn)行交換,如何保護(hù)信息的安全使之不被竊取及不至于被篡改或破壞,己成為當(dāng)今被普遍關(guān)注 的重大問題,現(xiàn)代密碼技術(shù)是確保信息安全的主導(dǎo)力量密碼理論的研究與應(yīng)用是信息安全技術(shù) 的核心研究領(lǐng)域。以往研究者們對密碼體制的硏究,總體上主要分為兩種 一種是公開密鑰密碼體制如RSA, ECC等。這種密碼體制雖然形式簡單保密性強(qiáng),但是加解密速度比較慢。如果 對整個報文進(jìn)行加解密是不可能滿足實際需要的,另一種是私密鑰密碼體制如DES, IDEA, AES 等私鑰密碼體制通信過程中,密鑰數(shù)量繁多發(fā)過程十分復(fù)雜,所花代價非常高,在實際應(yīng)用中 也受到了制約,這兩種密碼體制的單獨使用已經(jīng)暴露出越來越嚴(yán)重的缺陷,比如DES算法加解 密速度比較快,但是其密鑰分配和管理比較復(fù)雜,RSA算法密鑰分配管理簡單,但其處理效率 高,而且RSA加密算法安全性要高于DES。 發(fā)明內(nèi)容本發(fā)明的技術(shù)解決問題克服現(xiàn)有技術(shù)的不足,提供一種會務(wù)系統(tǒng)中混合加密的方法,該方法是綜合了DES和RSA算法的優(yōu)點,避開了各自的缺點,很好的解決了密鑰分發(fā)困難和加解 密效率的問題,實現(xiàn)了對會務(wù)系統(tǒng)中所有網(wǎng)絡(luò)通信數(shù)據(jù)的加解密,具有很好的靈活性,安全性 和通用性。本發(fā)明的技術(shù)解決方案 一種會務(wù)系統(tǒng)中混合加密方法,其特征在于加密算法為在數(shù)據(jù)通信前采用DES方法對消息明文加密,用RSA方法對DES密鑰進(jìn)行加密和實現(xiàn)數(shù)字簽名,其步驟如下(1) 會務(wù)系統(tǒng)中消息的發(fā)送方利用RSA加密算法中的密鑰生成算法生成用于一個公鑰KEa和一個密鑰Kua,將公鑰KEa放于密鑰服務(wù)器上;會務(wù)系統(tǒng)中消息的接收方利用RSA加密算法中的密鑰生成算法生成用于一個公鑰KEb和一個密鑰KDb,將公鑰KEb放于密鑰服務(wù)器上;(2) 發(fā)送方利用DES加密算法中的密鑰生成算法生成用于DES加密密鑰Koes,為了提高數(shù)據(jù)的安全性,每一個密鑰Koes只用一次;(3) 發(fā)送方從密鑰服務(wù)器中獲取接收方的RSA公開加密密鑰KEb,并且用KEb加密DES的密鑰Kpes,形成密文Ck;(4) 發(fā)送方生成需要的簽名信息,即明文的一部分,并用MD5算法生成明文的信息摘要, 然后用自己的RSA解密密鑰KDa,對信息摘要加密形成數(shù)字簽名CM;(5) 發(fā)送方用Kj^加密會務(wù)信息數(shù)據(jù)P和簽名信息CM,然后連同CK 一起形成密文C通 過網(wǎng)絡(luò)發(fā)往接收方(6) 接收方接收到步驟(5)發(fā)送方發(fā)過來的密文C后,先用自己的解密密鑰KDb即接收 方私鑰,解密出Ck中的DES密鑰KDes;(7) 利用步驟(6)已解密出來的KDes和發(fā)送方公開密鑰KEa解密出簽名信息M;(8) 利用步驟(5)和步驟(6)已解密出來的KDes和簽名信息M,用RSA算法解密出明 文P, P就是接收方實際要接收的數(shù)據(jù);(9) 接收方用已解密的簽名信息進(jìn)行身份認(rèn)證,形成自己的簽名信息發(fā)往發(fā)送方,以向發(fā) 送方確認(rèn)收到信息;(10) 發(fā)送雙方均刪除DES密鑰KDes,加密解密過程結(jié)束;網(wǎng)絡(luò)傳輸過程重復(fù)所有步驟直 到所有的發(fā)送方數(shù)據(jù)報文傳輸完成。所述的步驟(2)和步驟(3)中的DES加密算法的實現(xiàn)如下-(a) 對64位的明文進(jìn)行操作,64位的明文從算法的一端輸入;(b) 通過一個初始的置換,將明文分為左半部分L[i]和右半部分R[i], i是第i輪運(yùn)算,各 32位長,然后進(jìn)行迭代運(yùn)算;(c) 在每一次的迭代過程中,首先進(jìn)行密鑰變換得到48位的子密鑰K[i],通過擴(kuò)展函數(shù)E 將R[i]從32擴(kuò)展到48位,然后與48位的密鑰進(jìn)行異或操作即為i [i]④iq(j,將異或結(jié)果分8組放入8各S盒,替代出新的32位數(shù)據(jù),將上述結(jié)果進(jìn) 行直接置換,將輸出結(jié)果與左半部分L[i]進(jìn)行異或,即為新的右半部分,原來的右半部分現(xiàn)在成 為左半部分;(d) 將上述迭代過程重復(fù)16次,然后將L[16]和R[16]合在一起進(jìn)行末置換,即可得到64 為明文對應(yīng)的密文,DES加密算法到此結(jié)束。所述的步驟(1)和步驟(3)中的RSA密鑰的生成實現(xiàn)過程如下(a) 選擇兩個大素數(shù)P、 Q;(b) 計算N-P木Q、歐拉函數(shù)R (N) = (P-l) * (Q-l);(c) 然后選擇隨機(jī)加密密鑰E,要求E和R (N)互質(zhì);(d) 最后利用Euclid算法或者擴(kuò)展歐幾里德算法求滿足EfD-lmod(R(N))其中E是加密密 鑰,D是解密密鑰。5本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點在于-(1) 本發(fā)明首先提出了一種會務(wù)系統(tǒng)中的混合加密方法,該方法通過利用現(xiàn)有的DES和 RSA加密算法。綜合了兩種算法的優(yōu)點,避免了它們的缺點,本方法中對主要數(shù)據(jù)的處理采用 DES加密算法,DES加密算法速度快,對每個數(shù)據(jù)分組的處理僅需很短的時間就能完成,而且 用RSA算法對DES的密鑰加密后就可以將其公開,因此整個系統(tǒng)保密的只需要少量的RSA解 密密鑰,該混合加密方法既能發(fā)揮DES加密算法加密速度快,又能發(fā)揮RSA算法密鑰管理方便 的優(yōu)點,因而相比現(xiàn)有技術(shù)具有原理簡單,速度快,易于實現(xiàn)的優(yōu)點。(2) 本發(fā)明首先提出了一種會務(wù)系統(tǒng)中的混合加密方法,該方法通過利用現(xiàn)有的DES和 RSA加密算法,具有高安全性的特點,因為在DES算法中,DES采用的是位56位密鑰加密, 對DES的16迭代用窮舉法進(jìn)行攻擊需要2000年,而RSA算法里的公開密鑰和私有密鑰是一對 大素數(shù)的函數(shù),從一個公開密鑰和密文中恢復(fù)出明文的難度等價于分解兩個大素數(shù)之積,而分 解兩個大素數(shù)之積迄今為止仍然是數(shù)學(xué)中的一個難題,所以綜合起來看,本文采用的是混合加 密算法,因而具有更高的安全性。
圖1為本發(fā)明混合加密算法的具體流程圖; 圖2為本發(fā)明的DES算法的具體實現(xiàn)流程圖(補(bǔ)充) 圖3為本發(fā)明的RSA算法的具體實現(xiàn)流程圖(補(bǔ)充) 圖中F: DES加密 G: RSA加密F, DES解密 G, RSA解密K&發(fā)送方私鑰 KDb接收方私鑰 KEa發(fā)送方公鑰 KEb接收方公鑰具體實施方式
如圖1所示,本發(fā)明的具體實現(xiàn)步驟如下-(1)會務(wù)系統(tǒng)中消息的發(fā)送方A利用RSA加密算法中的密鑰生成算法生成用于一個公鑰 KEa和一個密鑰KDa,將公鑰K^放于密鑰服務(wù)器上;會務(wù)系統(tǒng)中消息的接收方B利用RSA加密 算法中的密鑰生成算法生成用于一個公鑰KEb和一個密鑰KDb,將公街KEb放于密鑰服務(wù)器上, 見步驟l, RSA密鑰碼生成的過程如下a. 隨機(jī)生成兩個不同的大素數(shù)P, Q;b. 計算N-P承Q、歐拉函數(shù)R (N) = (P-l) * 〈Q-l):c. 然后選擇隨機(jī)加密密鑰E(就是一個隨機(jī)整數(shù)E, fll<E<R(N)),要求E和R (N)互質(zhì),即(E, R (N)) =1;d.最后利用Euclid算法或者擴(kuò)展歐幾里德算法求滿足E+D-lmod(R(N)),其中E是加密密 鑰,D是解密密鑰。(2) 會務(wù)系統(tǒng)中消息的發(fā)送方利用DES加密算法,DES加密密鑰KDes來源于用戶輸入的 一個64位的密碼(或者是一個隨機(jī)生成的64位的整數(shù)),為了提高數(shù)據(jù)的安全性,每一個密鑰 Koes只用一次,由于DES密鑰的處理長度只有56Wt,所以處理效率比較高,見步驟2;(3) 發(fā)送方從密鑰服務(wù)器中獲取接收方的RSA公開加密密鑰KEb,并且用Ka加密DES 的密鑰Koes (采用DES算法加密),形成密文Ck,見步驟3, DES加密算法的流程如下a. 先獲取到64位的明文(就是要加密的報文),將64位的明文從算法的一端輸入;b. 將輸入的64位數(shù)據(jù)塊按位重新組合,將明文分為左半部分L[i]和右半部分R卩],i是第 i輪置換運(yùn)算(根據(jù)所選置換規(guī)則定),左右兩部分各32位長,然后進(jìn)行迭代運(yùn)算;c. 在每一次的迭代過程中,首先進(jìn)行密鑰變換得到48位的子密鑰K[i],通過擴(kuò)展函數(shù)E將R[i]從32擴(kuò)展到48位,然后與48位的密鑰進(jìn)行異或操作即為^[/] 《[/],將異或結(jié)果分8 組放入8各S盒,替代出新的32位數(shù)據(jù),將上述結(jié)果進(jìn)行直接置換,將輸出結(jié)果與左半部分 L[i]進(jìn)行異或,即為新的右半部分,原來的右半部分現(xiàn)在成為左半部分;d. 將上述迭代過程重復(fù)16次,然后將L[16]和R[16]合在一起進(jìn)行末置換,即可得到64為 明文對應(yīng)的密文,DES加密算法到此結(jié)束。e. 在DES加密算法中,初始的密鑰是64位,但由于第8, 16...64位是奇偶校驗位,故不 參加DES運(yùn)算,所以實際參加運(yùn)算的密鑰只有56位具體過程可以參見圖2。(4) 發(fā)送方生成需要的簽名信息,即明文的一部分(本文中的明文由報文數(shù)據(jù)P和數(shù)字簽 名信息Cm組成),并用MD5報文摘要算法生成明文的信息摘要(此算法將對輸入的明文的信息 進(jìn)行計算,產(chǎn)生一個128位長度的"指紋"或"信息摘要"),然后用自己的RSA解密密鑰Koa,對 信息摘要加密形成數(shù)字簽名CM, (DES加密算法加密)見步驟4;(5) 發(fā)送方用KDes加密會務(wù)信息數(shù)據(jù)P和簽名信息CM (RSA加密算法,加密密鑰為KDES, RSA加密算法的具體實現(xiàn)過程見附圖3說明),然后連同Ck一起形成密文C通過網(wǎng)絡(luò)發(fā)往接收 方,見步驟5;(6) 接收方接收到步驟(5)發(fā)送方發(fā)過來的密文C后,先用自己的解密密鑰KDb (即接 收方私鑰)解密出Ck中的DES密鑰KDes (DES解密算法,由于DES解密算法跟DES加密算法 是完全一樣的,只是在迭代時用的密鑰不同,算法本身沒有任何變化,這里不再敘述),見步驟 6;(7) 利用步驟6已解密出來的KDes和發(fā)送方公開密鑰'KEa解密出簽名信息M (DES解密算法),見步驟7;(8) 利用步驟5和步驟6已解密出來的K^和簽名信息M,用RSA算法解密出明文P(RSA 解密算法,RSA解密的過程見圖3), P就是接收方實際要接收的數(shù)據(jù),見步驟8;(9) 接收方用己解密的簽名信息進(jìn)行身份認(rèn)證,然后將簽名信息發(fā)往發(fā)送方,以向A確認(rèn) 收到信息;(10) 發(fā)送雙方均刪除DES密鑰KDes,加密解密過程結(jié)束。網(wǎng)絡(luò)傳輸報文重復(fù)以上步驟直 到所有的發(fā)送方報文數(shù)據(jù)傳輸完成。如圖3所示,上述的RSA加密算法的過程實現(xiàn)如下-(1)密鑰對的產(chǎn)生根據(jù)用戶輸入的p和q的范圍(size)隨機(jī)產(chǎn)生兩個大素數(shù),p和q 。 計算n = p*q ,然后隨機(jī)選擇加密密鑰e,并根據(jù)e得出解密密鑰d,要求e和(p-l)*(q -1)互質(zhì),e承d^l(mod(p-l"(q-l)),其中數(shù)e和n是公開密鑰,數(shù)d和n是私有密鑰。(2)加密和解密對明文m進(jìn)行加密時,首先把m轉(zhuǎn)換為字節(jié)(按照平臺缺省的字符編碼 方式),得到對應(yīng)的數(shù)字形式num,然后對num進(jìn)行加密,對應(yīng)的密文是c = num A e ( mod n ); 解密時作如下運(yùn)算mi=cAd(modn),再把mi轉(zhuǎn)化為對應(yīng)的字符形式即可得到明文。總之,本發(fā)明充分利用這兩種算法的優(yōu)點,而同時避免它們的缺點,提出了一種基于 DES/RSA的混合加密算法,并應(yīng)用在了即時通信系統(tǒng)中,極大地滿足了會務(wù)系統(tǒng)對實時性和安 全性的要求。
權(quán)利要求
1、一種會務(wù)系統(tǒng)中混合加密方法,其特征在于加密算法為在數(shù)據(jù)通信前采用DES方法對消息明文加密,用RSA方法對DES密鑰進(jìn)行加密和實現(xiàn)數(shù)字簽名,其步驟如下(1)會務(wù)系統(tǒng)中消息的發(fā)送方利用RSA加密算法中的密鑰生成算法生成用于一個公鑰KEa和一個密鑰KDa,將公鑰KEa放于密鑰服務(wù)器上;會務(wù)系統(tǒng)中消息的接收方利用RSA加密算法中的密鑰生成算法生成用于一個公鑰KEb和一個密鑰KDb,將公鑰KEb放于密鑰服務(wù)器上;(2)發(fā)送方利用DES加密算法中的密鑰生成算法生成用于DES加密密鑰KDes,為了提高數(shù)據(jù)的安全性,每一個密鑰KDes只用一次;(3)發(fā)送方從密鑰服務(wù)器中獲取接收方的RSA公開加密密鑰KEb,并且用KEb加密DES的密鑰KDes,形成密文Ck;(4)發(fā)送方生成需要的簽名信息,即明文的一部分,并用MD5算法生成明文的信息摘要,然后用自己的RSA解密密鑰KDa,對信息摘要加密形成數(shù)字簽名CM;(5)發(fā)送方用KDes加密會務(wù)信息數(shù)據(jù)P和簽名信息CM,然后連同CK一起形成密文C通過網(wǎng)絡(luò)發(fā)往接收方;(6)接收方接收到步驟(5)發(fā)送方發(fā)過來的密文C后,先用自己的解密密鑰KDb即接收方私鑰,解密出Ck中的DES密鑰KDes;(7)利用步驟(6)已解密出來的KDes和發(fā)送方公開密鑰KEa解密出簽名信息M;(8)利用步驟(5)和步驟(6)已解密出來的KDes和簽名信息M,用RSA算法解密出明文P,P就是接收方實際要接收的數(shù)據(jù);(9)接收方用已解密的簽名信息進(jìn)行身份認(rèn)證,然后對簽名信息進(jìn)行適當(dāng)處理后,在形成自己的數(shù)字簽名發(fā)往發(fā)送方,以向發(fā)送方確認(rèn)收到信息;(10)發(fā)送雙方均刪除DES密鑰KDes,加密解密過程結(jié)束。
2、 根據(jù)權(quán)利要求1所述的一種會務(wù)系統(tǒng)中混合加密方法,其特征在于所述的步驟(2) 和步驟(3)中的DES加密算法的實現(xiàn)如下(1) 對64位的明文進(jìn)行操作,64位的明文從算法的一端輸入;(2) 通過一個初始的置換,將明文分為左半部分L[i]和右半部分R[i], i是第i輪運(yùn)算,各 32位長,然后進(jìn)行迭代運(yùn)算(3) 在每一次的迭代過程中,首先進(jìn)行密鑰變換得到48位的子密鑰K[i],通過擴(kuò)展函數(shù)E 將R[i]從32擴(kuò)展到48位,然后與48位的密鑰進(jìn)行異或操作即為及[Z']④i:[/],將異或結(jié)果分8組放入8各S盒,替代出新的32位數(shù)據(jù),將上述結(jié)果進(jìn) 行直接置換,將輸出結(jié)果與左半部分L[i]進(jìn)行異或,即為新的右半部分,原來的右半部分現(xiàn)在成 為左半部分;(4)將上述迭代過程重復(fù)16次,然后將L[16]和R[16]合在一起進(jìn)行末置換,即可得到64 為明文對應(yīng)的密文,DES加密算法到此結(jié)束。
3、根據(jù)權(quán)利要求1所述的一種會務(wù)系統(tǒng)中混合加密方法,其特征在于所述的步驟(1) 和步驟(3)中的RSA密鑰的生成實現(xiàn)過程如下-(1) 選擇兩個大素數(shù)P、 Q;(2) 計算N=P*Q、歐拉函數(shù)R (N) = (P-l) * (Q-l);(3) 然后選擇隨機(jī)加密密鑰E,要求E和R (N)互質(zhì);(4) 最后利用Eudid算法或者擴(kuò)展歐幾里德算法求滿足E+D4mod(R(N))其中E是加密密 鑰,D是解密密鑰。
全文摘要
一種會務(wù)系統(tǒng)中混合加密方法,加密算法為在數(shù)據(jù)通信前采用DES方法對消息明文加密,用RSA方法對DES密鑰進(jìn)行加密和實現(xiàn)數(shù)字簽名。通過利用現(xiàn)有的DES和RSA加密算法。綜合了兩種算法的優(yōu)點,避免了它們的缺點,本方法中對主要數(shù)據(jù)的處理采用DES加密算法,DES加密算法速度快,對每個數(shù)據(jù)分組的處理僅需很短的時間就能完成,而且用RSA算法對DES的密鑰加密后就可以將其公開,因此整個系統(tǒng)保密的只需要少量的RSA解密密鑰,該混合加密方法既能發(fā)揮DES加密算法加密速度快,又能發(fā)揮RSA算法密鑰管理方便的優(yōu)點,因而具有原理簡單,速度快,易于實現(xiàn)的優(yōu)點,應(yīng)用在了即時通信系統(tǒng)中,極大地滿足了會務(wù)系統(tǒng)對實時性和安全性的要求。
文檔編號H04L9/28GK101262341SQ200810100829
公開日2008年9月10日 申請日期2008年2月22日 優(yōu)先權(quán)日2008年2月22日
發(fā)明者吳高潔, 歡 李, 超 李, 璋 熊, 浩 盛 申請人:北京航空航天大學(xué)