摘要:由于網絡系統缺乏足夠的安全性,從而阻礙了互聯網絡的發展。本文利用密碼學的方法來解決網絡數據傳輸的安全性問題,一種分組密碼體制“排列碼算法”和公開密鑰密碼體制的代表RSA算法。
關鍵詞:網絡安全;排列碼算法; AES
中圖分類號:F713.36 文獻標識碼:A 文章編號:1006-3315(2008)06-133-01
一、引言
隨著金融電子化和無紙貿易的興起,使得數據在網絡中傳輸的安全性問題日益突出地顯現出來。針對當今計算機網絡在安全性方面的缺陷,人們提出了各種的方法來彌補,如訪問控制系統、防火墻系統等。本文討論的是將排列碼和RSA用于網絡數據保護的問題。
二、排列碼加密算法
排列碼從本質上說是一種分組密碼,它滿足分組密碼的定義:
定義:分組密碼就是一種滿足下列條件的映射E: F2m×SK →F2m :對每個k∈SK,E是從 F2m到F2m的一個置換。
排列碼算法采用排列運算,引入了路徑的概念,形成了多對多映射的分組密碼新概念。排列碼算法與以往任何分組密碼算法的不同點在于它在進行取非運算(即混亂運算)時也采用了路徑加非的概念,從而極大的隱藏了真實密鑰,并具備流密碼的特性。其原理如下圖所示。

三、RSA算法
RSA系統使用兩個密鑰:加密密鑰KE和解密密鑰KD。二者分別用于公開域和私用域。RSA算法的基礎是難以分解的大數素因子。
為了秘密數據通信,一個公開密鑰密碼算法要求必須不能有效地計算出KD (當然,也必須滿足:D(E(X))=X)。除此之外,RSA還滿足在解密之后繼之以加密也能恢復原有信息X,亦即對D域中的所有X,有:E(D(X))=X。利用這個特性可以進行“數字簽名”。由于以RSA算法為代表的公開密鑰密碼體制的提出,使得數字簽名變得比較容易。
四、兩種算法的異同
1.從處理效率看:前者是比較簡單的比特處理形式,容易實現處理的硬件化(如今已經用硬件實現),利用軟件也可實現高速處理。而后者則需要進行多倍字長運算,處理時間比排列碼算法要長得多。
2.在密鑰的分配和管理方面:前者必須對密鑰進行秘密分配,密鑰的定期更換很困難;而后者可采用公開形式分配加密密鑰,并可像更換電話薄那樣更換密鑰。
3.在保密管理的密鑰量方面:前者必須按通信對象保管不同的密鑰,后者只需對自己的密鑰進行保密管理。
總之,排列碼算法具有密碼使用簡便及處理速度等優點;但在密鑰的分配和保密管理方面存在問題;RSA算法則不需要秘密分配密鑰,并且密鑰的安全管理很容易,但缺點是處理速度慢。
五、混合加密方式
為了充分利用排列碼和RSA兩種算法的優點,而同時避免它們的缺點,提出了一種采用排列碼和RSA的混合加密方式。采用這種排列碼和RSA的混合加密方式傳送明文數據P要經過以下幾個步驟:
(1)發方制成密鑰K,并從密鑰服務器中獲取收方公開的RSA方式的加密密鑰KEb;
(2)發方用收方公開的RSA方式的加密密鑰KEb對密鑰K進行加密形成CK;
(3)發方用自己的RSA方式的解密密鑰KDa對簽名信息M(應包括收方自己的身份信息和日期時間)加密形成CM;
(4)發方用排列碼密鑰K對P和CM加密(即g(P+CM,K)),并加上CK形成密文C;
(5)收方使用RSA方式的解密密鑰KDb對CK進行解密,取得DES方式的密鑰K;
(6)收方用K解密(即P=g'(C-CK,K)- CM)得到明文P;
(7)收方從密鑰服務器中獲取發方公開的RSA方式的加密密鑰KEa;
(8)收方用發方的RSA方式的解密密鑰KEa由CM生成簽名信息M(包括收方自己的身份信息和日期、時間);
(9)發方和收方均銷去密鑰K。
綜上所述,排列碼和RSA的混合加密方式兼有加、解密處理速度快的常規密碼體制的優點和不需要進行密鑰秘密分配且保密管理的密鑰量也較少的公開密鑰密碼體制的優點,從而構成了一種較為理想的密碼方式。
六、結束語
利用網絡安全技術中的數據加密技術來實現重要數據的安全通信。本文借鑒加密技術中的兩種密碼體制的優點,采用混合加密體制,即采用一種新的分組加密算法一一排列碼(武金木教授的專利)對明文加解密,三個會話密鑰采用比較廣泛的RSA算法加密來實現這種安全通信。
參考文獻:
[1]Bruce Schneier, Applied Cryptography [M]. Beijing: China Machine Press, 2001.
[2]Tomasz Tyksinski, Foundations of differential cryptanalysis in Abelian Groups in information security, England, 2004.
[3]武金木,武優西,排列碼加密解密方法及其排列碼加密解密器,中國發明專利, CN99107969.8,2003,3。