地圖數(shù)據(jù)網(wǎng)絡(luò)分發(fā)的混合加密算法
互聯(lián)網(wǎng)的快速展與完善為數(shù)據(jù)傳輸提供了更快捷、方便的途徑,它提高了數(shù)據(jù)傳輸效率,但也對數(shù)據(jù)安全提出了新要求。如何保證空間數(shù)據(jù)在網(wǎng)絡(luò)上傳輸時不被第三方竊取,是數(shù)據(jù)生產(chǎn)方和應(yīng)用方共同關(guān)注的問題,也是數(shù)據(jù)在網(wǎng)絡(luò)上傳輸必須解決的首要問題。在現(xiàn)有技術(shù)條件下,數(shù)據(jù)加密技術(shù)是保證數(shù)據(jù)安全傳輸?shù)挠行侄沃?。通過有效的加密手段,空間數(shù)據(jù)即使被竊取也無法被正常應(yīng)用,保證了數(shù)據(jù)生產(chǎn)方和應(yīng)用方的利益。
一、數(shù)據(jù)加密的基本模型
數(shù)據(jù)加密技術(shù)是對信息進行重新編碼以達到隱藏信息內(nèi)容,使非法用戶無法獲得真實內(nèi)容的一種技術(shù)手段。一個加密系統(tǒng)由明文空間、密文空間、加密算法和密鑰空間組成,一個加密系統(tǒng)的完整模型如圖所示。

二、數(shù)據(jù)加密算法分析與比較
1、 加密算法分析
由加密密鑰Ke和解密密鑰Kd兩者之間的關(guān)系,可將加密算法分為對稱加密算法和非對稱加密算法。當Ke=Kd時,稱為對稱密碼體制,否則稱為非對稱加密體制。
DES加密算法是經(jīng)典的對稱加密算法,其安全性及效率較高,新的AES加密算法性能比DES加密算法更佳。
(1)DES加密算法與AES加密算法
DES加密算法是將明文m分為64位的數(shù)據(jù)塊m=m1,_m2,…,m64。先進行初始置換,對明文數(shù)據(jù)塊進行換位處理,然后通過子密鑰K1-K16進行16次迭代處理,迭代的目的是增加混
亂性和擴散性,避免輸出的密文殘留統(tǒng)計規(guī)律,最后進行逆初始置換,得到64位密文c=c1,c2,…,c64。
AES的加密和解密流程如圖所示。

