綜合船橋系統(tǒng)中組合加密技術(shù)—DES和RSA的應(yīng)用

為保障數(shù)據(jù)在網(wǎng)絡(luò)傳輸中的安全,針對(duì)綜合船橋系統(tǒng)的數(shù)據(jù)通信網(wǎng)絡(luò)中的數(shù)據(jù)保密性問題,我們?cè)诰C合兩種常用加密算法——DES和RSA各自特點(diǎn)的基礎(chǔ)上,結(jié)合兩種加密算法的優(yōu)點(diǎn),提出了一種基于DES和RSA的混合加密算法。利用這種組合加密技術(shù)對(duì)船橋系統(tǒng)的重要數(shù)據(jù)進(jìn)行加密,可以確保綜合船橋系統(tǒng)數(shù)據(jù)的安全。

一、加密算法簡(jiǎn)介

1、DES加密算法

DES算法為密碼體制中的對(duì)稱密碼體制,又被成為美國(guó)數(shù)據(jù)加密標(biāo)準(zhǔn),是1972年美國(guó)IBM公司研制的對(duì)稱密碼體制加密算法。其密鑰長(zhǎng)度為56位,明文按64位進(jìn)行分組,將分組后的明文組和56位的密鑰按位替代或交換的方法形成密文組的加密方法。

DES加密算法的加密過程

1)64位明文經(jīng)過初始置換IP,把輸入的數(shù)據(jù)塊按位重新組合,把輸出分為左右兩部分,各長(zhǎng)32位,左邊為L(zhǎng)o,右邊為Ro;

2)將64位密鑰變換產(chǎn)生16個(gè)48位子密鑰:K1,K2,…,K16,分別在十六次加密迭代中使用;

3)由加密函數(shù)/實(shí)現(xiàn)子密鑰Ki對(duì)Ro的加密,得到32位數(shù)據(jù)f(R.o,K1),此結(jié)果再與Lo模2相加,又得到一個(gè)32位的數(shù)據(jù)組L0+f(Ro,Ki),以Lo+f(Ro,Ki)作為第二次加密迭代的R1,以Ro作為第二次加密迭代的L1,第一次加密迭代過程結(jié)束;第二次到第十六次加密迭代過程與第一次加密迭代相同,密鑰位K2,K3,…,K16;

4)第十六次加密迭代結(jié)束后,產(chǎn)生兩組32位數(shù)據(jù)L16,R16,各32位,組合成64位,再經(jīng)過逆初始置換IP,將數(shù)據(jù)重新排列,便得到64位密文。

2、RSA加密算法

這是一個(gè)現(xiàn)在在網(wǎng)絡(luò)上、銀行系統(tǒng)、軍事情報(bào)等等許多領(lǐng)域用處非常廣泛的加密算法,已經(jīng)深深的影響到我們每一個(gè)人,同時(shí)它還是目前最有影響力的公鑰加密算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公鑰數(shù)據(jù)加密標(biāo)準(zhǔn)。RSA算法基于一個(gè)十分簡(jiǎn)單的數(shù)論事實(shí):將兩個(gè)大素?cái)?shù)相乘十分容易,但那時(shí)想要對(duì)其乘積進(jìn)行因式分解卻異常困難,因此可以將乘積公開作為加密密鑰。

(1)RSA密鑰生成

1)選取兩個(gè)大素?cái)?shù)p,q(須保密),為了保證較高程度的安全性,p和q長(zhǎng)度最好相同。計(jì)算p與q的乘積:n=pxq,以及數(shù)z,z=(P—l)×(q-l)。

2)隨機(jī)選取正數(shù)e,使e和l互素;用歐幾里德擴(kuò)展算法計(jì)算解密密鑰d,以滿足:

綜合船橋系統(tǒng)中組合加密技術(shù)

3)將得到的兩組數(shù)(n,e)和(n,d)分別作為公鑰和私鑰。

(2)加密過程

RSA算法是一種分組加密算法,加密消息肘時(shí),首先將它分成比n小的數(shù)據(jù)分組(采用二進(jìn)制數(shù),選取小于n的2的最大次冪),也就是說(shuō),P和q為100位的素?cái)?shù),那么n將有200位,每個(gè)消息分組m應(yīng)小于200位長(zhǎng)fiolo加密后的密文C,將由相同長(zhǎng)度的分組ci組成。加密公式簡(jiǎn)化為:ci=me(modn),即對(duì)于明文M,用公鑰(n,e)加密可得到密文C:

綜合船橋系統(tǒng)中組合加密技術(shù)

(2)式中M={mi,i=0,1,2,…},C={ci,i=O,1,2,...}。

3、兩種加密算法的優(yōu)劣性比較

DES和RSA加密算法的具體實(shí)現(xiàn)不同,其性能也有很大的差別。DES和RSA作為對(duì)稱和非對(duì)稱算法的典型代表,有著各自不同的優(yōu)缺點(diǎn)。下面從幾個(gè)不同的方面來(lái)比較DES和RSA算法的異同。

