亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于密鑰加密通信系統(tǒng)中的密鑰交換方法

文檔序號(hào):7732447閱讀:179來(lái)源:國(guó)知局
專利名稱:用于密鑰加密通信系統(tǒng)中的密鑰交換方法
技術(shù)領(lǐng)域
本發(fā)明屬于通信安全領(lǐng)域,具體地講,涉及一種用于密鑰加密通信系統(tǒng)中的密鑰交換方法。
背景技術(shù)
隨著通信技術(shù)的發(fā)展,通信安全變得越來(lái)越重要。目前流行的兩種數(shù)據(jù)加密體系對(duì)稱密鑰加密法和非對(duì)稱密鑰加密法。常用的對(duì)稱加密法如DES、AES。非對(duì)稱密鑰法又稱為公開(kāi)密鑰方法,常用的非對(duì)稱密鑰法如RSA,ECC等。在使用對(duì)稱密鑰加密算法進(jìn)行通信的密鑰加密通信系統(tǒng)中,通信雙方需要約定一個(gè)密鑰,其相對(duì)比較固定,并且對(duì)稱密鑰加密算法是公開(kāi)的,很容易受到攻擊,并且時(shí)間長(zhǎng)了該固定密鑰容易被攻擊方猜到導(dǎo)致整個(gè)系統(tǒng)崩潰。 如果通信雙方使用臨時(shí)的隨機(jī)密鑰,一次一密鑰的方法,無(wú)疑增加了攻擊的難度,幾乎不可能靠猜測(cè)密鑰的辦法來(lái)攻擊密鑰系統(tǒng)。即使某一次通信的臨時(shí)密鑰被猜到,也不會(huì)影響到其它節(jié)點(diǎn)的通信或下一次的通信的安全性。但是,在密鑰是臨時(shí)隨機(jī)的密鑰情況下,通信的雙方也還是需要交換密鑰,以保持雙方的密鑰一致。因此,在交換密鑰的過(guò)程中仍存在密鑰被截取的風(fēng)險(xiǎn)。這就需要一種安全的密鑰交換機(jī)制。首次提出在通信中公開(kāi)傳遞密鑰的方法是由戴費(fèi)和海爾曼提出的密鑰交換算法,簡(jiǎn)稱為DH密鑰交換體制,它不是加密算法,但可以在網(wǎng)絡(luò)中公開(kāi)傳輸密鑰。這種密鑰交換技術(shù)的目的在于使得兩個(gè)用戶安全地交換一個(gè)密鑰以便用于以后的報(bào)文加密。DH密鑰交換算法的有效性依賴于計(jì)算離散對(duì)數(shù)的難度。簡(jiǎn)言之,可以如下定義離散對(duì)數(shù)首先定義一個(gè)素?cái)?shù)P的原根,為其各次冪產(chǎn)生從I到P-I的所有整數(shù)根,也就是說(shuō),如果a是素?cái)?shù)P的一個(gè)原根,那么數(shù)值amod p, a2mod p, .··, ap_1mod p (這里,mod是取模運(yùn)算符)是各不相同的整數(shù),并且以某種排列方式組成了從I到P-I的所有整數(shù)。對(duì)于一個(gè)整數(shù)b和素?cái)?shù)P的一個(gè)原根a,可以找到唯一的指數(shù)i,使得b = a1 mod p 其中 O < i < (p-1)指數(shù)i稱為b的以a為基數(shù)的模P的離散對(duì)數(shù)或者指數(shù)。該值被記為inda,p(b)?;诖耍梢远xDH密鑰交換算法。該算法描述如下(a)有兩個(gè)全局公開(kāi)的參數(shù),一個(gè)素?cái)?shù)q和一個(gè)整數(shù)a,a是q的一個(gè)原根。(b)假設(shè)用戶A和B希望交換一個(gè)密鑰,用戶A選擇一個(gè)作為私有密鑰的隨機(jī)數(shù)XA < q,并計(jì)算公開(kāi)密鑰YA = aH mod q。用戶A對(duì)XA的值保密存放而使YA能被用戶B公開(kāi)獲得。類似地,用戶B選擇一個(gè)私有的隨機(jī)數(shù)XB <q,并計(jì)算公開(kāi)密鑰YB = aXB mod q。用戶B對(duì)XB的值保密存放而使YB能被用戶A公開(kāi)獲得。(c)用戶A產(chǎn)生共享秘密密鑰的計(jì)算式是K= (YB)h mod q。同樣,用戶B產(chǎn)生共享秘密密鑰的計(jì)算式是K= (YA)XB mod q。這兩個(gè)計(jì)算產(chǎn)生相同的結(jié)果K = (YB)m mod q= (aXB mod q)M mod q
= (aXB)XA mod q (根據(jù)取模運(yùn)算規(guī)則得到)= aXB XA mod q= (aXA) XBmod q= (aXA mod mod q= (YA)XB mod q 因此,相當(dāng)于雙方已經(jīng)交換了一個(gè)相同的秘密密鑰。(d)因?yàn)閄A和XB是保密的,一個(gè)攻擊方可以利用的參數(shù)只有q、a、YA和YB。因而攻擊方被迫取離散對(duì)數(shù)來(lái)確定密鑰。例如,要獲取用戶B的秘密密鑰,攻擊方必須先計(jì)算 XB = incL, (YB),然后再使用用戶B采用的同樣方法計(jì)算其秘密密鑰K。DH密鑰交換算法的安全性依賴于這樣一個(gè)事實(shí)雖然計(jì)算以一個(gè)素?cái)?shù)為模的指數(shù)相對(duì)容易,但計(jì)算離散對(duì)數(shù)卻很困難。對(duì)于大的素?cái)?shù),計(jì)算出離散對(duì)數(shù)幾乎是不可能的。DH密鑰交換體制雖然目前來(lái)看是比較安全的,但其運(yùn)算量非常大。比如DH算法中,為了實(shí)現(xiàn)一個(gè)30位二進(jìn)制數(shù)的密鑰交換,可能需要計(jì)算2147483647 (32位二進(jìn)制數(shù))的9223372036854775807 (64位二進(jìn)制數(shù))次方模除1073741824 (30位二進(jìn)制數(shù)),這樣的計(jì)算一般只能在大型機(jī)和小型機(jī)上實(shí)現(xiàn)。而攻擊方要破解這30位的密鑰如果用窮舉法暴力破解,以當(dāng)前的普通PC機(jī)幾分鐘內(nèi)可以完成。如果把密鑰長(zhǎng)度提高到64位,其計(jì)算量將是相當(dāng)大的。雖然現(xiàn)在有很多DH方法的優(yōu)化方法,使得可以在PC機(jī)上實(shí)現(xiàn)DH交換,但是運(yùn)算量也是非常可觀的。對(duì)于密鑰交換方法也有很多其它的方法(比如基于線性不定方程求解困難而設(shè)置的密鑰交換體制),雖然運(yùn)算量會(huì)比DH的運(yùn)算量小幾個(gè)數(shù)量級(jí),但是同樣都是基于數(shù)學(xué)NP問(wèn)題的設(shè)定,其共同特點(diǎn)都是數(shù)學(xué)運(yùn)算量特別大,解該數(shù)學(xué)問(wèn)題很困難。但是數(shù)學(xué)NP問(wèn)題不是無(wú)解的問(wèn)題,隨著技術(shù)進(jìn)步和研究的不斷深入,可能會(huì)找到一個(gè)比較有效的數(shù)學(xué)方法來(lái)解該NP問(wèn)題,屆時(shí)這些方法將會(huì)失效。因此,需要一種運(yùn)算量較小并且不易破解的密鑰交換方法和系統(tǒng)。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種用于在使用密鑰進(jìn)行加密通信的通信系統(tǒng)中的密鑰交換方法,該密鑰交換方法僅需要較少的運(yùn)算量即可實(shí)現(xiàn)加密密鑰的交換,并且不易被破解。本發(fā)明的一方面提供一種用于密鑰加密通信系統(tǒng)中的密鑰交換方法,其特征在于包括第一通信節(jié)點(diǎn)生成第一隨機(jī)數(shù),并將生成的第一隨機(jī)數(shù)發(fā)送給第二通信節(jié)點(diǎn);第二通信節(jié)點(diǎn)生成第二隨機(jī)數(shù),并將生成的第二隨機(jī)數(shù)發(fā)送給第一通信節(jié)點(diǎn);第一通信節(jié)點(diǎn)對(duì)第一隨機(jī)數(shù)和第二隨機(jī)數(shù)進(jìn)行預(yù)定運(yùn)算,以生成種子隨機(jī)數(shù),并且第一通信節(jié)點(diǎn)使用預(yù)先與第二通信節(jié)點(diǎn)確定的加密算法和原始密鑰對(duì)種子隨機(jī)數(shù)進(jìn)行加密,以生成加密密鑰;第二通信節(jié)點(diǎn)對(duì)第一隨機(jī)數(shù)和第二隨機(jī)數(shù)進(jìn)行預(yù)定運(yùn)算,以生成種子隨機(jī)數(shù),并且第二通信節(jié)點(diǎn)使用預(yù)先與第一通信節(jié)點(diǎn)確定的加密算法和原始密鑰對(duì)種子隨機(jī)數(shù)進(jìn)行加密,以生成加密密鑰。優(yōu)選地,將生成的第二隨機(jī)數(shù)發(fā)送給第一通信節(jié)點(diǎn)的步驟可包括第二通信節(jié)點(diǎn)將第二隨機(jī)數(shù)和第二通信節(jié)點(diǎn)的設(shè)備標(biāo)識(shí)碼發(fā)送給第一通信節(jié)點(diǎn),其中,第一通信節(jié)點(diǎn)使用第二通信節(jié)點(diǎn)的設(shè)備標(biāo)識(shí)碼對(duì)原始密鑰進(jìn)行分散運(yùn)算,并使用經(jīng)過(guò)分散運(yùn)算后的原始密鑰對(duì)種子隨機(jī)數(shù)進(jìn)行加密,以生成加密密鑰。優(yōu)選地,第二通信節(jié)點(diǎn)可使用第二通信節(jié)點(diǎn)的設(shè)備標(biāo)識(shí)碼對(duì)原始密鑰進(jìn)行分散運(yùn)算,并使用經(jīng)過(guò)分散運(yùn)算后的原始密鑰對(duì)種子隨機(jī)數(shù)進(jìn)行加密,以生成加密密鑰。優(yōu)選地,所述預(yù)定運(yùn)算可以是拼接處理、相加、相減、相乘之一。優(yōu)選地,所述加密算法可以是數(shù)據(jù)加密標(biāo)準(zhǔn)DES、三重?cái)?shù)據(jù)加密標(biāo)準(zhǔn)3DES、高級(jí)加密標(biāo)準(zhǔn)AES之一。優(yōu)選地,第一通信節(jié)點(diǎn)還可將用于標(biāo)識(shí)加密算法的編號(hào)和/或用于標(biāo)識(shí)原始密鑰的編號(hào)發(fā)送給第二通信節(jié)點(diǎn),其中,第一通信節(jié)點(diǎn)和第二通信節(jié)點(diǎn)基于用于標(biāo)識(shí)加密算法的編號(hào)和/或用于標(biāo)識(shí)原始密鑰的編號(hào)從預(yù)先確定的多種加密算法和/或多個(gè)原始密鑰中 選擇對(duì)種子隨機(jī)數(shù)進(jìn)行加密時(shí)使用的加密算法和/或原始密鑰。優(yōu)選地,第一通信節(jié)點(diǎn)還可將用于標(biāo)識(shí)加密算法和原始密鑰之一的第一編號(hào)發(fā)送給第二通信節(jié)點(diǎn),其中,第一通信節(jié)點(diǎn)和第二通信節(jié)點(diǎn)基于第一編號(hào)從第一通信節(jié)點(diǎn)和第二通信節(jié)點(diǎn)預(yù)先確定的多種加密算法和多個(gè)原始密鑰中選擇對(duì)種子隨機(jī)數(shù)進(jìn)行加密時(shí)使用的加密算法和原始密鑰之一,第二通信節(jié)點(diǎn)還將用于標(biāo)識(shí)加密算法和原始密鑰中的另一個(gè)的第二編號(hào)發(fā)送給第二通信節(jié)點(diǎn),其中,第一通信節(jié)點(diǎn)和第二通信節(jié)點(diǎn)基于第二編號(hào)從第一通信節(jié)點(diǎn)和第二通信節(jié)點(diǎn)預(yù)先確定的多種加密算法和多個(gè)原始密鑰中選擇對(duì)種子隨機(jī)數(shù)進(jìn)行加密時(shí)使用的加密算法和原始密鑰中的另一個(gè)。優(yōu)選地,原始密鑰可包括多條原始子密鑰,第一通信節(jié)點(diǎn)和第二通信節(jié)點(diǎn)逐一使用所述多條原始子密鑰對(duì)種子隨機(jī)數(shù)進(jìn)行加密。優(yōu)選地,加密算法和原始密鑰可以以無(wú)法從外部被訪問(wèn)的形式被存儲(chǔ)在第一通信節(jié)點(diǎn)和第二通信節(jié)點(diǎn)中。優(yōu)選地,加密算法和原始密鑰可被存儲(chǔ)在第一安全設(shè)備和第二安全設(shè)備中,第一安全設(shè)備僅能由第一通信節(jié)點(diǎn)訪問(wèn),第二安全設(shè)備僅能由第二通信節(jié)點(diǎn)訪問(wèn)。此外,可以以明文或密文方式發(fā)送第一隨機(jī)數(shù)和第二隨機(jī)數(shù)。根據(jù)本發(fā)明的密鑰交換方案,通信節(jié)點(diǎn)可以明文發(fā)送隨機(jī)數(shù)。由于對(duì)隨機(jī)數(shù)進(jìn)行加密的加密算法和密鑰并沒(méi)有被發(fā)送,這樣即使隨機(jī)數(shù)在傳輸過(guò)程中被截獲,也無(wú)法準(zhǔn)確地得到用于通信的加密密鑰。同時(shí),在通信節(jié)點(diǎn)相互交換隨機(jī)數(shù)之后,不需要像現(xiàn)有DH密鑰交換方案那樣進(jìn)行大量計(jì)算,而是僅僅需要在雙方接收到對(duì)方的隨機(jī)數(shù)之后用原始密鑰對(duì)隨機(jī)數(shù)進(jìn)行加密,這相對(duì)來(lái)講需要很少的計(jì)算量,從而加快了密鑰交換速度。將在接下來(lái)的描述中部分闡述本發(fā)明另外的方面和/或優(yōu)點(diǎn),還有一部分通過(guò)描述將是清楚的,或者可以經(jīng)過(guò)本發(fā)明的實(shí)施而得知。