AES加密算法的輸入分組、輸出分組和加/解密過程中的中間分組分別為128_bit,192_bit和256_bit,因此,由用戶選定相應(yīng)的密鑰長度分別為128_bit,_192_bit和256_bit。密鑰設(shè)計采用二維字節(jié)數(shù)組,共4行、Nk列。因為Nk等于密鑰長度除以32,所以輸入分組、輸出分組和加/解密過程中的中間分組相應(yīng)的Nk分別為4,_6,8,。用Nr表示對一個數(shù)據(jù)分組加密的輪數(shù)。每一輪都需要一個與輸入分組具有相同長度(128_bit)的擴展密鑰Key的參與。由于外部輸入的加密密鑰Key長度有限,因此在實際應(yīng)用中要用一個密鑰擴展程序把外部密鑰Key擴展成更長的比特串,以生成各輪的加密密鑰。
AES加解密過程如下:
循環(huán)取出輸入數(shù)據(jù)中的16_Byte,將其復(fù)制到狀態(tài)數(shù)組中(狀態(tài)是指每次變換操作產(chǎn)生的中間結(jié)果,可用以字節(jié)為元素的二維數(shù)組表示,共4行、Nb列,Nb等于數(shù)據(jù)塊長度除以32),加解密過程都在這個狀態(tài)數(shù)據(jù)中進行處理,加解密結(jié)束后再將狀態(tài)數(shù)組復(fù)制到結(jié)果數(shù)組。
(2)RSA加密算法
RSA加密算法是最常用的經(jīng)典非對稱加密算法,其數(shù)學(xué)基礎(chǔ)是歐拉定理,建立在大整數(shù)因子的困難性之上。
歐拉定理:將Z/n表示為Zn,其中,n=pq,p,_q為素數(shù)且相異。若_Zn*≡{gZn|(n,g)=1},則Zn*nZ為_(n)階的乘法群,且有g(shù)_(n)≡1modn,_(n)=(p-1)(q-1)。
若(a,_n)=1,則a_(n)≡1modn。密鑰產(chǎn)生每位使用者,如A。任意選擇2個大素數(shù)P和Q并求出其乘積N=PQ。使用者A任意選擇一個整數(shù)e,使e與N互素,并求出e在階T中的乘法逆d,即ed=1modT。根據(jù)歐拉定理,指數(shù)函數(shù)在模N中所有元素階的最小公倍數(shù)等于P-1與Q-1的最小公倍數(shù)。一般使用T=(P-1)(Q-1)=_(n)。使用者A將(e,_N)公布為其公開密鑰,并將d秘密保存為其私有密鑰。
2、常用加密算法的分析與比較
(1)2種類型加密算法的特點
a、對稱加密算法,其特點是加密密鑰和解密密鑰相同,算法簡單、易于實現(xiàn),加密和解密速度較快,但對密鑰的管理較困難。
b、非對稱加密算法,其特點如下:
a)加密密鑰和解密密鑰不同,計算解密密鑰時無法由加密密鑰推出,即使將加密密鑰公開,也不存在可以輕易推導(dǎo)出另一個密鑰的有效算法,其密鑰管理較容易,但算法復(fù)雜,加密和解密速度慢。
b)不需要增加分發(fā)密鑰的額外通道,將加密和解密密鑰分開,實現(xiàn)由多個用戶加密的消息只能被一個用戶解讀,或一個用戶加密的數(shù)據(jù)能被多個用戶解讀。
(2)2種類型加密算法的比較
各種加密算法的具體實現(xiàn)各不相同,其性能也有很大差別。DES加密算法和RSA加密算法作為對稱、非對稱加密算法的典型代表,由于機制、算法的不同,因此有不同優(yōu)缺點,具體如下:
a、加解密的處理效率,DES算法只有56位密鑰,加解密速度快、保密度高,可實現(xiàn)高速處理;RSA算法須進行多位整數(shù)乘冪和求模等多倍字長處理,運算量大而復(fù)雜,加解密數(shù)據(jù)的速率較低,不適用于對較長明文的加密。
b、加密算法安全性和保密性,DES加密算法采用單密鑰,其安全性完全依賴密鑰的保密,易受窮舉強力攻擊;RSA算法由于采用雙密鑰,因此密鑰產(chǎn)生較繁瑣,其安全性依賴于大數(shù)分解的困難度。
c、密鑰的分配和管理,DES加密算法必須在通信前對密鑰進行秘密分配,人多時密鑰數(shù)量大,因此,定期更換密鑰難度較大;RSA加密算法只對自己的秘密密鑰進行保密管理,無需秘密通道或復(fù)雜協(xié)議來傳送密鑰,易于更換密鑰。
由上述分析可知,不同算法之間存在較大差異,適用場合不同。DES算法能加密大量數(shù)據(jù),較適于用硬件來實現(xiàn)。RSA加密算法執(zhí)行速度慢,適于給少量數(shù)據(jù)文件加密,例如用于數(shù)字簽名等,也可以為公開密鑰簽發(fā)證書等提供高質(zhì)量服務(wù)。
在現(xiàn)代高速計算機上針對DES體制用窮舉法強力攻擊尋求密鑰是可以實現(xiàn)的。對RSA體制而言,如果找到把一個乘積數(shù)分解為2個大素數(shù)的快速算法,就意味著被擊破。而作為高級加密體制所提出的AES加密算法是加密技術(shù)的最佳解決方案。AES的Rijndael加密算法具有高安全性、高效率和易用等優(yōu)點。
三、散列組合加密算法
1、 散列組合加密算法原理
在地圖數(shù)據(jù)網(wǎng)絡(luò)分發(fā)過程中,傳輸?shù)臄?shù)據(jù)類型包括影像數(shù)據(jù)、地圖數(shù)據(jù)、元數(shù)據(jù)、文本數(shù)據(jù)等,數(shù)據(jù)量范圍在幾十萬字節(jié)到幾百兆字節(jié)之間。數(shù)據(jù)加密算法必須適合不同數(shù)據(jù)類型與數(shù)據(jù)量,保證傳輸過程中的數(shù)據(jù)安全,并兼顧加密速度。在用戶較分散的情況下,對密鑰的管理與傳遞也是關(guān)鍵之一。
綜上所述,我們提出一種對稱加密算法和非對稱加密算法相結(jié)合的散列組合加密算法。對數(shù)據(jù)實體采用對稱加密算法,保證其安全性與效率;對密鑰采用非對稱加密算法,保證密鑰安全并便于對其管理。在實際分發(fā)過程中,將密鑰與數(shù)據(jù)相結(jié)合進行加密。
本文采用AES作為數(shù)據(jù)實體加密算法。加密采用的密鑰若單獨傳遞會增加傳送次數(shù),并使密鑰數(shù)據(jù)流在傳輸過程中被截獲的可能性極大增加,攻擊者可單獨對密鑰進行破解,其保密性難以得到保證。因此,筆者在加密過程中,將密鑰和加密數(shù)據(jù)結(jié)合起來進行傳送。其基本思想是采用RSA加密算法對AES的加密密鑰進行加密,對加密后的密鑰按4 Byte或 8 Byte分組,將每組數(shù)據(jù)隨機分散到經(jīng)AES加密后的數(shù)據(jù)實體中,記錄下分組類型和每個分組所在位置,形成附加密碼,將附加密碼用RSA加密算法進行加密,再將加密后的附加密碼嵌入數(shù)據(jù)文件中,記錄嵌入的位置和長度,組成附加密碼2和附加密碼3,對附加密碼2和附加密碼3分別采用RSA加密并嵌入到原密鑰和數(shù)據(jù)組成的數(shù)據(jù)塊的頭和尾中,組成新的加密文件,進行傳送。
2、散列組合加密算法流程
散列組合加密算法流程如圖所示。

