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