萬紅坡,朱 麗
(解放軍91336部隊,秦皇島 066001)
?
混合加密算法在分布式模擬訓練中的應用
萬紅坡,朱麗
(解放軍91336部隊,秦皇島 066001)
摘要:為了提高分布式模擬訓練數據的安全保密性,提出了一種混合加密的算法,通過對稱加密算法對模擬訓練數據進行加密,通過非對稱算法對對稱加密密鑰進行加密,實現了分布式模擬訓練的高可靠性和高保密性,并通過某分布式模擬訓練系統的實際使用進行驗證。結果表明此算法大大提高了訓練數據的安全性,為模擬訓練數據的安全使用奠定了堅實基礎。
關鍵詞:混合加密算法;分布式模擬訓練;訓練數據
0引言
分布式模擬訓練能夠將不同地域的多個用戶通過網絡集成在一起進行模擬練習,提高用戶的技能水平,因此分布式模擬訓練模式越來越常態化,訓練需求也在不斷增多。但是,模擬訓練數據具有信息量大、保密要求高的特點,不能隨意傳播和擴散。因此,對模擬訓練數據的安全傳播和管理問題非常重要。文獻[1]采用高級加密標準(AES)與Morii-Kasahara算法實現混合加密,適合于移動終端的小數據使用,對占用大量內存的大數據加解密很難適應;文獻[2]采用SHA1和RSA發展了一種改進型的加解密策略,但是安全性不高。
為了解決這個難題,本文提出了一種混合加密的算法,通過對稱算法(AES加密)對訓練數據進行加密,通過非對稱算法(橢圓曲線加密算法(ECC)加密)對對稱算法密鑰進行加密,并將加密后的數據通過訓練網絡傳輸至用戶端進行解密和使用。此方法能夠保證訓練數據只有唯一的用戶端可以解密和使用,大大減少了訓練資源傳播和擴散的幾率,為分布式的模擬訓練安全提供了保障。
1混合加密技術
對稱加密算法,又叫單鑰加密算法、密鑰加密算法、經典密碼算法或傳統密碼算法。對稱加密算法中明文的加密和相應密文的解密使用相同或相互容易導出的密鑰。此種加密算法的優點是算法實現效率高、速度快,缺點是多用戶的密鑰管理過于復雜。
現有的對稱加密算法有數據加密標準(DES)、國際數據加密算法(IDEA)、AES加密算法等,其中AES加密法作為新一代的數據加密標準匯聚了強安全性、高性能、高效率、易用和靈活等優點,在無線網絡、航空航天航海等領域得到了廣泛應用。AES有3種密鑰長度:128 bit、192 bit和256 bit。和上一代加密算法DES相比,AES的128 bit密鑰比DES的64 bit密鑰強1 000多倍。AES加密算法是循環加密方法,即在給定密鑰A(Nk位)和加密輪數(Nr輪)的情況下,通過“密鑰擴展”方法將密鑰位數擴展為Nb(Nr+1)位(其中Nb為加密區塊大小),并按照Nr輪對加密區塊進行循環加密。其加密過程如圖1所示。

圖1 AES加密和解密示意圖
非對稱加密算法,又叫雙鑰加密算法、公鑰加密算法或現代加密算法。此算法的加密和解密密鑰不相同,并且互不依賴,保證了密鑰的更高安全性。此種加密算法的優點是不必管理大量的用戶密鑰,僅僅在通信時臨時商定即可;缺點是算法實現效率低、速度慢以及對于某些復雜的數學難題過分依賴。
現有的非對稱加密算法有RSA、數字簽名算法(DSA)和ECC等,其中ECC加密算法[3-5]基于橢圓曲線上的離散對數問題的求解,即給定素數P和橢圓曲線Q,計算:
Q=kP
(1)
式中:k為已知P、Q的情況下求出小于P的正整數。
其加/解密流程如圖2所示。

圖2 ECC加密和解密示意圖
2混合加密算法設計
為滿足模擬訓練數據發送量大、實時性高等要求,本文采用AES加密訓練數據、ECC公鑰對AES密碼進行加密的方式實現,同時將加密密碼和加密訓練數據通過訓練網發送至訓練端;解密過程正好相反,通過ECC私鑰解密得到AES密碼,并通過AES解密獲得最終訓練數據。
2.1.1實時性分析
由于AES加密采用循環加密的方式,因此,加/解密與每一輪運算和輪數有關。在本文設計時,采用256bit密鑰,分別對10MB、1MB、100kB數據進行加/解密,得到的結果如表1所示。
對于ECC加密,其時間耗費比較長的方面,例如計算橢圓曲線參數,以及生成隨機素數、基點、階、公鑰,私鑰都是在模擬訓練前完成的。其加密和解密用時是非常短的。對于100kB、10kB、1kB的數據,通過ECC加密和解密,得到的結果如表2所示。

表1 256 bit密碼下的加/解密用時比對

表2 ECC加/解密用時比對
通過時間比對,可以看出通過混合加密方法對訓練數據進行處理,滿足實時性要求。
2.1.2可靠性分析
由于混合加密算法是在分布式模擬訓練中使用,因此要保證訓練數據能夠可靠加密。本文分別采用10 MB數據、1 MB數據、100 kB數據,AES密鑰256 bit,進行20次混合加/解密,得到的結果如表3所示。

