組合數(shù)據(jù)加密技術(shù)在資金管理系統(tǒng)中的應(yīng)用

隨著Internet和局域網(wǎng)的迅速發(fā)展和廣泛應(yīng)用,信息高速公路的建立,正在對科學技術(shù)、經(jīng)濟和文化帶來巨大的推動和影響,給我們帶來了極大的利益,同時也增加了網(wǎng)絡(luò)安全的脆弱性和復(fù)雜性,資源共享和分布增加了網(wǎng)絡(luò)受威脅和攻擊的可能性。針對當今計算機網(wǎng)絡(luò)在安全性方面的缺陷,人們提出了各種的方法來彌補,那么今天,我們就給大家介紹一下DES、RSA和哈希加密算法相結(jié)合的組合數(shù)據(jù)加密技術(shù)在資金管理系統(tǒng)中的應(yīng)用。

一、DES、RSA加密算法

1、DES加密算法的基本思想

DES綜合運用了量換、代替、代數(shù)多種加密技術(shù),它是一種分組密碼,面向二進制設(shè)計,用56位密鑰加密64位明文,得到64位密文。DES加密算法的加密過程如下:

(1)64位明文經(jīng)過初始置換IP,將數(shù)據(jù)重新排列并分成左右兩半,左邊32位構(gòu)成Lo,右邊32位構(gòu)成R0;

(2)56位密鑰經(jīng)過變換產(chǎn)生16個子密鑰:K1,K2,…,K16,分別供第一次加密迭代,第二次加密迭代,…,第十六次加密迭代使用;

(3)由加密函數(shù)f實現(xiàn)子密鑰K1對R0的加密,結(jié)果為32位數(shù)據(jù)組f(R0,K1),f(Ro,K1)再與Lo模2相加,又得到一個32位的數(shù)據(jù)組Lo+f (Ro,K1),以Lo+(Ro,K1)作為第二次加密迭代的Ri,以Ro作為第二次加密迭代的Li,第一次加密迭代過程結(jié)束;

(4)第二次加密迭代至十六次加密迭代分別用子密鑰K2,…,K16進行,其過程與第一次加密迭代相同;

(5)第十六次加密迭代結(jié)束后,產(chǎn)生一個64位數(shù)據(jù)組,以其左邊32位作為R16,以其右邊32位作為L16,此結(jié)果再經(jīng)過逆初始置換IP-1,將數(shù)據(jù)重新排列,得到64位密文,至此加密過程全部結(jié)束。

2、RSA加密算法的基本思想

RSA加密算法是公開密鑰體制的代表,RSA公開密鑰加密體制系統(tǒng)使用兩個密鑰:加密密鑰KE和解密密鑰KD。 KE可以公開而用于公開域中;KD需要保持秘密,只能用于私用域中,每個人都可以用另一個使用者的加密密鑰來加密數(shù)據(jù)文件,但只有具有解密密鑰的使用者才能解密數(shù)據(jù)文件。RSA加密算法的安全性是基于難以分解大素數(shù)因子的計算復(fù)雜性理論。

(1)RSA加密體制用戶的公開加密變換KE與解密變換KD的生成

a、隨機選兩個100位以上的十進制素數(shù)P與Q,令N=PQ。令λ(N)為P-1與Q-1的最小公倍數(shù)。隨機地選兩正整數(shù)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}。

加密過程:設(shè)用戶j欲將明文x加密后傳給用戶i,則用戶j實施下列各步:

a、在公開鑰數(shù)據(jù)庫中查得用戶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體制進行“數(shù)字簽名”

RSA滿足在解密之后再對其進行加密也能恢復(fù)原有信息x,亦即對D域中的所有x,有:E(D(x)) =X;因此可以用于數(shù)字簽名。

二、 DES加密算法與RSA加密算法的比較

1、安全性與保密性

DES加密算法與RSA加密算法的安全性都很高,至今還沒有有效的方法能在短時間內(nèi)破譯它們。

2、加密、解密速度

由于DES加密算法的加密、解密處理是比較簡單的比特處理組合形式,所以,利用硬件或軟件可實現(xiàn)高速處理。而RSA加密算法則需要進行諸如200位整數(shù)的乘冪與求模等多倍字長運算,因此,處理時間比DES加密算法要長得多,是DES加密算法速度的十分之一以下,所以只適用于少量數(shù)據(jù)文件加密和對稱密鑰的傳遞。