AES加密算法的密鑰由用戶輸入或根據(jù)密鑰生成算法自動生成。RSA算法的密鑰對根據(jù)用戶申請由密鑰管理中心生成并通過其他途徑將私鑰傳遞給用戶,公鑰保存在密鑰服務(wù)器上供加密用戶查詢。用戶需要傳輸數(shù)據(jù)時,先登陸密鑰服務(wù)器查詢對方的公鑰,然后輸入AES密鑰,啟動加密算法。附加密鑰嵌入的位置可按數(shù)據(jù)傳遞雙方的約定,根據(jù)不同用戶定制。
根據(jù)空間數(shù)據(jù)的海量和非結(jié)構(gòu)化特征,筆者在實際應(yīng)用過程中將數(shù)據(jù)壓縮與加密相結(jié)合,進行數(shù)據(jù)傳輸前的處理。在實驗中,從數(shù)據(jù)庫中調(diào)出需要傳輸?shù)囊粋€或多個數(shù)據(jù),將數(shù)據(jù)壓縮為一個傳輸數(shù)據(jù)包,對傳輸數(shù)據(jù)包進行加密,從而減少壓縮數(shù)據(jù)的數(shù)據(jù)量并提高壓縮效率,實現(xiàn)多數(shù)據(jù)文件同時傳輸。
3、散列組合加密算法的應(yīng)用與測試
在應(yīng)用中,筆者對多個加密算法進行測試對比,采用的數(shù)據(jù)是1:_50_000矢量數(shù)據(jù),數(shù)據(jù)包大小為57.4_MB,測試結(jié)果如表所示。

由測試結(jié)果可以看出,散列組合加密算法與AES算法基本相同,由于算法需要對數(shù)據(jù)文件進行分析與重組,因此耗時略大于AES加密算法。在傳輸過程中采用CORBA的迭代器進行傳輸,將數(shù)據(jù)包分為更小的傳輸包,每個傳輸包在傳輸時都加入完整性校驗,以保證數(shù)據(jù)傳輸?shù)恼_性。
安全性是空間數(shù)據(jù)網(wǎng)絡(luò)傳輸?shù)幕疽蟆5貓D數(shù)據(jù)網(wǎng)絡(luò)分發(fā)中的安全體系包括網(wǎng)絡(luò)信道安全、數(shù)據(jù)安全、用戶信息安全、用戶權(quán)限管理、用戶管理、安全證書等多個方面,在實際應(yīng)用中必須綜合考慮這些因素。本文研究的數(shù)據(jù)安全是其中一個分支,提出的加密算法在實際應(yīng)用中取得了良好效果。
小知識之歐拉定理
在數(shù)學(xué)及許多分支中都可以見到很多以歐拉命名的常數(shù)、公式和定理。在數(shù)論中,歐拉定理(Euler Theorem,也稱費馬-歐拉定理或歐拉函數(shù)定理)是一個關(guān)于同余的性質(zhì)。歐拉定理得名于瑞士數(shù)學(xué)家萊昂哈德·歐拉,該定理被認為是數(shù)學(xué)世界中最美妙的定理之一。歐拉定理實際上是費馬小定理的推廣。此外還有平面幾何中的歐拉定理、多面體歐拉定理(在一凸多面體中,頂點數(shù)-棱邊數(shù)+面數(shù)=2)。西方經(jīng)濟學(xué)中歐拉定理又稱為產(chǎn)量分配凈盡定理,指在完全競爭的條件下,假設(shè)長期中規(guī)模收益不變,則全部產(chǎn)品正好足夠分配給各個要素。









