組合數據加密技術在資金管理系統(tǒng)中的應用
隨著Internet和局域網的迅速發(fā)展和廣泛應用,信息高速公路的建立,正在對科學技術、經濟和文化帶來巨大的推動和影響,給我們帶來了極大的利益,同時也增加了網絡安全的脆弱性和復雜性,資源共享和分布增加了網絡受威脅和攻擊的可能性。針對當今計算機網絡在安全性方面的缺陷,人們提出了各種的方法來彌補,那么今天,我們就給大家介紹一下DES、RSA和哈希加密算法相結合的組合數據加密技術在資金管理系統(tǒng)中的應用。
一、DES、RSA加密算法
1、DES加密算法的基本思想
DES綜合運用了量換、代替、代數多種加密技術,它是一種分組密碼,面向二進制設計,用56位密鑰加密64位明文,得到64位密文。DES加密算法的加密過程如下:
(1)64位明文經過初始置換IP,將數據重新排列并分成左右兩半,左邊32位構成Lo,右邊32位構成R0;
(2)56位密鑰經過變換產生16個子密鑰:K1,K2,…,K16,分別供第一次加密迭代,第二次加密迭代,…,第十六次加密迭代使用;
(3)由加密函數f實現子密鑰K1對R0的加密,結果為32位數據組f(R0,K1),f(Ro,K1)再與Lo模2相加,又得到一個32位的數據組Lo+f (Ro,K1),以Lo+(Ro,K1)作為第二次加密迭代的Ri,以Ro作為第二次加密迭代的Li,第一次加密迭代過程結束;
(4)第二次加密迭代至十六次加密迭代分別用子密鑰K2,…,K16進行,其過程與第一次加密迭代相同;
(5)第十六次加密迭代結束后,產生一個64位數據組,以其左邊32位作為R16,以其右邊32位作為L16,此結果再經過逆初始置換IP-1,將數據重新排列,得到64位密文,至此加密過程全部結束。
2、RSA加密算法的基本思想
RSA加密算法是公開密鑰體制的代表,RSA公開密鑰加密體制系統(tǒng)使用兩個密鑰:加密密鑰KE和解密密鑰KD。 KE可以公開而用于公開域中;KD需要保持秘密,只能用于私用域中,每個人都可以用另一個使用者的加密密鑰來加密數據文件,但只有具有解密密鑰的使用者才能解密數據文件。RSA加密算法的安全性是基于難以分解大素數因子的計算復雜性理論。
(1)RSA加密體制用戶的公開加密變換KE與解密變換KD的生成
a、隨機選兩個100位以上的十進制素數P與Q,令N=PQ。令λ(N)為P-1與Q-1的最小公倍數。隨機地選兩正整數e與d,使e、d與入(N)互素,且ed≡1(modλ(N))。
b、公布N,e作為E,記作E= [N,e]。
c、保密P,Q,d,λ(N)作為D,記作: D=[P,Q,d A(N)]。
(2)RSA體制加密過程
RSA體制為分組加密體制,相對于用戶i的明文字母表與密文字母表均取Zni={0,1,…,Ni - 1}。
加密過程:設用戶j欲將明文x加密后傳給用戶i,則用戶j實施下列各步:
a、在公開鑰數據庫中查得用戶i的公開鑰:B=[Ni,ei]。
b、將X分組為X=X1 X2...Xr,Xa∈ZNi,a=1,2,…,r。
c、對每組作加密變換,即對a=1,2,…,r作: ya= Ei(xa)=Xaei(mod Ni)。
d、將密文y=y1y2…yr傳給用戶i。
解密過程:用戶i收到密文y= yl y2…yr后,用保密的解密密鑰Di先對每一分組密文作解密變換,即對a=1,2,…,r作X/a=Di (ya)=yadi (mod Ni),接著合并分組Xta得x’=Xt1Xt2…Xtr,這就是用戶j傳來的明文:x= X1 X2...Xr,即x=x’。
(3)用RSA體制進行“數字簽名”
RSA滿足在解密之后再對其進行加密也能恢復原有信息x,亦即對D域中的所有x,有:E(D(x)) =X;因此可以用于數字簽名。
二、 DES加密算法與RSA加密算法的比較
1、安全性與保密性
DES加密算法與RSA加密算法的安全性都很高,至今還沒有有效的方法能在短時間內破譯它們。
2、加密、解密速度
由于DES加密算法的加密、解密處理是比較簡單的比特處理組合形式,所以,利用硬件或軟件可實現高速處理。而RSA加密算法則需要進行諸如200位整數的乘冪與求模等多倍字長運算,因此,處理時間比DES加密算法要長得多,是DES加密算法速度的十分之一以下,所以只適用于少量數據文件加密和對稱密鑰的傳遞。
3、密鑰生成
DES加密算法僅需要產生56比特的隨機序列,而RSA方式則必須產生兩個100位以上十進制的素數,然后計算出滿足特殊關系的一對密鑰。
4、密鑰的分配和管理
DES加密算法必須在通信前對密鑰進行秘密分配,密鑰傳遞方式不安全,容易被截獲,而且密鑰的定期更換也很困難不能適應大范圍應用;而RSA加密算法可采用公開形式分配加密密鑰。因此,RSA加密算法比DES加密算法更加優(yōu)越。
三、哈希算法
哈希算法并不是加密算法,但卻能形成信息的數字“指紋”,主要用途是確保數據沒有被篡改或變化過,以保證數據的完整性,哈希算法有三個特性:
1、能處理任意大小的信息,并生成固定長度的信息摘要;
2、具有不可預見性,信息摘要的大小與原始信息的大小沒有任何聯系,原信息的每一個微小變化都會對信息摘要產生很大的影響;
3、具有不可逆性,沒有辦法通過信息摘要直接恢復原信息。
四、組合加密技術在資金管理系統(tǒng)中的應用
1、一種將DES加密算法、RSA加密算法和哈希算法進行組合的加密技術
目前,網絡數據傳輸的快捷、方便,使得資金管理系統(tǒng)越來越網絡化,通過網絡在異地之間傳遞資金信息日益頻繁.在傳輸過程中,要解決的關鍵問題就是如何保證資金信息的安全以及如何防止接收方和發(fā)送方對資金信息的發(fā)送和接受行為予以否認。
系統(tǒng)簡介:某項資金管理系統(tǒng),系統(tǒng)為星型結構,如圖1。