3、密鑰生成

DES加密算法僅需要產(chǎn)生56比特的隨機序列,而RSA方式則必須產(chǎn)生兩個100位以上十進制的素數(shù),然后計算出滿足特殊關(guān)系的一對密鑰。

4、密鑰的分配和管理

DES加密算法必須在通信前對密鑰進行秘密分配,密鑰傳遞方式不安全,容易被截獲,而且密鑰的定期更換也很困難不能適應(yīng)大范圍應(yīng)用;而RSA加密算法可采用公開形式分配加密密鑰。因此,RSA加密算法比DES加密算法更加優(yōu)越。

三、哈希算法

哈希算法并不是加密算法,但卻能形成信息的數(shù)字“指紋”,主要用途是確保數(shù)據(jù)沒有被篡改或變化過,以保證數(shù)據(jù)的完整性,哈希算法有三個特性:

1、能處理任意大小的信息,并生成固定長度的信息摘要;

2、具有不可預(yù)見性,信息摘要的大小與原始信息的大小沒有任何聯(lián)系,原信息的每一個微小變化都會對信息摘要產(chǎn)生很大的影響;

3、具有不可逆性,沒有辦法通過信息摘要直接恢復(fù)原信息。

四、組合加密技術(shù)在資金管理系統(tǒng)中的應(yīng)用

1、一種將DES加密算法、RSA加密算法和哈希算法進行組合的加密技術(shù)

目前,網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)目旖?、方便,使得資金管理系統(tǒng)越來越網(wǎng)絡(luò)化,通過網(wǎng)絡(luò)在異地之間傳遞資金信息日益頻繁.在傳輸過程中,要解決的關(guān)鍵問題就是如何保證資金信息的安全以及如何防止接收方和發(fā)送方對資金信息的發(fā)送和接受行為予以否認。

系統(tǒng)簡介:某項資金管理系統(tǒng),系統(tǒng)為星型結(jié)構(gòu),如圖1。

組合數(shù)據(jù)加密技術(shù)在資金管理系統(tǒng)中的應(yīng)用

系統(tǒng)分為政府端系統(tǒng)(1個)和銀行端系統(tǒng)(多個)兩部分,資金三家銀行在柜面繳納,銀行收款后,銀行端系統(tǒng)發(fā)送加密電子報文給中心銀行,中心銀行將銀行端電子報文解密,入帳。

根據(jù)上面對兩種加密算法的分析,可提出一種基于DES加密算法、RSA加密算法和哈希算法的組合加密技術(shù),并應(yīng)用于此模型。

(1)加密過程

a、中心銀行產(chǎn)生用于DES加密的密鑰K,并從密碼服務(wù)器中獲得工商銀行(或建設(shè)銀行或農(nóng)業(yè)銀行)的RSA加密密鑰,然后用工商銀行(或建設(shè)銀行或農(nóng)業(yè)銀行)的RSA加密密鑰加密K形成密文CK。

b、中心銀行通過哈希算法,將所發(fā)送的資金信息形成信息摘要。

c、中心銀行用自己的RSA解密密碼和工商銀行(或建設(shè)銀行或農(nóng)業(yè)銀行)的RSA加密密鑰對上述簽名信息進行數(shù)字簽名。

d、中心銀行用DES密鑰K對數(shù)據(jù)明文和簽名信息加密,然后連同CK-起發(fā)往工商銀行(或建設(shè)銀行或農(nóng)業(yè)銀行)。

(2)解密過程

a、工商銀行(或建設(shè)銀行或農(nóng)業(yè)銀行)用保密的RSA解密密鑰從傳來的密文中獲取DES密鑰K,然后用K解密數(shù)據(jù)明文和簽名信息。

b、工商銀行(或建設(shè)銀行或農(nóng)業(yè)銀行)用中心銀行的加密密鑰解開數(shù)字簽名,得到信息摘要。

c、此時,工商銀行(或建設(shè)銀行或農(nóng)業(yè)銀行)為了證實他所收到的信息是來自中心銀行,他還必須進行以下步驟:對得到的明文信息進行哈希運算,形成新的信息摘要;比較新信息摘要和原信息摘要。如果兩者一致,說明收到的信息確實來自中心銀行,工商銀行(或建設(shè)銀行或農(nóng)業(yè)銀行)將數(shù)據(jù)明文發(fā)往中心銀行。