(1)加密解密的處理效率

DES算法運(yùn)算速度優(yōu)于RSA算法。DES算法密鑰的長(zhǎng)度只有56 bit,加解密速度快,可以利用軟件和硬件實(shí)現(xiàn)高速處理;RSA算法需要進(jìn)行多位整數(shù)乘冪和求模等多字長(zhǎng)處理,運(yùn)算量大且復(fù)雜,因此在處理速度上明顯慢于DES算法,不適于對(duì)較長(zhǎng)明文加密。

(2)加密算法的安全性和保密性

DES加密算法的安全性基于密鑰的保密,密鑰一旦丟失,任何人都可以解讀密文內(nèi)容;RSA算法使用不同的密鑰加密解密,而且抗攻擊能力很強(qiáng),因此安全性較好。

(3)密鑰的分配和管理

RSA加密算法比DES加密算法優(yōu)越,RSA算法可采用公開形式分配加密密鑰,對(duì)加密密鑰的更新容易,并且對(duì)不同的通信對(duì)象,只需對(duì)自己的解密密鑰保密即可;DES算法要求通信前對(duì)密鑰進(jìn)行秘密分配,密鑰的更換困難,對(duì)不同的通信對(duì)象,DES需產(chǎn)生和保管不同的密鑰,一旦密鑰丟失會(huì)帶來(lái)很大的危險(xiǎn)。

二、基于DES與RSA的組合加密方案

通過以上我們分析了兩種加密算法的優(yōu)缺點(diǎn),我們?cè)O(shè)計(jì)了一種基于DES與RSA的組合加密方案。

組合加密算法基本原理是:數(shù)據(jù)通信之前,用DES方法對(duì)消息明文加密,同時(shí)用RSA方法對(duì)DES密鑰進(jìn)行加密。這樣就可以綜合發(fā)揮DES高速簡(jiǎn)便性和RSA密鑰管理的方便和安全性,組合加密過程的原理圖如圖1。

綜合船橋系統(tǒng)中組合加密技術(shù)

1、組合加密算法的實(shí)現(xiàn)

設(shè)發(fā)送方為A(加密密鑰為Keb),接收方為B(加密密鑰為Keb,解密密鑰為Kdb),上述加密方案實(shí)現(xiàn)步驟如下:

1)發(fā)送方A首先生成用于DES加密的密鑰X,每一個(gè)密鑰K只用一次。

2)發(fā)送方A從密鑰服務(wù)器中獲取接收方的RSA的公開加密密鑰Keb,并用Keb加密DES的密鑰K,形成密文Ck。

綜合船橋系統(tǒng)中組合加密技術(shù)

3)發(fā)送方A用K加密明文,然后連同Ck一起形成密文C發(fā)往接收方B。

綜合船橋系統(tǒng)中組合加密技術(shù)

4)接收方B接收到C后,用自己的解密密鑰Kdb解密即可。為了更好的保證數(shù)據(jù)的安全,發(fā)送、接收雙方均刪除DES密鑰K。

2、DES、RSA和組合加密算法在vc++環(huán)境下的仿真結(jié)果比較

明文信息:江蘇科技大學(xué)

(1)單獨(dú)由DES算法加密明文結(jié)果

取DES八位密鑰13572468,加密后密文:鯉WW繆。

此算法可以實(shí)現(xiàn)高速加密,但是密鑰的傳輸比較困難,在通信前對(duì)密鑰進(jìn)行秘密分配,對(duì)不同的通信對(duì)象,需產(chǎn)生和保密不同的解密密鑰,因此傳輸中存在極大的風(fēng)險(xiǎn),一旦密鑰被截獲,截獲方就直接可以解密得到所需要的信息。

(2) 單獨(dú)由RSA算法加密明文結(jié)果

隨機(jī)生成的密鑰長(zhǎng)度為1024位,加密后密文為:

04FEBF03E4535CE9DE08AClF6CAB8418850CBE889F68644C42797C2170E85E038FAFOE6F212A93EE70C6BF6AE37DECC735F780918139FD6146EAEE5E89870605CC721DB76ACOF141FF666FBD67F640D8411904062538239664CIAIA58D84EA68CC9819F7FA18CAD97F22CF6EDDOAB7968DDC19659F387EBE47A169977E6F2ABCEOA4D76C79D4CC3CE69016815C51F9E4EOOE7CB067C43EFF5D7718228807ECECF44F9A221FCC5695AF252BC4E6376EB93CDCDCD6830DCE8F9381833F3EEE5766F1DBFF2789448492D4C28EEB621FCOEAFrOA2264A31E9626A3819FEB5DOC8EF4BB8769BCAD3F63AOEFDE88ACB70BFF79FA025C3A6C988EF1858EOBE1C72AA2F6E518D9EFD040672560E4F9E98090F4A1BAOD21924480404E69796086FOD15A5FCE2F537F3A89808C9E79EBEAEF04810ACB15CADF6592F3CBB7E480143EFB2FA116A2DF89A8BA61084923F4SA95COOA1288BA4900A4383F3E605022D705444DFD3ACC6D21134F095AA258ABOOBDB330FDA4E89