表3 多次加/解密比對
在訓練前,首先客戶端要向服務器進行注冊,注冊的內容包含客戶端身份認證信息,以及ECC加密的各項信息(橢圓方程Ep(a,b)和公鑰K,基點G),通過認證后服務器對注冊內容進行保存。用戶注冊流程圖如圖3所示。

圖3 用戶注冊流程圖
訓練開始后,服務器隨機產生一組AES密鑰,在獲取一條訓練信息后,通過AES加密訓練信息,然后通過ECC加密AES密鑰,完成后通過網絡實時發送到客戶端,供客戶端進行訓練使用。訓練數據加密流程圖如圖4所示。

圖4 訓練數據加密流程圖
客戶端在獲取數據后,通過ECC解密獲得AES密鑰,然后對訓練數據進行解密,獲得訓練數據。訓練數據解密流程圖如圖5所示。

圖5 訓練數據解密流程圖
3混合加密算法實現
下面給出基于AES和ECC加/解密的算法實現。首先,定義一些主要的變量,包含ECC算法的橢圓方程參數a,b、隨機素數p、基點G、階m、公鑰K,私鑰k,以及AES加密的密鑰AESKey,并建立ECC算法類ECCCode和AES算法類AESCode。下面主要給出基于AES和ECC混合加密的代碼(用戶注冊、訓練數據網絡發送和接收的代碼從略):
inta,b;// 橢圓方程參數
intp;// 素數
CPointG;// 基點
intm;// 階
PointK;// 公鑰
intk;// 私鑰
char*AESkey// AES隨機密鑰
BOOL Encode(char *chtext, int count)
{
//第一步,創建橢圓函數
ECCCode ecc;
ecc.Elliptic_Curve(a,b,p,2);//其中2為素數p的位數。
//第二步,計算基點和階
ecc.BasePoint(a, b, p, G, m);
//第三步,計算公鑰和私鑰
ecc.SetKey(a,b,p,G,m,k,K);
//第四步,產生AES隨機密鑰
AESCode aes;
aes.CreateCode(AESkey);
//第五步,產生AES隨機密鑰
aes.CreateCode(AESkey);
//第六步,AES加密數據
aes.EnCrypt(AESkey,chtext,count);
//第七步,加密AES密鑰
ecc.Sign( a, b, p, AESkey, m, K)
}
BOOL Decode(char *chtext, int count)
{
//第一步,解密AES密鑰
ECCCode ecc;
ecc.Unsign( a, b, p, AESkey, m, k)
//第二步,解密數據
AESCode aes;
aes.DeCrypt(AESkey,chtext,count);
}
4系統驗證
在某批模擬訓練中,通過本文的混合加密算法將訓練數據進行整合,首先客戶端進行注冊,獲得ECC加密所需的各項信息。用戶注冊示意圖如圖6所示。

圖6 用戶注冊示意圖
注冊完成后,選擇一個用戶,并按照訓練的進度,將訓練數據發送給此客戶,數據加密結果如圖7所示。

圖7 數據加密示意圖
如果客戶端接收正常,并能夠解密,則得到的結果如圖8所示。

圖8 客戶端正確解密示意圖
若其他客戶接收后,解密不能進行,得到的結果如圖9所示。

圖9 客戶端非正常解密示意圖
通過使用驗證表明,本系統整合的數據僅能支持唯一的客戶端使用,保證了數據使用的唯一性。
5結束語
本文通過設計混合加密算法,對模擬訓練中使用的訓練資源進行了整合,并通過實際的使用對算法進行了驗證。驗證結果表明,通過與訓練支撐系統配合使用的方式,強化了訓練數據的安全性,在保證部隊訓練的同時,大大減少了訓練資源傳播和擴散的幾率,為復雜電磁環境下的仿真訓練安全提供了保障。
參考文獻
[1]孫國軍,閆茂德,王葳,等.基于C/S結構的公安綜合移動警務系統的混合加密方案[J].計算機測量與控制,2007(12):1817-1819.
[2]江兵,辛元雪,孫前慶.空間信息傳輸的改進式混合加密策略[J].計算機工程與設計,2012(9):3313- 3318.
[3]劉洋.基于AES算法和橢圓曲線簽名的混合加密方案的研究和實現[D].武漢:華中科技大學,2012.
[4]楊超,高海燕.橢圓曲線密碼體制理論與其安全性研究[J].電腦知識與技術,2006(17):183-185.
[5]孫躍剛.橢圓曲線密碼體制中若干問題的研究[D].長春:吉林大學,2009.
Application of Hybrid Encryption Algorithm to
Distributed Simulation Training
WAN Hong-po,ZHU Li
(Unit 91336 of PLA,Qinhuangdao 066001,China)
Abstract:In order to improve the security of distributed simulation training data,this paper puts forward a hybrid encryption algorithm,which performs encryption to the simulation training data by using symmetric encryption algorithm,performs encryption to the symmetrical encrypted key by using asymmetric encryption algorithm,realizes the high reliability and security of distributed simulation training,validates the actual operation through a certain distributed simulation training system.Results show that the algorithm can greatly improve the security of training data,and lay a solid foundation for the safe application of simulative training data.
Key words:hybrid encryption algorithm;distributed simulation training;training data
收稿日期:2015-07-21
DOI:10.16426/j.cnki.jcdzdk.2015.05.016
中圖分類號:TP391.9
文獻標識碼:A
文章編號:CN32-1413(2015)05-0073-04