d、工商銀行(或建設(shè)銀行或農(nóng)業(yè)銀行)形成自己的簽名后發(fā)送回中心銀行。

e、中心銀行和工商銀行(或建設(shè)銀行或農(nóng)業(yè)銀行)銷去DES密鑰K。

2、組合加密技術(shù)的優(yōu)點

由于DES和RSA的混合加密方式把兩者組合起來使用,所以具有如下優(yōu)點:

a、由于用RSA方式加密和傳送用于數(shù)據(jù)通信的DES方式的密鑰,所以不需要通信前進行密鑰的秘密發(fā)送。

b、密鑰的保密管理與RSA方式情形相同,只對一個解密密鑰進行保密管理就行了。

c、加密、解密的處理速度大體上與DES方式相同,也就是說,用耗費時間的RSA方式處理的僅僅是DES方式的密鑰。

d、由于利用RSA方式發(fā)送密鑰,所以也可以利用它來進行數(shù)字簽名。

3、實現(xiàn)中涉及的幾個關(guān)鍵問題

DES和RSA的混合加密方式兼有加密、解密處理速度快的常規(guī)密碼體制的優(yōu)點和不需要進行密鑰秘密分配且保密管理的密鑰量也較少的公開密鑰密碼體制的優(yōu)點,從而構(gòu)成了一種理想的密碼方式。有了一個好的數(shù)據(jù)保護方式后,要想實際的系統(tǒng)能夠達到它的預(yù)期效果,在系統(tǒng)的使用和實際實現(xiàn)上也必須有一套完整的方法,根據(jù)系統(tǒng)的特點和要求,在設(shè)計時考慮到如下問題。

(1)在密鑰的分配方面

a、密鑰的申請

申請“數(shù)據(jù)加密密鑰’傭以進行數(shù)據(jù)通信的功能,為了保證數(shù)據(jù)安全性,每次數(shù)據(jù)傳輸都使用不同的DES密鑰的方法。

b、密鑰的登記

通信的收方用來登記發(fā)方送來的“數(shù)據(jù)加密密鑰”的功能。

(2)在密鑰的驗證方面

為了保證“數(shù)據(jù)加密密鑰’’在發(fā)方和收方之間的正確傳送,我們在發(fā)送“數(shù)據(jù)文件加密密鑰”之后還要對該密鑰進行檢驗,以保證收方確實收到了該“數(shù)據(jù)文件加密密鑰’’。

a、申請驗證數(shù)據(jù)

申請用于驗證“數(shù)據(jù)加密密鑰”的數(shù)據(jù)的功能。

b、申請驗證應(yīng)答數(shù)據(jù)

申請對送來的驗證數(shù)據(jù)的應(yīng)答數(shù)據(jù)的功能。

c、驗證數(shù)據(jù)的檢查

將送來的驗證應(yīng)答數(shù)據(jù)與驗證數(shù)據(jù)進行比較檢查,以確認是否相同的功能。

(3)密鑰的清除

在成功地進行數(shù)據(jù)傳輸后,為了防止“數(shù)據(jù)文件加密密鑰”的泄露,通信的雙方需要在通信結(jié)束后清除內(nèi)存中的“數(shù)據(jù)加密密鑰’’。

(4)數(shù)據(jù)文件加密、解密

a、數(shù)據(jù)文件加密

通信的雙方利用DES加密算法和RSA加密算法對數(shù)據(jù)文件或者“數(shù)據(jù)文件加密密鑰’,進行數(shù)據(jù)文件加密的功能。

b、數(shù)據(jù)文件解密

通信的雙方利用DES加密算法和RSA加密算法對數(shù)據(jù)或者“數(shù)據(jù)文件加密密鑰”進行文件解密的功能。

(5)數(shù)字簽名

a、數(shù)據(jù)的簽名:為了識別通信的發(fā)方,我們還提供了通過RSA加密算法進行數(shù)字簽名的功能。

b、簽名的解釋:收方對送來的簽名數(shù)據(jù)進行解釋的功能。

(6)文電校驗碼(MAC)

a、在數(shù)據(jù)上添加MAC

我們提供了添加MAC碼于消息的尾部的方法來防止數(shù)據(jù)被人為地篡改。

b、對MAC進行解釋

對添加于消息尾部的MAC碼進行檢驗,以發(fā)現(xiàn)消息是否被篡改的功能。

小知識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。