于莉莉 許偉
摘 要:隨著計算機技術的飛速發(fā)展和Internet的廣泛普及,人們的生活正在發(fā)生著巨大變化。但是怎樣才能達到使信息系統(tǒng)的機密信息不能夠被泄漏,或者即使被竊取了也很難被識別,以及即使被識別了也極難修改,這一系列的要求已經(jīng)成為IT業(yè)界的熱點研究課題。加密技術就是目前電子商務采取的基本安全技術手段。采用信息加密技術不僅可以滿足信息保密性的安全需求,而且還可以避免重要信息泄漏的安全威脅。因此,加密技術是認證技術以及其它許多安全技術的基礎,也是信息安全的核心技術。
關鍵詞:軟件安全;混合加密算法
1 引言
目前,根據(jù)不同軟件系統(tǒng)所應用的領域,比較常見的加密算法有DES加密算法、RSA加密算法、Base64加密算法和維熱納爾加密算法等。針對不同算法的各自特點,本文首先自定義一種簡單的初始加密算法,再對維熱納爾加密算法進行了優(yōu)化改進,最后結合Base64加密算法共同組成混合加密算法,在很大程度上提高了加密算法的安全性。
2 基礎加密算法
2.1 初始加密算法
初始加密算法是根據(jù)明文信息中的字符組成,再借助字符的ASCII碼,進行相應的變換運算,從而使原有的真實信息進行偽裝,避免被輕易的破解,提高了系統(tǒng)加密保護的安全系數(shù)。
在一般的軟件系統(tǒng)加密過程中,組成明文信息的字符一般可以分為大寫英文字母、小寫英文字母、阿拉伯數(shù)字和其他特殊字符等四部分。因此,在定義初始加密算法時,需要根據(jù)不同種類的字符進行一定的變換運算處理。
具體如下:第一類變換:明文信息的字符是英文字母時,明文在[A,M]范圍內(nèi),密文為明文的ASCII碼值加45;明文在[N,Z]范圍內(nèi),密文為其ASCII碼值加19;明文在[a,m]范圍內(nèi),密文為其ASCII碼值減19;明文在[n,z]范圍內(nèi),密文為其ASCII碼值減45。第二類變換:明文信息的字符是阿拉伯數(shù)字時,明文在[0,4]范圍內(nèi),密文等于明文乘以2再加1;明文在[5,9]范圍內(nèi),密文等于明文乘以2再減10。第三類:當明文信息是其他特殊字符時,密文與明文相同。
2.2 Base64加密算法
Base64加密算法主要的考慮了三個問題,第一為是否加密;第二為加密算法復雜程度和效率;第三為如何處理傳輸。加密是必須的,但是加密的主要目的不是讓用戶發(fā)送非常安全的Email。而是要達到一眼望去完全看不出內(nèi)容就行?;谶@個目的加密算法,其復雜程度和效率也就不能太大或太低。
2.3 改進的維熱納爾加密算法
維熱納爾密碼是一個非常著名的多碼加密法,主要是通過采用定義好的維熱納爾方陣,以及自定義的密鑰對明文信息進行加密。以前對于維熱納爾方陣的定義,是通過以二十六個大寫英文字母為依據(jù),依次循環(huán)不斷改變排列順序,組成26×26級的方陣。為了提高此算法的復雜度,同時提高保密性能,本文在二十六個大寫英文字母的基礎之上,再將十位阿拉伯數(shù)字隨機插入到英文字母序列中,最終構建成36×36級的改進維熱納爾方陣。
在維熱納爾加密算法中,除了維熱納爾方陣之外,還需要明文字符集和密鑰。明文字符集主要是用來記錄組成維熱納爾方陣所需要的字符。密鑰是用來在對明文信息加密過程中,指定字符所對應的加密字符。因此,在改進的維熱納爾加密算法中,改進維熱納爾方陣、明文字符集和密鑰,分別記為A、M和K。
改進微熱納爾方陣的明文字符集M定義為:
M={A,B,9,C,8,D,E,7,F(xiàn),6,G,H,5,I,4,J,K,3,L,2,M,N,1,O,P,0,Q,R,S,T,U,V,W,X,Z}
密鑰K定義為:
K={9,D,7,F(xiàn),6,I,B,X,0,K,P}
因此,針對上述定義的密鑰K,對明文信息字符串“HISENSE2011”進行加密變換,得到的密文是“ILY4UD7K49G”。
3 混合加密算法的設計
混合加密算法是在上述基礎加密算法的基礎上,由初始加密算法、改進優(yōu)化的維熱納爾加密算法以及Base64加密算法共同組成的,并且其實現(xiàn)的過程必須按照固定的順序依次進行,即先使用自己定義的初始加密算法,再使用改進優(yōu)化的維熱納爾加密算法,最后使用Base64加密算法。以明文信息字符串“chongq”為例,應用混合加密算法進行加密處理,具體的實現(xiàn)步驟如下:
第一步:字符串“chongq”經(jīng)過初始加密算法之后,得到的加密字符串為“PUBATD”。
第二步:將改進優(yōu)化的維熱納爾加密算法中的所使用的密鑰K設定為:K={9,D,7,F(xiàn),6,I}。
利用密鑰K對字符串“PUBATD”繼續(xù)進行加密處理,得出的加密信息字符串為“QZF7B3”。
第三步:使用Base64加密算法繼續(xù)對字符串“QZF7B3”進行加密換算,得到加密字符串為“UVpGN0Iz”。
在計算機網(wǎng)絡信息飛速發(fā)展的時代,信息加密算法已經(jīng)成為研究軟件安全的一個重要領域,取得了大量的研究成果。本文中所設計的混合加密算法,是由三種加密算法組成的,也可以在此基礎之上,再增加幾種著名的加密算法或自己設計的新算法,只有跟隨時代發(fā)展而同步進步的技術才有更廣闊的的應用空間和更長的生命周期。
[參考文獻]
[1]何茗.加密解密算法的實現(xiàn)及改進[J].西南民族大學學報(自然科學版).2010.1.
[2]徐榮峰.加密算法及其應用研究[D].西北工業(yè)大學.2006.
[3]劉玉珍,王麗娜,傅建明,等,譯.密碼編碼學與網(wǎng)絡安全原理與實踐[M].第三版,北京:電子出版社.2004.
[4]佟曉筠,杜宇,等.基于軟件安全混合加密技術的研究[J].計算機工程. 2004.12.