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

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

文檔序號:7732448閱讀:231來源:國知局
專利名稱:用于密鑰加密通信系統(tǒng)中的加密密鑰交換方法
技術(shù)領(lǐng)域
本發(fā)明屬于通信安全領(lǐng)域,具體地講,涉及一種用于密鑰加密通信系統(tǒng)中的加密密鑰交換方法。
背景技術(shù)
隨著通信技術(shù)的發(fā)展,通信安全變得越來越重要。目前流行的兩種數(shù)據(jù)加密體系為對稱密鑰加密法和非對稱密鑰加密法。常用的對稱密鑰加密法如DES、AES。非對稱密鑰加密法又稱為公開密鑰方法,常用的非對稱密鑰加密法如RSA,ECC等。在使用對稱密鑰加密算法進(jìn)行通信的對稱密鑰加密通信系統(tǒng)中,通信雙方需要約定一個密鑰,其相對比較固定,并且稱密鑰加密算法是公開的,很容易受到攻擊,并且時間長了該固定密鑰容易被攻擊方猜到導(dǎo)致整個系統(tǒng)崩潰。
因此,需要一種不依賴于固定密鑰的加密方法,其密鑰是隨機(jī)的并且可以公開一部分。第一個可實施的公開密鑰算法是RSA算法。該算法是基于數(shù)學(xué)NP問題(具體為數(shù)學(xué)中大數(shù)分解困難)的設(shè)定。但該算法有一個很大的缺陷,即,隨著技術(shù)進(jìn)步,大數(shù)分解越來越容易,為了提高破解難度不得不提高數(shù)學(xué)運(yùn)算的位數(shù),導(dǎo)致硬件成本越來越高,并且硬件壽命變短。此外,當(dāng)前也出現(xiàn)了一些RSA算法的破解方法。例如,在2010年3月10日的歐洲設(shè)計、自動化和測試會議上的題為“Fault-based attack of RSA authentication”的論文公開了一種RSA算法的破解方法。另一取代RSA算法并能夠在通信中公開傳遞密鑰的方法是由戴費和海爾曼提出的密鑰交換算法(簡稱為DH密鑰交換體制),它不是加密算法,但可以在網(wǎng)絡(luò)中公開傳輸密鑰。這種密鑰交換技術(shù)的目的在于使得兩個用戶安全地交換一個密鑰以便用于以后的報文加密。以上提到的各種方法中都是基于數(shù)學(xué)難題來實現(xiàn)的,都是用了大數(shù)運(yùn)算。DH密鑰交換體制雖然目前來看是比較安全的,但其運(yùn)算量非常大。比如DH算法中,為了實現(xiàn)一個30位二進(jìn)制數(shù)的密鑰交換,可能需要計算2147483647(32位二進(jìn)制數(shù))的9223372036854775807 (64位二進(jìn)制數(shù))次方模除1073741824 (30位二進(jìn)制數(shù)),這樣的計算一般只能在大型機(jī)和小型機(jī)上實現(xiàn)。而攻擊方要破解這30位的密鑰如果用窮舉法暴力破解,以當(dāng)前的普通PC機(jī)幾分鐘內(nèi)可以完成。如果把密鑰長度提高到64位,其計算量將是相當(dāng)大的。雖然現(xiàn)在有很多DH方法的優(yōu)化方法,使得可以在PC機(jī)上實現(xiàn)DH交換,但是運(yùn)算量也是非常可觀的。對于密鑰交換方法也有很多其它的方法(比如基于線性不定方程求解困難而設(shè)置的密鑰交換體制),雖然運(yùn)算量會比DH的運(yùn)算量小幾個數(shù)量級,但是同樣都是基于數(shù)學(xué)NP問題的設(shè)定,其共同特點都是數(shù)學(xué)運(yùn)算量特別大,解該數(shù)學(xué)問題很困難。但是數(shù)學(xué)NP問題不是無解的問題,隨著技術(shù)進(jìn)步和研究的不斷深入,可能會找到一個比較有效的數(shù)學(xué)方法來解該NP問題,屆時這些方法將會失效。
因此,需要一種運(yùn)算量較小并且不易破解的密鑰交換方法。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種用于在使用密鑰進(jìn)行加密通信的通信系統(tǒng)中的密鑰交換方法,該密鑰交換方法僅需要較少的運(yùn)算量即可實現(xiàn)密鑰的交換,并且不易被破解。本發(fā)明的一方面提供一種用于密鑰加密通信系統(tǒng)中的加密密鑰交換方法,其特征在于包括第一通信節(jié)點生成隨機(jī)的矩陣A,計算矩陣A與方陣M的乘積,并將矩陣A與方陣M的乘積發(fā)送給第二通信節(jié)點,其中,方陣M是由第一通信節(jié)點與第二通信節(jié)點預(yù)先確定的奇異方陣;第二通信節(jié)點生成隨機(jī)的矩陣B,計算方陣M與矩陣B的乘積,并將方陣M與矩陣B的乘積發(fā)送給第一通信節(jié)點;第一通信節(jié)點計算矩陣A與從第二通信節(jié)點接收的方陣M與矩陣B的乘積的乘積,以生成加密密鑰;第二通信節(jié)點計算從第一通信節(jié)點接收的·矩陣A與方陣M的乘積與矩陣B的乘積,以生成加密密鑰,其中,方陣M的階數(shù)與矩陣A的列數(shù)相同,方陣M的階數(shù)與矩陣B的行數(shù)相同,矩陣A的行數(shù)與矩陣B的列數(shù)相同。優(yōu)選地,第一通信節(jié)點可將用于標(biāo)識方陣M的編號發(fā)送給第二通信節(jié)點,第二通信節(jié)點基于所述編號從第一通信節(jié)點和第二通信節(jié)點預(yù)先確定的多個奇異方陣中選擇方陣M。優(yōu)選地,方陣M可以以無法從外部被訪問的形式被存儲在第一通信節(jié)點和第二通信節(jié)點中。優(yōu)選地,方陣M可被存儲在第一安全設(shè)備和第二安全設(shè)備中,第一安全設(shè)備僅能由第一通信節(jié)點訪問,第二安全設(shè)備僅能由第二通信節(jié)點訪問。優(yōu)選地,可以以明文或密文方式發(fā)送矩陣A與方陣M的乘積、方陣M與矩陣B的乘積。優(yōu)選地,方陣M的階數(shù)可大于矩陣A的行數(shù)。優(yōu)選地,方陣M的階數(shù)可大于等于3。根據(jù)本發(fā)明的密鑰交換方法,使用了簡單的線性代數(shù)計算而非NP難題,極大了降低了計算量,并提高了密鑰交換速度。同時,本發(fā)明的密鑰交換方法基于線性代數(shù)中“奇異矩陣方程的無確定解”的定理而設(shè)計,因此攻擊者無法找到有效的數(shù)學(xué)解法,只能進(jìn)行窮舉破解,提高了加密安全性。將在接下來的描述中部分闡述本發(fā)明另外的方面和/或優(yōu)點,還有一部分通過描述將是清楚的,或者可以經(jīng)過本發(fā)明的實施而得知。