系統(tǒng)分為政府端系統(tǒng)(1個)和銀行端系統(tǒng)(多個)兩部分,資金三家銀行在柜面繳納,銀行收款后,銀行端系統(tǒng)發(fā)送加密電子報文給中心銀行,中心銀行將銀行端電子報文解密,入帳。
根據上面對兩種加密算法的分析,可提出一種基于DES加密算法、RSA加密算法和哈希算法的組合加密技術,并應用于此模型。
(1)加密過程
a、中心銀行產生用于DES加密的密鑰K,并從密碼服務器中獲得工商銀行(或建設銀行或農業(yè)銀行)的RSA加密密鑰,然后用工商銀行(或建設銀行或農業(yè)銀行)的RSA加密密鑰加密K形成密文CK。
b、中心銀行通過哈希算法,將所發(fā)送的資金信息形成信息摘要。
c、中心銀行用自己的RSA解密密碼和工商銀行(或建設銀行或農業(yè)銀行)的RSA加密密鑰對上述簽名信息進行數字簽名。
d、中心銀行用DES密鑰K對數據明文和簽名信息加密,然后連同CK-起發(fā)往工商銀行(或建設銀行或農業(yè)銀行)。
(2)解密過程
a、工商銀行(或建設銀行或農業(yè)銀行)用保密的RSA解密密鑰從傳來的密文中獲取DES密鑰K,然后用K解密數據明文和簽名信息。
b、工商銀行(或建設銀行或農業(yè)銀行)用中心銀行的加密密鑰解開數字簽名,得到信息摘要。
c、此時,工商銀行(或建設銀行或農業(yè)銀行)為了證實他所收到的信息是來自中心銀行,他還必須進行以下步驟:對得到的明文信息進行哈希運算,形成新的信息摘要;比較新信息摘要和原信息摘要。如果兩者一致,說明收到的信息確實來自中心銀行,工商銀行(或建設銀行或農業(yè)銀行)將數據明文發(fā)往中心銀行。
d、工商銀行(或建設銀行或農業(yè)銀行)形成自己的簽名后發(fā)送回中心銀行。
e、中心銀行和工商銀行(或建設銀行或農業(yè)銀行)銷去DES密鑰K。
2、組合加密技術的優(yōu)點
由于DES和RSA的混合加密方式把兩者組合起來使用,所以具有如下優(yōu)點:
a、由于用RSA方式加密和傳送用于數據通信的DES方式的密鑰,所以不需要通信前進行密鑰的秘密發(fā)送。
b、密鑰的保密管理與RSA方式情形相同,只對一個解密密鑰進行保密管理就行了。
c、加密、解密的處理速度大體上與DES方式相同,也就是說,用耗費時間的RSA方式處理的僅僅是DES方式的密鑰。
d、由于利用RSA方式發(fā)送密鑰,所以也可以利用它來進行數字簽名。
3、實現中涉及的幾個關鍵問題
DES和RSA的混合加密方式兼有加密、解密處理速度快的常規(guī)密碼體制的優(yōu)點和不需要進行密鑰秘密分配且保密管理的密鑰量也較少的公開密鑰密碼體制的優(yōu)點,從而構成了一種理想的密碼方式。有了一個好的數據保護方式后,要想實際的系統(tǒng)能夠達到它的預期效果,在系統(tǒng)的使用和實際實現上也必須有一套完整的方法,根據系統(tǒng)的特點和要求,在設計時考慮到如下問題。
(1)在密鑰的分配方面
a、密鑰的申請
申請“數據加密密鑰’傭以進行數據通信的功能,為了保證數據安全性,每次數據傳輸都使用不同的DES密鑰的方法。
b、密鑰的登記
通信的收方用來登記發(fā)方送來的“數據加密密鑰”的功能。
(2)在密鑰的驗證方面
為了保證“數據加密密鑰’’在發(fā)方和收方之間的正確傳送,我們在發(fā)送“數據文件加密密鑰”之后還要對該密鑰進行檢驗,以保證收方確實收到了該“數據文件加密密鑰’’。
a、申請驗證數據
申請用于驗證“數據加密密鑰”的數據的功能。
b、申請驗證應答數據
申請對送來的驗證數據的應答數據的功能。
c、驗證數據的檢查
將送來的驗證應答數據與驗證數據進行比較檢查,以確認是否相同的功能。
(3)密鑰的清除
在成功地進行數據傳輸后,為了防止“數據文件加密密鑰”的泄露,通信的雙方需要在通信結束后清除內存中的“數據加密密鑰’’。
(4)數據文件加密、解密
a、數據文件加密
通信的雙方利用DES加密算法和RSA加密算法對數據文件或者“數據文件加密密鑰’,進行數據文件加密的功能。
b、數據文件解密
通信的雙方利用DES加密算法和RSA加密算法對數據或者“數據文件加密密鑰”進行文件解密的功能。
(5)數字簽名
a、數據的簽名:為了識別通信的發(fā)方,我們還提供了通過RSA加密算法進行數字簽名的功能。
b、簽名的解釋:收方對送來的簽名數據進行解釋的功能。
(6)文電校驗碼(MAC)
a、在數據上添加MAC
我們提供了添加MAC碼于消息的尾部的方法來防止數據被人為地篡改。
b、對MAC進行解釋
對添加于消息尾部的MAC碼進行檢驗,以發(fā)現消息是否被篡改的功能。
小知識MAC
MAC(Macintosh,蘋果電腦)區(qū)別于裝配有微軟Windows系統(tǒng)的電腦(PC),需要說明的是這里的PC 并非是Personal Computer(個人計算機)的簡稱,而是來源于最初由IBM銷售的PC-DOS系統(tǒng)(Windows的前身),后來所有裝配Windows系統(tǒng)的電腦被稱為PC,而蘋果電腦因裝配自家的Mac OS系統(tǒng),而稱為MAC。