圖I示出根據(jù)本發(fā)明的實(shí)施例I的用于密鑰加密通信系統(tǒng)中的密鑰交換方法的流程圖。圖2示出根據(jù)本發(fā)明的實(shí)施例2的用于密鑰加密通信系統(tǒng)中的密鑰交換方法的流程圖。
具體實(shí)施例方式現(xiàn)在,將參照附圖更充分地描述不同的示例實(shí)施例,其中,一些示例性實(shí)施例在附圖中示出。實(shí)施例I圖I示出根據(jù)本發(fā)明的示例性實(shí)施例的用于密鑰加密系統(tǒng)中的密鑰交換方法的流程圖。在圖I示出的密鑰加密通信系統(tǒng)中,存在作為通信雙方的通信節(jié)點(diǎn)A和通信節(jié)點(diǎn)B。通信節(jié)點(diǎn)A和通信節(jié)點(diǎn)B可以是各種通信設(shè)備。在步驟101,通信節(jié)點(diǎn)A生成隨機(jī)數(shù)Ra,并將生成的隨機(jī)數(shù)Ra發(fā)送給通信節(jié)點(diǎn)B。在步驟102,通信節(jié)點(diǎn)B生成隨機(jī)數(shù)Rb,并將生成的隨機(jī)數(shù)Rb發(fā)送給通信節(jié)點(diǎn)A。在步驟103,通信節(jié)點(diǎn)A基于隨機(jī)數(shù)Ra和隨機(jī)數(shù)Rb生成用于密鑰加密通信的密鑰KA。具體地說(shuō),通信節(jié)點(diǎn)A對(duì)隨機(jī)數(shù)Ra和隨機(jī)數(shù)Rb進(jìn)行預(yù)定的運(yùn)算,以得到種子隨機(jī)數(shù)%。例如,該預(yù)定的運(yùn)算可以是拼接、相加、相減、相乘等。在進(jìn)行拼接時(shí),如果隨機(jī)數(shù)Ra的長(zhǎng)度為η個(gè)字節(jié),隨機(jī)數(shù)Rb的長(zhǎng)度為m個(gè)字節(jié),則拼接后的種子隨機(jī)數(shù)的長(zhǎng)度為n+m個(gè)字節(jié)。例如,隨機(jī)數(shù)Ra的長(zhǎng)度為8個(gè)字節(jié),隨機(jī)數(shù)Rb的長(zhǎng)度為8個(gè)字節(jié),拼接后的種子隨機(jī)數(shù)的長(zhǎng)度為16個(gè)字節(jié)。隨后,通信節(jié)點(diǎn)A使用預(yù)先與通信節(jié)點(diǎn)B協(xié)商的加密算法和原始密鑰K對(duì)種子隨機(jī)數(shù)R。進(jìn)行加密,以得到用于密鑰加密通信的密鑰KA。在步驟104,通信節(jié)點(diǎn)B基于隨機(jī)數(shù)Ra和隨機(jī)數(shù)Rb生成用于密鑰加密通信的密鑰KA。具體地說(shuō),通信節(jié)點(diǎn)B對(duì)隨機(jī)數(shù)Ra和隨機(jī)數(shù)Rb進(jìn)行預(yù)定的運(yùn)算,以得到種子隨機(jī)數(shù)Re。隨后,通信節(jié)點(diǎn)B使用預(yù)先與通信節(jié)點(diǎn)A協(xié)商確定的加密算法和原始密鑰K對(duì)種子隨機(jī)數(shù)R。進(jìn)行加密,以得到用于密鑰加密通信的密鑰KA。這樣,通信節(jié)點(diǎn)A和B都獲得了密鑰Ka,從而實(shí)現(xiàn)了密鑰的交換。隨后,可使用密鑰Ka進(jìn)行通信節(jié)點(diǎn)A和B之間的數(shù)據(jù)通信。在步驟105,通信節(jié)點(diǎn)A使用在步驟103生成的密鑰Ka對(duì)將被發(fā)送到通信節(jié)點(diǎn)B的內(nèi)容進(jìn)行加密,并將加密后的內(nèi)容發(fā)送到通信節(jié)點(diǎn)B。在步驟106,通信節(jié)點(diǎn)B從通信節(jié)點(diǎn)A接收所述加密的內(nèi)容,并使用在步驟104生成的密鑰Ka對(duì)所述加密的內(nèi)容進(jìn)行解密。實(shí)施例2圖2示出根據(jù)本發(fā)明的另一示例性實(shí)施例的用于密鑰加密通信系統(tǒng)中的密鑰交換方法的流程圖。在圖2示出的密鑰加密通信系統(tǒng)可以為服務(wù)器一客戶端的通信環(huán)境或者基站一終端的通信環(huán)境。假設(shè)服務(wù)器或基站作為通信節(jié)點(diǎn)A,客戶端或終端作為通信節(jié)點(diǎn)B。通信系統(tǒng)中的每一個(gè)客戶端或終端都有一個(gè)唯一的編號(hào)(例如,8字節(jié)的整數(shù)),其被稱為設(shè)備標(biāo)識(shí)碼(ID)。原始密鑰K存儲(chǔ)在通信節(jié)點(diǎn)A和B中。在通信節(jié)點(diǎn)B中,使用通信節(jié)點(diǎn)B的設(shè)備ID將原始密鑰K進(jìn)行分散運(yùn)算,將分散結(jié)果Kl存儲(chǔ)在通信節(jié)點(diǎn)B中。在步驟201,通信節(jié)點(diǎn)A生成隨機(jī)數(shù)Ra,并將生成的隨機(jī)數(shù)Ra發(fā)送給通信節(jié)點(diǎn)B。在步驟202,通信節(jié)點(diǎn)B生成隨機(jī)數(shù)Rb,并將生成的隨機(jī)數(shù)Rb和自己的設(shè)備ID發(fā)送給通信節(jié)點(diǎn)A。在步驟203,通信節(jié)點(diǎn)A使用從通信節(jié)點(diǎn)B接收的設(shè)備ID對(duì)原始密鑰K進(jìn)行分散來(lái)得到分散結(jié)果Kl,并使用已經(jīng)與通信節(jié)點(diǎn)B預(yù)先確定的加密算法和分散結(jié)果Kl對(duì)隨機(jī)數(shù)Ra和隨機(jī)數(shù)Rb的拼接結(jié)果R。進(jìn)行加密,從而得到最終的加密密鑰KA。在步驟204,通信節(jié)點(diǎn)B使用已經(jīng)與通信節(jié)點(diǎn)A預(yù)先確定的加密算法和分散結(jié)果Kl對(duì)隨機(jī)數(shù)Ra和隨機(jī)數(shù)Rb的預(yù)定運(yùn)算結(jié)果R。進(jìn)行加密,從而得到最終的加密密鑰KA。 在步驟205,通信節(jié)點(diǎn)A使用在步驟203生成的加密密鑰Ka對(duì)將被發(fā)送到通信節(jié)點(diǎn)B的內(nèi)容進(jìn)行加密,并將加密后的內(nèi)容發(fā)送到通信節(jié)點(diǎn)B。在步驟206,通信節(jié)點(diǎn)B從通信節(jié)點(diǎn)A接收所述加密的內(nèi)容,并使用在步驟204生成的加密密鑰Ka對(duì)所述加密的內(nèi)容進(jìn)行解密。在實(shí)施例2中,通信節(jié)點(diǎn)A使用從通信節(jié)點(diǎn)B接收的設(shè)備ID對(duì)原始密鑰K進(jìn)行分散來(lái)得到分散結(jié)果Kl,并使用已經(jīng)與通信節(jié)點(diǎn)B預(yù)先確定的加密算法和分散結(jié)果Kl對(duì)隨機(jī)數(shù)Ra和隨機(jī)數(shù)Rb的拼接結(jié)果R。進(jìn)行加密。這樣,由于在實(shí)施例2中進(jìn)行了上述分散和加密操作,與實(shí)施例I相比,實(shí)施例2的技術(shù)方案進(jìn)一步增強(qiáng)了加密效果,提高了破解難度。在另一個(gè)實(shí)施例中,通信節(jié)點(diǎn)A與通信節(jié)點(diǎn)B預(yù)先確定的加密算法也可以是DES (數(shù)據(jù)加密標(biāo)準(zhǔn))算法或3DES (三重?cái)?shù)據(jù)加密標(biāo)準(zhǔn))算法,使用DES算法或3DES算法對(duì)種子隨機(jī)數(shù)Rc進(jìn)行的加密可表示為Ka = DesEncrypt (Rc, K),其中,DesEncryptO 為 DES 算法或 3DES 算法。為了進(jìn)一步增強(qiáng)安全性,優(yōu)選地使用3DES算法。DES算法是均衡加密算法的標(biāo)準(zhǔn),用于加密非機(jī)密的信息,當(dāng)時(shí)要破解DES算法是非常困難的。但是時(shí)至今日,隨著技術(shù)的發(fā)展,已經(jīng)有很多種比較有效的DES破解方法,使得DES算法已經(jīng)不是很安全了。由于DES使用的密鑰長(zhǎng)度只有56位,即使使用暴力破解的辦法,在聯(lián)網(wǎng)技術(shù)如此發(fā)達(dá)的今天已經(jīng)可以很快破解。但是使用16字節(jié)密鑰的3DES算法現(xiàn)在卻沒(méi)有有效的破解辦法。因此,在使用3DES的情況下,可具有更高的安全性。此外,在另一實(shí)施例中,也可使用安全性比3DES算法更高的AES(高級(jí)加密標(biāo)準(zhǔn))算法。在根據(jù)本發(fā)明的另一實(shí)施例中,通信節(jié)點(diǎn)可以以明文發(fā)送隨機(jī)數(shù)Ra和隨機(jī)數(shù)Rb。由于對(duì)隨機(jī)數(shù)R。進(jìn)行加密的加密算法和密鑰并沒(méi)有被發(fā)送,這樣即使隨機(jī)數(shù)在傳輸過(guò)程中被截獲,也無(wú)法準(zhǔn)確地得到用于通信的加密密鑰。應(yīng)該理解,對(duì)隨機(jī)數(shù)Ra和/或隨機(jī)數(shù)Rb加密之后再進(jìn)行發(fā)送也是可行的。同時(shí),在通信節(jié)點(diǎn)A和B相互交換隨機(jī)數(shù)之后,不需要像DH密鑰交換方案那樣進(jìn)行大量計(jì)算,而是僅僅需要在雙方接收到對(duì)方的隨機(jī)數(shù)之后用原始密鑰K對(duì)隨機(jī)數(shù)進(jìn)行加密,這相對(duì)來(lái)講需要很少的計(jì)算量。例如,在使用3DES的情況下,在密鑰交換過(guò)程中消耗的計(jì)算量比DH密鑰交換方案要小多個(gè)數(shù)量級(jí),并且可以獲得更快的速度。在另一實(shí)施例中,原始密鑰K可包括多條原始子密鑰。在此情況下,在步驟103和104中,逐一使用所述多條原始子密鑰對(duì)種子隨機(jī)數(shù)R。進(jìn)行加密,每條原始子密鑰的加密結(jié)果作為下一原始子密鑰的加密對(duì)象。在另一實(shí)施例中,通信節(jié)點(diǎn)B與通信節(jié)點(diǎn)A可預(yù)先確定多種加密算法和/或多個(gè)原始密鑰K。此時(shí),通信節(jié)點(diǎn)A將加密算法和/或原始密鑰的編號(hào)連同隨機(jī)數(shù)Ra發(fā)送給通信節(jié)點(diǎn)B,從而由通信節(jié)點(diǎn)A來(lái)確定使用的加密算法和/或原始密鑰。這樣,通信節(jié)點(diǎn)A和通信節(jié)點(diǎn)B都可以根據(jù)該編號(hào)來(lái)選擇使用的加密算法和/或原始密鑰。應(yīng)該理解,也可以由通信節(jié)點(diǎn)B來(lái)確定使用的加密算法和/或原始密鑰。此外,在預(yù)先確定多種加密算法和多個(gè)原始密鑰K的情況下,通信節(jié)點(diǎn)A將加密算法和原始密鑰之一的編號(hào)連同隨機(jī)數(shù)Ra發(fā)送給通信節(jié)點(diǎn)B,通信節(jié)點(diǎn)B將加密算法和原始密鑰中的另一個(gè)的編號(hào)連同隨機(jī)數(shù)Rb發(fā)送給通信節(jié)點(diǎn)A,從而通信節(jié)點(diǎn)A和B根據(jù)上述編號(hào)來(lái)選擇使用的加密算法和原始密鑰。換句話說(shuō),由通信節(jié)點(diǎn)A和B分別確定加密算法或原始密鑰。
這樣,通過(guò)設(shè)置多種加密算法和多個(gè)原始密鑰,可以進(jìn)一步增強(qiáng)通信的安全性。在本發(fā)明中,加密算法和原始密鑰被保存在通信節(jié)點(diǎn)中,從通信節(jié)點(diǎn)的外部無(wú)法訪問(wèn)加密算法和原始密鑰。例如,加密算法和原始密鑰可以以配置文件的形式加載或直接編譯到在通信節(jié)點(diǎn)運(yùn)行的通信程序中。此外,也可將加密算法和原始密鑰保存在單獨(dú)一個(gè)安全設(shè)備中。該安全設(shè)備可以設(shè)置在每個(gè)通信節(jié)點(diǎn)中,或者被配置為獨(dú)立于通信節(jié)點(diǎn)并僅能由與之對(duì)應(yīng)的通信節(jié)點(diǎn)訪問(wèn)。此外,計(jì)算密鑰Ka的處理也可由該安全設(shè)備執(zhí)行,通信節(jié)點(diǎn)只需將隨機(jī)數(shù)Ra*Rb(以及加密算法和/或原始密鑰的編號(hào))輸入到該安全設(shè)備,由該安全設(shè)備(根據(jù)編號(hào)確定使用的加密算法和/或原始密鑰并)計(jì)算密鑰KA,并輸出給通信節(jié)點(diǎn)。盡管已經(jīng)參照其示例性實(shí)施例具體顯示和描述了本發(fā)明,但是本領(lǐng)域的技術(shù)人員應(yīng)該理解,在不脫離權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下,以上的實(shí)施方式僅用于說(shuō)明本發(fā)明的技術(shù)方案而非限制性的,本領(lǐng)域的技術(shù)人員可根據(jù)本發(fā)明做出各種相應(yīng)的改變、或選取以上的實(shí)施例的組合、或選定其它不是常用的加密算法,或密鑰長(zhǎng)度可以進(jìn)行改變。這些改變都應(yīng)被認(rèn)為屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種用于密鑰加密通信系統(tǒng)中的密鑰交換方法,其特征在于包括 第一通信節(jié)點(diǎn)生成第一隨機(jī)數(shù),并將生成的第一隨機(jī)數(shù)發(fā)送給第二通信節(jié)點(diǎn); 第二通信節(jié)點(diǎn)生成第二隨機(jī)數(shù),并將生成的第二隨機(jī)數(shù)發(fā)送給第一通信節(jié)點(diǎn); 第一通信節(jié)點(diǎn)對(duì)第一隨機(jī)數(shù)和第二隨機(jī)數(shù)進(jìn)行預(yù)定運(yùn)算,以生成種子隨機(jī)數(shù),并且第一通信節(jié)點(diǎn)使用預(yù)先與第二通信節(jié)點(diǎn)確定的加密算法和原始密鑰對(duì)種子隨機(jī)數(shù)進(jìn)行加密,以生成加密密鑰; 第二通信節(jié)點(diǎn)對(duì)第一隨機(jī)數(shù)和第二隨機(jī)數(shù)進(jìn)行預(yù)定運(yùn)算,以生成種子隨機(jī)數(shù),并且第二通信節(jié)點(diǎn)使用預(yù)先與第一通信節(jié)點(diǎn)確定的加密算法和原始密鑰對(duì)種子隨機(jī)數(shù)進(jìn)行加密,以生成加密密鑰。
2.根據(jù)權(quán)利要求I所述的密鑰交換方法,其特征在于將生成的第二隨機(jī)數(shù)發(fā)送給第一通信節(jié)點(diǎn)的步驟包括第二通信節(jié)點(diǎn)將第二隨機(jī)數(shù)和第二通信節(jié)點(diǎn)的設(shè)備標(biāo)識(shí)碼發(fā)送給第一通信節(jié)點(diǎn), 其中,第一通信節(jié)點(diǎn)使用第二通信節(jié)點(diǎn)的設(shè)備標(biāo)識(shí)碼對(duì)原始密鑰進(jìn)行分散運(yùn)算,并使用經(jīng)過(guò)分散運(yùn)算后的原始密鑰對(duì)種子隨機(jī)數(shù)進(jìn)行加密,以生成加密密鑰。
3.根據(jù)權(quán)利要求2所述的密鑰交換方法,其特征在于第二通信節(jié)點(diǎn)使用第二通信節(jié)點(diǎn)的設(shè)備標(biāo)識(shí)碼對(duì)原始密鑰進(jìn)行分散運(yùn)算,并使用經(jīng)過(guò)分散運(yùn)算后的原始密鑰對(duì)種子隨機(jī)數(shù)進(jìn)行加密,以生成加密密鑰。
4.根據(jù)權(quán)利要求I所述的密鑰交換方法,其特征在于所述加密算法是數(shù)據(jù)加密標(biāo)準(zhǔn)DES、三重?cái)?shù)據(jù)加密標(biāo)準(zhǔn)3DES、高級(jí)加密標(biāo)準(zhǔn)AES之一。
5.根據(jù)權(quán)利要求I所述的密鑰交換方法,其特征在于第一通信節(jié)點(diǎn)還將用于標(biāo)識(shí)加密算法的編號(hào)和/或用于標(biāo)識(shí)原始密鑰的編號(hào)發(fā)送給第二通信節(jié)點(diǎn), 其中,第一通信節(jié)點(diǎn)和第二通信節(jié)點(diǎn)基于用于標(biāo)識(shí)加密算法的編號(hào)和/或用于標(biāo)識(shí)原始密鑰的編號(hào)從預(yù)先確定的多種加密算法和/或多個(gè)原始密鑰中選擇對(duì)種子隨機(jī)數(shù)進(jìn)行加密時(shí)使用的加密算法和/或原始密鑰。
6.根據(jù)權(quán)利要求I所述的密鑰交換方法,其特征在于第一通信節(jié)點(diǎn)還將用于標(biāo)識(shí)加密算法和原始密鑰之一的第一編號(hào)發(fā)送給第二通信節(jié)點(diǎn), 其中,第一通信節(jié)點(diǎn)和第二通信節(jié)點(diǎn)基于第一編號(hào)從第一通信節(jié)點(diǎn)和第二通信節(jié)點(diǎn)預(yù)先確定的多種加密算法和多個(gè)原始密鑰中選擇對(duì)種子隨機(jī)數(shù)進(jìn)行加密時(shí)使用的加密算法和原始密鑰之一, 第二通信節(jié)點(diǎn)還將用于標(biāo)識(shí)加密算法和原始密鑰中的另一個(gè)的第二編號(hào)發(fā)送給第二通信節(jié)點(diǎn), 其中,第一通信節(jié)點(diǎn)和第二通信節(jié)點(diǎn)基于第二編號(hào)從第一通信節(jié)點(diǎn)和第二通信節(jié)點(diǎn)預(yù)先確定的多種加密算法和多個(gè)原始密鑰中選擇對(duì)種子隨機(jī)數(shù)進(jìn)行加密時(shí)使用的加密算法和原始密鑰中的另一個(gè)。
7.根據(jù)權(quán)利要求I所述的密鑰交換方法,其特征在于原始密鑰包括多條原始子密鑰,第一通信節(jié)點(diǎn)和第二通信節(jié)點(diǎn)逐一使用所述多條原始子密鑰對(duì)種子隨機(jī)數(shù)進(jìn)行加密。
8.根據(jù)權(quán)利要求I所述的密鑰交換方法,其特征在于加密算法和原始密鑰以無(wú)法從外部被訪問(wèn)的形式被存儲(chǔ)在第一通信節(jié)點(diǎn)和第二通信節(jié)點(diǎn)中。
9.根據(jù)權(quán)利要求I所述的密鑰交換方法,其特征在于加密算法和原始密鑰被存儲(chǔ)在第一安全設(shè)備和第二安全設(shè)備中,第一安全設(shè)備僅能由第一通信節(jié)點(diǎn)訪問(wèn),第二安全設(shè)備僅能由第二通信節(jié)點(diǎn)訪問(wèn)。
10.根據(jù)權(quán)利要求I所述的密鑰交換方法,其特征在于以明文或密文方式發(fā)送第一隨機(jī)數(shù)和第二隨機(jī)數(shù)。
全文摘要
一種用于密鑰加密通信系統(tǒng)中的密鑰交換方法,包括第一通信節(jié)點(diǎn)生成第一隨機(jī)數(shù),并將生成的第一隨機(jī)數(shù)發(fā)送給第二通信節(jié)點(diǎn);第二通信節(jié)點(diǎn)生成第二隨機(jī)數(shù),并將生成的第二隨機(jī)數(shù)發(fā)送給第一通信節(jié)點(diǎn);第一通信節(jié)點(diǎn)對(duì)第一隨機(jī)數(shù)和第二隨機(jī)數(shù)進(jìn)行預(yù)定運(yùn)算,以生成種子隨機(jī)數(shù),并且第一通信節(jié)點(diǎn)使用預(yù)先與第二通信節(jié)點(diǎn)確定的加密算法和原始密鑰對(duì)種子隨機(jī)數(shù)進(jìn)行加密,以生成加密密鑰;第二通信節(jié)點(diǎn)對(duì)第一隨機(jī)數(shù)和第二隨機(jī)數(shù)進(jìn)行預(yù)定運(yùn)算,以生成種子隨機(jī)數(shù),并且第二通信節(jié)點(diǎn)使用預(yù)先與第一通信節(jié)點(diǎn)確定的加密算法和原始密鑰對(duì)種子隨機(jī)數(shù)進(jìn)行加密,以生成加密密鑰。
文檔編號(hào)H04L9/08GK102904713SQ20111020845
公開(kāi)日2013年1月30日 申請(qǐng)日期2011年7月25日 優(yōu)先權(quán)日2011年7月25日
發(fā)明者王政, 吳恒志, 羅浩 申請(qǐng)人:深圳市金溢科技有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1