劉閆鋒
高校分布式信息管理系統加密優化探析
劉閆鋒
分布式信息管理系統在高校管理中被廣泛應用,該系統對傳輸數據的高效安全有很高要求。本文通過對原有的加密算法進行優化,構造出較高運算效率的混合加密體系,滿足消息認證與密鑰管理。實驗表明,混合加密體系具有可靠的可行性與安全性,效率也明顯有所提升。
分布式 信息管理 混合加密
科研項目:2015年陜西省教育廳專項科研計劃項目(2015KJ1178)。
信息技術的快速發展,分布式信息管理系統因其投入小的優點被人們大量應用。分布式信息管理系統需要面臨大量的數據交互。對數據進行加密是保障信息安全的主要手段,加密的兩個種類為對稱加密和非對稱加密,對稱加密算法具有效率高、算法簡單、系統開銷小、適合大量數據加密的特點,代表算法有3DES算法、IDEA算法、RC5算法等。非對稱加密算法具有分解安全性高、易于實現、能夠進行身份認證等特點,代表算法有RSA算法、Elgamal算法等。
目前多校區高校財務管理信息系統基本采用對稱加密算法進行數據加密,其適合大數據量的數據加密與傳輸、具有速度快、安全性能高的特點。3DES算法已發展成熟,具有易實現的優點,然而在多消息傳輸中安全性不能保證,造成大數據傳輸效率低下的一個主要原因是簽名認證消耗時間太多。解決系統數據加密面臨的問題,一般采用3DES算法與RSA算法結合的混合加密算法方式。
1.兩種算法的優缺點
(1)密鑰管理方面,3DEES算法只有不斷更新密鑰才能保證數據的安全,密鑰生命周期有限,RSA算法在密鑰管理方面明顯優于3DES算法。3DES算法是對稱加密算法,鑒于對稱加密算法的特點,容易在密鑰分配傳遞中泄露密鑰,具有密鑰管理難度高、更換困難、風險大的缺點。RSA算法只需要保證私鑰的安全,對加密密鑰更新容易。
(2)加解密效率方面,3DES算法適用于大量快速的加解密運算,可以通過計算機編程快速實現替換和位移。RSA算法使用高階模冪運算進行加解密過程,比較耗時,不適合大量多次數據加密。
(3)身份認證和消息驗證方面,RSA算法可以非常容易地實現身份驗證和數字簽名。3DES算法無法使用一個密鑰進行數字簽名。
2.混合加密算法
本文在分析3DES和RSA兩種算法優缺點的基礎上,對RSA算法的加解密運算進行優化,提出了一種既能夠快速加解密也能進行身份驗證和數字簽名的混合加密體制。其實現過程如下:
(1)信息(明文)采用DES密鑰加密;
(2)使用RSA加密前面的DES密鑰信息;
(3)最終將混合信息進行傳遞;
(4)而接收方接收到信息后;
(5)用RSA解密DES密鑰信息;
(6)再用RSA解密獲取到的密鑰信息解密密文信息;
(7)最終就可以得到我們要的信息(明文)。
1.RSA算法優化
本文從快速指數法和孫子定理兩方面對RSA算法進行優化:
(1)用快速指數法優化RSA算法:冪計算在RSA系統中的利用率極高,分別涉及索性檢測、加密、解密和乘法逆元。作為RSA算法的關鍵部分,耗時問題一直制約著它的廣泛應用。我們使用快速指數算法解決優化冪計算問題。下面給出一個計算Xrmodn的快速算法:

②如果b=0,則輸出結果c,結束;
③如果bmod2≠0,則轉到第5)步;


(2)孫子定理優化算法:為了追求效率我們不能只選擇小數值,運用孫子定理(中國剩余定理)加快運算速度。中國剩余定理(是數論中最有用的定理之一)可以對兩兩互素的整數取模得到一組剩余類數,通過這組剩余類數來重構某一范圍內的整數。
在數據加密系統中,如何提高求模的計算速度,當私鑰d與n同量級時,解密的速度比較慢??梢岳弥袊S喽ɡ斫档推鋽盗考?,予以簡化計算過程。
剩余定理:設m1,m2,mk…是兩兩互素的正整數,則X= aimodmi,i=1,2…k的唯一正整數解為 x=a1M1y1+a2M2y2+akMkyk(modM)