圖I示出根據(jù)本發(fā)明的示例性實施例的用于對稱密鑰通信系統(tǒng)中的密鑰交換方法的流程圖。
具體實施例方式現(xiàn)在,將參照附圖更充分地描述不同的示例實施例,其中,一些示例性實施例在附圖中示出。圖I示出根據(jù)本發(fā)明的示例性實施例的用于對稱密鑰系統(tǒng)中的密鑰交換方法的流程圖。在圖I示出的對稱密鑰通信系統(tǒng)中,存在作為通信雙方的第一通信節(jié)點100和第二通信節(jié)點200。第一通信節(jié)點100和第二通信節(jié)點200可以是各種通信設(shè)備。在步驟101,第一通信節(jié)點100生成隨機(jī)的矩陣A,計算矩陣A與N階方陣M的乘積Ca = AXM,并將矩陣Ca發(fā)送給第二通信節(jié)點200。這里,N階方陣M是由第一通信節(jié)點100與第二通信節(jié)點200預(yù)先確定的奇異矩陣。在步驟102,第二通信節(jié)點200生成隨機(jī)的矩陣B,計算N階方陣M與矩陣B的乘積Cb = MXB,并將矩陣Cb發(fā)送給第一通信節(jié)點100。這里,N階方陣M是由第一通信節(jié)點100與第二通信節(jié)點200預(yù)先確定的奇異矩陣。在步驟103,第一通信節(jié)點100使用從第二通信節(jié)點200接收的矩陣CB,計算Ka =
axcb。 在步驟104,第二通信節(jié)點200使用從第一通信節(jié)點100接收的矩陣CA,計算Kb =
caxb。這里,方陣M的階數(shù)N與矩陣A的列數(shù)相同,方陣M的階數(shù)N與矩陣B的行數(shù)相同,矩陣A的行數(shù)與矩陣B的列數(shù)相同。根據(jù)線性代數(shù)的知識可知,Ka = KB。這樣,第一通信節(jié)點100和第二通信節(jié)點200獲得了相同的加密密鑰,從而實現(xiàn)了密鑰的交換。優(yōu)選地,方陣M的階數(shù)大于矩陣A的行數(shù)。與方陣M的階數(shù)等于矩陣A的行數(shù)的情況相比,當(dāng)方陣M的階數(shù)大于矩陣A的行數(shù)時,在不影響破解難度的同時降低了信息傳輸量。此外,應(yīng)該理解,方陣M的階數(shù)小于等于矩陣A的行數(shù)的情況也是可行的。隨后,可使用獲得的加密密鑰進(jìn)行第一通信節(jié)點100和第二通信節(jié)點200之間的數(shù)據(jù)通信。在步驟105,第一通信節(jié)點100使用在步驟103生成的密鑰Ka對將被發(fā)送到第二通信節(jié)點200的內(nèi)容進(jìn)行加密,并將加密后的內(nèi)容發(fā)送到第二通信節(jié)點200。在步驟106,第二通信節(jié)點200從第一通信節(jié)點100接收所述加密的內(nèi)容,并使用在步驟104生成的密鑰Kb對所述加密的內(nèi)容進(jìn)行解密。同理,第一通信節(jié)點100可使用密鑰Ka對第二通信節(jié)點200使用密鑰Kb加密的內(nèi)容進(jìn)行解密。安全性分析在開始進(jìn)行數(shù)據(jù)通信之前,第一通信節(jié)點100和第二通信節(jié)點200相互交換了各自生成的矩陣,并且將生成的矩陣Ca和Cb進(jìn)行明文傳輸。這樣,矩陣Ca和Cb可能被攻擊者截獲,并且第一通信節(jié)點100和第二通信節(jié)點200約定的方陣M也有可能被攻擊者通過其它方法獲得。此時,攻擊者為了獲取用作加密密鑰的KA、Kb,必須要得到矩陣A和B,而為了得到矩陣A和B,則需要解以下兩個方程Ca = AXM ^A = CaXM-1 (I)Cb = MX B — B = IT1X Cb (2)由于約定的方陣M是個奇異矩陣,因此方陣M的行列式|M| = O。矩陣存在逆矩陣的必要條件是行列式不等于零。因此,方陣M不存在逆矩陣M'因此,根據(jù)上面的方程(I)和(2),通過數(shù)學(xué)的方法由CA、CB、M解出A和B是不可能的。
為了對方程(I)和(2)求解,只能使用窮舉的方法。但是如果矩陣的階數(shù)足夠大,則基本上無法通過窮舉的方式進(jìn)行求解。計算量分析對于矩陣方程C = AXB,方陣C的計算方法為
YlCij = Yj a,kbkj
k = \由此可見,如果矩陣A和B的元素均為整數(shù),則運(yùn)算僅限于整數(shù)乘法和加法的運(yùn) 算,沒有乘方和取模運(yùn)算。如果矩陣A和B的每一個元素取值范圍比較小,并且η適當(dāng)?shù)販p少,則cu的值也不會很大,從而避免了大整數(shù)運(yùn)算。例如,A和B的每一個元素取值范圍為0 16777215 (24位二進(jìn)制整數(shù)最大值),η取12,M為12階魔方陣,則K = Ka = Kb = AXMXB中K的每一個元素最大值不超過264,即不超過8字節(jié)整數(shù)的最大值。當(dāng)前的32位普通PC機(jī)都支持8字節(jié)整數(shù)運(yùn)算,可見這種方法的運(yùn)算量比DH和RSA算法的計算量小很多個數(shù)量級,速度非常之快。破解難度分析從上面的描述來看,矩陣方程(I)和(2)不能用數(shù)學(xué)方法求解,如果通過計算機(jī)暴力破解,方法如下如果N = 2,設(shè) A= [A11 A12 ;A21 A22] M = [M11 M12 ;M21 M22],矩陣方程 Ca = AXM 等價于方程組(I)Cau = ΑηΧΜη+Α12ΧΜ21Ca22 — A11X Μ21+Α12 X M22
(2) CA21 = A21X M1 !+A22 X M12CA22 — A21X M21+A22 X M22在上述方程組中,已知Ca和1求A,實際上方程組(I)可以求出A11和A12,方程組
(2)可以求出A21和A22,然后把它們組合起來便可以得到所有A的解。用窮舉法求解方程組
(I)只需要枚舉所有A11和A12的取值,不需要枚舉A所有的元素,因此破解難度取決于N和A所有的元素的取值范圍。如果N= 12,矩陣A、B的每一個元素取值為3個字節(jié)的整數(shù),則相當(dāng)于密鑰長度為12X3 = 36字節(jié),288位。這表明,攻擊者至少要解2288個方程才能獲得第一組Au的所有可能的解,要獲得所有Au的解則需要解12 X 2288個方程。當(dāng)所有的方程解完以后可以得到Ca的解的個數(shù)可能有I億個,而在這I億個解當(dāng)中只有一個是正確的。攻擊者還需要再驗證I億次才能得到正確的解。一般情況下密鑰長度為128位已經(jīng)可以抵擋住當(dāng)前的計算機(jī)的暴力破解。2128 =3. 4e38,而當(dāng)前計算機(jī)最快的運(yùn)算能力只有每秒2. 5el6次運(yùn)算,若每次運(yùn)算就能解一個12元I次方程組,則需要I. 36e22秒。而宇宙的年齡只有9. 2el8秒。優(yōu)選地,方陣M的階數(shù)N大于等于3。在另一實施例中,第一通信節(jié)點100和第二通信節(jié)點200預(yù)先確定多個奇異方陣。第一通信節(jié)點100從所述多個奇異方陣中選擇一個奇異方陣M來計算CA,并且將奇異方陣M的編號連同Ca發(fā)送給第二通信節(jié)點200。第二通信節(jié)點200基于所述編號從所述多個奇異方陣中選擇出奇異方陣M來計算CB。這樣,通過設(shè)置多個奇異方陣,可以進(jìn)一步增強(qiáng)通信的安全性。
在本發(fā)明中,奇異方陣可被保存在通信節(jié)點中,從通信節(jié)點的外部無法訪問奇異方陣。例如,奇異方陣可以以配置文件的形式加載或直接編譯到在通信節(jié)點運(yùn)行的通信程序中。此外,也可將奇異方陣保存在單獨一個安全設(shè)備中。該安全設(shè)備可以設(shè)置在每個通信節(jié)點中,或者被配置為獨立于通信節(jié)點并僅能由與之對應(yīng)的通信節(jié)點訪問。此外,計算密鑰K的處理也可由該安全設(shè)備執(zhí)行,通信節(jié)點只需將隨機(jī)的N階矩陣A或B (以及奇異方陣的編號)輸入到該安全設(shè)備,由該安全設(shè)備(根據(jù)編號確定使用的奇異方陣M并)計算密鑰K,并輸出給通信節(jié)點。 在前面的實施例中,將生成的矩陣Ca和Cb進(jìn)行明文傳輸即可實現(xiàn)難以被破解的效果。然而,應(yīng)該理解,也可以對矩陣Ca和/或Cb進(jìn)行加密之后進(jìn)行傳輸。根據(jù)本發(fā)明的密鑰交換方法,使用了簡單的線性代數(shù)計算而非NP難題,極大了降 低了計算量,并提高了密鑰交換速度。同時,本發(fā)明的密鑰交換方法基于線性代數(shù)定理,而不是NP難題,因此攻擊者無法找到有效的數(shù)學(xué)解法,只能進(jìn)行窮舉破解,提高了加密安全性。盡管已經(jīng)參照其示例性實施例具體顯示和描述了本發(fā)明,但是本領(lǐng)域的技術(shù)人員應(yīng)該理解,在不脫離權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下,以上的實施方式僅用于說明本發(fā)明的技術(shù)方案而非限制性的,本領(lǐng)域的技術(shù)人員可根據(jù)本發(fā)明做出各種相應(yīng)的改變、或選取以上的實施例的組合。這些改變都應(yīng)被認(rèn)為屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種用于密鑰加密通信系統(tǒng)中的加密密鑰交換方法,其特征在于包括 第一通信節(jié)點生成隨機(jī)的矩陣A,計算矩陣A與方陣M的乘積,并將矩陣A與方陣M的乘積發(fā)送給第二通信節(jié)點,其中,方陣M是由第一通信節(jié)點與第二通信節(jié)點預(yù)先確定的奇異方陣; 第二通信節(jié)點生成隨機(jī)的矩陣B,計算方陣M與矩陣B的乘積,并將方陣M與矩陣B的乘積發(fā)送給第一通信節(jié)點; 第一通信節(jié)點計算矩陣A與從第二通信節(jié)點接收的方陣M與矩陣B的乘積的乘積,以生成加密密鑰; 第二通信節(jié)點計算從第一通信節(jié)點接收的矩陣A與方陣M的乘積與矩陣B的乘積,以生成加密密鑰, 其中,方陣M的階數(shù)與矩陣A的列數(shù)相同,方陣M的階數(shù)與矩陣B的行數(shù)相同,矩陣A的行數(shù)與矩陣B的列數(shù)相同。
2.根據(jù)權(quán)利要求I所述的加密密鑰交換方法,其特征在于第一通信節(jié)點將用于標(biāo)識方陣M的編號發(fā)送給第二通信節(jié)點,第二通信節(jié)點基于所述編號從第一通信節(jié)點和第二通信節(jié)點預(yù)先確定的多個奇異方陣中選擇方陣M。
3.根據(jù)權(quán)利要求I所述的加密密鑰交換方法,其特征在于方陣M以無法從外部被訪問的形式被存儲在第一通信節(jié)點和第二通信節(jié)點中。
4.根據(jù)權(quán)利要求I所述的加密密鑰交換方法,其特征在于方陣M被存儲在第一安全設(shè)備和第二安全設(shè)備中,第一安全設(shè)備僅能由第一通信節(jié)點訪問,第二安全設(shè)備僅能由第二通信節(jié)點訪問。
5.根據(jù)權(quán)利要求I所述的加密密鑰交換方法,其特征在于以明文或密文方式發(fā)送矩陣A與方陣M的乘積、方陣M與矩陣B的乘積。
6.根據(jù)權(quán)利要求I所述的加密密鑰交換方法,其特征在于方陣M的階數(shù)大于矩陣A的行數(shù)。
7.根據(jù)權(quán)利要求6所述的加密密鑰交換方法,其特征在于方陣M的階數(shù)大于等于3。
全文摘要
一種用于密鑰加密通信系統(tǒng)中的加密密鑰交換方法,包括第一通信節(jié)點生成隨機(jī)的矩陣A,計算矩陣A與方陣M的乘積,并將矩陣A與方陣M的乘積發(fā)送給第二通信節(jié)點,其中,方陣M是由第一通信節(jié)點與第二通信節(jié)點預(yù)先確定的奇異方陣;第二通信節(jié)點生成隨機(jī)的矩陣B,計算方陣M與矩陣B的乘積,并將方陣M與矩陣B的乘積發(fā)送給第一通信節(jié)點;第一通信節(jié)點計算矩陣A與從第二通信節(jié)點接收的方陣M與矩陣B的乘積的乘積,以生成加密密鑰;第二通信節(jié)點計算從第一通信節(jié)點接收的矩陣A與方陣M的乘積與矩陣B的乘積,以生成加密密鑰,其中,方陣M的階數(shù)與矩陣A的列數(shù)相同,方陣M的階數(shù)與矩陣B的行數(shù)相同,矩陣的行數(shù)與矩陣B的列數(shù)相同。
文檔編號H04L9/08GK102904714SQ201110208459
公開日2013年1月30日 申請日期2011年7月25日 優(yōu)先權(quán)日2011年7月25日
發(fā)明者王政, 吳恒志, 鄧忠平 申請人:深圳市金溢科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1