加密后密文的復(fù)雜性明顯大于DES的密文,而且在密鑰管理方面,RSA可公開加密公鑰,并且對(duì)不同的通信對(duì)象,只需對(duì)自己的解密密鑰保密即可。雖然使用次算法保密性有了很大的提高,但是隨著明文信息量的增加,其加密速度卻大大降低,通常比DES算法慢上上百倍,因此速度是RSA算法一個(gè)的很難跨越的障礙。

(3)由組合加密算法加密明文結(jié)果

1)首先使用DES對(duì)次明文“江蘇科技大學(xué)”加密,密文為:鯉W1W繆。

2)然后對(duì)DES的密鑰13572468使用RSA再加密,密文為:

A63E8DC2FC6797A349768F7EB78C20BA4FEOO428E6F75C17EB57FCFDA3 F85D39A545EAB45D09E94117257CC9A50CFIB9682FFOE4D3CA86F4F17C9AC2555D3DB6DB574A4FCF8F6D57428315E4105020D9850EC288FF3CBF74210IDICD83CED5 CD3670624B388A5D47ADAE283ABD09283A4A4C9806EE334ADBCC5786A24E8DD97C621402985E357740C5A8D6C960EED5DOECCFDFD7A6A2186D67FEE07F2GC6CB8AA77A05208604E4FA2FAB28A4209A7E296E94D9D3D06BAB7210512E424 9D60A4BE0017BAF569830588E44C32ADE88C76BC5AB254C856AF6ED1057F3CD4C6FC91D39A3 46797261F9857C8EB39812A283AA06657FC78830450D32DCD789A894F5502A2AA2888C206F5 EA11AAC14221D3BD9C0330561A

3)組合算法無(wú)論在速度、密鑰管理、密文復(fù)雜度上都有很大優(yōu)勢(shì)。由于使用DES加密大數(shù)據(jù)信息,速度較快,通信雙方在傳輸密文的過程中,將經(jīng)過RSA加密的DES密鑰同時(shí)包含在內(nèi),不用再秘密交換密鑰,這樣就減小了密鑰在傳輸過程中泄密的風(fēng)險(xiǎn),雖然采用了DES算法,但不是對(duì)每一通信對(duì)象都保密相應(yīng)的DFS密鑰j只需保密自己相對(duì)應(yīng)的RSA解密密鑰就行了,密鑰管理更加方便。

3、DES和RSA組合加密算法的性能分析

(1)安全性方面分析

DES算法的破解,目前比較有效的方法是窮舉攻擊,DES加密有8位并未參與運(yùn)算,因此它的安全性是基于56位的256個(gè)組合變化,如果采用窮舉法攻擊,仍需要幾千年,就目前來(lái)看,DES算法還是安全的。RSA加密算法的安全性是基于大素?cái)?shù)分解的難度,破解密文相當(dāng)于將兩個(gè)大素?cái)?shù)之積分解為兩個(gè)因子,目前在數(shù)學(xué)上大素?cái)?shù)的分解還是一個(gè)難題,理論上幾乎無(wú)法實(shí)現(xiàn)。鑒于以上兩點(diǎn),組合加密算法是安全的。

(2)復(fù)雜度方面

對(duì)于復(fù)雜度,DES算法的時(shí)間復(fù)雜度為O(n),空間復(fù)雜度為O(n)。由于RSA算法要加密的對(duì)象是DES加密密鑰,一個(gè)64位的偽隨機(jī)數(shù),所以時(shí)間復(fù)雜度和空間復(fù)雜度為常量0(1)。根據(jù)上面的討論可知:混合加密算法的時(shí)間復(fù)雜度和空間復(fù)雜度都為O(n)。

(3)快速性方面

DES加密算法加密速度快,適合大量數(shù)據(jù)加密,RSA加密算法主要在生成大素?cái)?shù)上費(fèi)時(shí)間,當(dāng)加密位數(shù)大時(shí)效率降低,而本文中使用RSA加密算法加密DES密鑰,數(shù)據(jù)量較小,對(duì)RSA的加密速度不會(huì)有太大影響,速度相對(duì)較快,因此此算法快速性符合系統(tǒng)的要求。

小知識(shí)之綜合船橋系統(tǒng)

綜合船橋系統(tǒng)是實(shí)施船舶導(dǎo)航和控制的集成系統(tǒng),它通過相互連接以集中使用來(lái)自工作站的傳感器信息、命令或控制以提高操作人員管理船舶的安全性和效率。