孫子定理廣泛應用在RSA算法加解密過程中,此方法同樣需要素數p和q,用(d,p,q)代替密鑰生成算法要輸出的私有密鑰(d,n)。利用孫子定理計算,解密模數(密文、密鑰和明文數據)比原來的要小。
(3)大素數生成與檢測:大素數的產生使用隨機遞增搜索法,現有的文獻已經證明隨機遞增搜索次數要小于隨機搜索法。我們在找到一個素數之前,要測試大約lnN個整數,由素數定理可知,在N附近的一個素數平均隔lnN個整數。實際上只要測試大約(lnN)/2個整數,這里采取了直接拒絕偶數做法。我們可以在進行索性檢測前進行排除偶數預處理,這樣可以提升檢測效率,使用小素數整除法進一步篩選,然后檢測偽素數的索性。通過多次測試可以使得一個整數接近素數的概率達到1.0??雌饋矸爆嵉倪^程,其實也不會繁瑣,執行這個過程是為了得到一對新的密鑰。
2.數字簽名過程
RSA算法也用于身份認證與數字簽名方面,它的功能不再僅僅是加解密。使用散列函數作為驗證碼可以增加效率、減少簽名時間、提高保密度,通過散列函數可以生成一個散列值作為消息驗證碼。簽名過程如下:
(1)發送方將M通過散列函數進行計算,產生一個散列值h,h=H(M),H(M)是定長的散列值,M是需要傳輸的消息;
(2)發送方用私鑰加密h,產生數字簽名S=hdmodn;
(3)接收方將發送方消息M和簽名S一同接收;
(4)接收方用公鑰解密簽名S得到h,用H計算得到h′,假如h′=h,則說明消息沒有被篡改,消息正確;如果h′≠h,說明消息來源出現問題。這樣避免了在消息傳輸過程中消息來源問題和中間人篡改消息的情況發生。
實驗測試環境:i7-6700CP U、8G內存,,VisualStudio2010開發工具,Windows7操作系統。
1.RSA簽名效率與加密速率測試
我們以512位素數為例,測試大量素數生成效率,如表1所示經典算法與改進算法的執行效率。實驗表明,隨著素數位數的增加,實驗消耗時間的增加量明顯有所改善,足以說明通過縮短素數時間提高RSA簽名效率是可行的。

表1 經典算法與改進算法生成大素數時間對比表
我們使用生成1024位素數測試RSA簽名速率,并和傳統RSA簽名進行對比。如表2所示,改進的簽名計算過程效率提升非常明顯,可以大幅度提高RSA加解密速度,可以有效地應用在大數據傳輸的消息認證中。
我們使用生成素數對RSA簽名速率進行測試,使用傳統RSA與改進RSA簽名進行對比。如表2所示,改進的簽名計算可以提高加解密速度,簽名效率提升非常明顯,在大數據傳輸的消息認證中可以有效地應用RSA簽名。
2.安全性分析
密鑰管理與消息認證是混合加密體系主要的安全風險所在?;谒惴ǖ陌踩允敲荑€管理的主要風險,RSA算法在模數夠大時安全性才有保證。進行密鑰更換和分配必須在密鑰管理方法體系下嚴格執行。消息認證方面,直接使用散列函數計算散列值,避免了人為篡改、中間人攻擊和偽造簽名的風險。

表2 改進簽名與傳統RSA簽名時間對比表
本文以多校區財務管理信息系統為例,面對密鑰管理安全和系統傳輸信息的需要,綜合分析了非對稱加密算法(RSA)和對稱加密算法(3D ES)的不同。結合RSA和3D ES兩個算法的優缺點,對其功能進行了研究分析,優化部分計算過程,研究混合加密體系,提高了系統運行安全性,解決系統消息認證與密鑰管理問題,同時提出一種解決分布式管理系統數據安全問題的思路。
在后續的研究中,將會繼續優化加密過程以提高運算速度,并將混合加密體系推廣到其他分布式信息管理系統中,在消息認證與身份認證方面作深入研究。
[1]張寶華:《RSA算法的安全及有效實現》,《中山大學學報》(自然科學版)2014年第30卷第8期,第27-31頁。
[2]石井:《RSA數據加密算法的分析與改進》,《濟南大學學報》(自然科學版)2013年第27卷第3期:第283-286頁。
[3]賀克英:《改進的RSA算法實現研究》,成都電子科技大學,2014。
[4]費曉飛:《CRT-RSA算法安全性分析》,《微計算機信息》2013年第25卷第3期,第54-55頁。
[5]雷文:《一種大素數快速生成算法設計與改進》,《四川理工學院學報》(自然科學版)2014年第24卷第3期,第313-316頁。
[6]胡馳:《AES與RSA算法優化及其混合加密體制》,《計算機應用研究》2014年第31卷第4期,第1189-1194頁。
作者單位:陜西學前師范學院 陜西西安