許俊良
(北京信息職業(yè)技術(shù)學(xué)院,北京,100018)
在互聯(lián)網(wǎng)輻射范圍日漸寬泛及通信技術(shù)不斷成熟的大背景下,電子信息化數(shù)據(jù)量正在逐漸增大,并且不斷充斥于社會的各個領(lǐng)域、各個方面;但需指出的是,與之伴隨而來的安全性問題,也正在變得越發(fā)凸顯,所以,為了能夠更好地對信息泄露等問題進行應(yīng)對,迫切需要一種能夠?qū)?shù)據(jù)實施加密的新技術(shù)、新手段、新方式。有報道指出,通過對混沌系統(tǒng)相對應(yīng)的初值敏感性進行合理化利用,有助于密鑰復(fù)雜性、穩(wěn)定性的提高,進而可達到提高數(shù)據(jù)加密安全性、科學(xué)性的目的;但需強調(diào)的是,此方法無論是在加密上,還是在解密上,都需要過長的操作時間,故整體效率不高。另有學(xué)者圍繞非對稱數(shù)據(jù),以環(huán)形拓撲結(jié)構(gòu)對其實施加密,但在實際運算過程中,需有一個延遲時間,故會使加密的效率有一定程度的下降。針對上述情況,本文探討了一種新型且實用性強的數(shù)據(jù)加密技術(shù),即把多種加密算法相融合(如RSA、Blowfish 等),將常規(guī)技術(shù)當中的多種問題有效解決到,如非對稱算法加解、密有著較低的效率,密鑰較難進行管理,以及對稱算法所存在的安全性問題等。現(xiàn)就此種混合算法的具體應(yīng)用探討如下。
針對此算法而言,其實為一種比較典型且常用的對稱加密算法,在對字符串(64 比特長度)實施加密時,可以在較短時間內(nèi)完成;還需指出的是,此算法可以準確且快速地加、解密,且根據(jù)實際情況及需要,調(diào)整密鑰的長度。
在圍繞數(shù)據(jù)實施加、解密操作時,如果采用Blowfish加密算法,通常情況表,需要完成如下步驟:其一,圍繞加密算法相對應(yīng)的密鑰,對其實施預(yù)處理,在設(shè)計Blowfish加密算法過程中,其會將Blowfish 算法的源密鑰(sbox 與pbox)予以提供,并且維持不變,各用戶在實際使用時,所采用的是同一套源密鑰(sbox 與pbox)。在加密數(shù)據(jù)過程中,需提前準備一個密鑰,并且將其組合于源密鑰(sbox與pbox),從中生成所需要的子密鑰(key-sbo 與key-pbox)。其二,借助子密鑰對數(shù)據(jù)展開加密操作。圖1 是加密的基本流程(Blowfish 加密算法)。
圖1 Blowfish算法加密操作的基本流程
從此圖中得知,因Blowfish 實為一種具有對稱性特征的加密算法,因此,雜解密過程中,也需要進行密鑰預(yù)處理,以此來生成所需要的子密鑰(key-sbo 與key-pbox),只不過借助子密鑰實施解密、加密等操作的順序是相反的。在整個Blowfish 加密算法架構(gòu)當中,因不能明確加密密鑰的長度,因此,可對其長短進行調(diào)整,盡管這給用戶進行密鑰的設(shè)計提供了切實便利,但在數(shù)據(jù)安全方面,也帶來了巨大隱患。因選擇密鑰及保密是Blowfish 加密算法實施解密、加密等操作的核心所在,因此,需圍繞Blowfish 加密算法,在選擇其密鑰及進行保密上,給予適當?shù)馗倪M與優(yōu)化。
在整個非對稱加密算法體系當中,RSA 算法實為其中成熟度最高且實用性最理想的公鑰加密算法,其作為一種常用的非對稱算法,在密碼體制上,所采取的是公開加密密鑰方式。針對此種體制來講,即為選用一種在加、解密密鑰上并不相同的加密算法方式,且借助不可逆算法(數(shù)學(xué)當中),使得借助已知的加密算法密鑰,或者是解密算法密鑰,不能將另一算法密鑰推導(dǎo)出來的方法,可通過將其加密算法密鑰予以公開的方式,來實現(xiàn)數(shù)據(jù)的實時、準確傳輸。針對RSA 公鑰加密算法來考量,其關(guān)鍵在于借助因式(2個大素數(shù)乘積),對np 類問題進行分解,以此使加、解密密鑰之間形成良好的不可求解性。另外,還需強調(diào)的是,RSA 加密算法在實際操作中,可借助若干相關(guān)數(shù)據(jù),且與2個大素數(shù)相聯(lián)合,生成與加密算法相對應(yīng)的私、公鑰,對于其中的公鑰來講,多用作對數(shù)據(jù)實施加密,而私鑰主要用于對數(shù)據(jù)進行解密。表1 為RSA 加密算法的基本組成。
表1 RSA算法的組成
從此表中發(fā)現(xiàn),第一步需要做的便是對2個素數(shù)進行選擇,即P 與Q,為了使破解難度得到提高,通常情況下,會對較大位數(shù)并且有著相同位數(shù)的素數(shù)進行選??;需強調(diào)的是,P 與Q 之間的乘積,與公共模數(shù)N 對等;針對歐拉函數(shù)F(N)而言,應(yīng)與(P-1)(Q-1)對等;對于公鑰E 來講,其所代表的是一個隨機數(shù),不僅滿足1 <E <F(N),并且還與F(N)互質(zhì);針對私鑰D 來分析,其所代表的則為D=E-1(mod(P-1)(Q-1)),其中,mod 表示的是求余;設(shè)定C、m 分別表示的密文與明文,加、解密方法分別是c ≡mE-mod(N)、m ≡cDmod(N)。其中,對于公鑰來考量,其由N 與E 所構(gòu)成,而對于私鑰來講,則由N 與D 所構(gòu)成。
在整個RSA 公鑰加密算法架構(gòu)當中,若僅有一組密鑰,那么僅可以實現(xiàn)一個單反向上的信息傳遞(從一方傳送給另外一方),要想實現(xiàn)彼此互轉(zhuǎn)信息,通常情況下,需要≥2組密鑰。圖2 為用戶間進行加密數(shù)據(jù)傳遞的流程圖(基于RSA 加密算法)。
圖2 用戶之間進行信息傳遞的流程圖
需指出的是,伴隨人們在求質(zhì)因數(shù)能力上的日漸增強,為了能夠最大程度提高RSA 加密算法的整體安全性,在具體的公共模數(shù)N 上,復(fù)雜度需要超過600 比特,所以,在加密過程中,往往有著非常高的數(shù)據(jù)運算代價,而且還有著較低的加、解密效率,一般來講,較之對稱性加密算法的效率,要低數(shù)百倍之多,且伴隨大數(shù)分解因數(shù)技術(shù)的持續(xù)推新,公共模數(shù)N 在具體的長度上,也會持續(xù)性增加,因而對數(shù)據(jù)格式標準化構(gòu)建造成不利影響。
從上述可知,采用RSA、Blowfish 算法對數(shù)據(jù)實施加密,各有不足,故本文將這兩種方法相聯(lián)合,且將MD5 算法引入,以此對密文實施數(shù)字簽名操作,與此同時,還對文件的完整性進行細致檢查,預(yù)防發(fā)生數(shù)據(jù)丟失情況,促進加密數(shù)據(jù)傳輸安全性的提高,并促進其加、解密效率的強化?,F(xiàn)設(shè)定用戶A 需將一些數(shù)據(jù)信息傳輸給用戶B,而M 是數(shù)據(jù)信息。
1.3.1 發(fā)送端操作的基本流程
針對用戶A 而言,在將數(shù)據(jù)信息M 發(fā)送給用戶B 時,不僅要將MD5 算法、Blowfish 加密算法準備好,而且還需將用戶B 相對應(yīng)的公鑰(RSA 加密算法)同時準備好,圖3 是發(fā)送端操作的基本流程。從中可知,對于用戶A 發(fā)送端來講,應(yīng)首先借助Blowfish 加密算法,圍繞電子文件,實施加密處理,獲得所需要的公文密文;然后將密鑰(Blowfish加密算法)借助RSA 加密算法公鑰(由公網(wǎng)所接收)實施加密,如此一來,便能夠獲得更加符合要求的Blowfish 密鑰密文;最后借助MD5 算法,將公文密文當作對象,實施數(shù)字簽名操作,這樣便能夠?qū)?shù)據(jù)傳輸完成與否進行檢驗;需強調(diào)的是,因所加密的為公文密文,即便對MD5 算法進行暴力迫切,也僅能從中獲得公文密文,故有著非常高的安全性。
圖3 發(fā)送端操作的基本流程
1.3.2 接收端進行操作的基本流程
對于用戶B 來講,需要對多種數(shù)據(jù)進行接收,除了有摘要用的哈希函數(shù)、公文密文之外,還有簽名塊、MD5 算法公鑰等,具體流程見圖4所示。首先,應(yīng)對公文密文來源是否完整、安全進行驗證,圍繞簽名塊,用MD5 算法公鑰對其實施解密,并將其對比于公文密文(經(jīng)哈希函數(shù)摘要過),若相同,則有著安全的來源,并且文件處于完整狀態(tài),相反,需重新進行發(fā)送(發(fā)送端);針對私鑰(RSA 加密算法)而言,需對密鑰密文實施解密操作,這樣便能得到基于Blowfish 加密算法的密鑰;最后借助Blowfish 加密算法相對應(yīng)的密鑰,圍繞公文密文,實施解密操作,便能最終得到電子文件M。
圖4 接收端操作的基本流程
以各數(shù)據(jù)量為對象(不僅有0.5、1、2G,而且還有5、10、20G),實施加、解密操作,且開展多次實驗,各數(shù)據(jù)加密算法進行加、解密操作的時間見表2。
表2 加解密時間(s)
將混合加密算法對比于DES 加密算法,由于前者較后者的操作步驟更多,且需借助非對稱加密算法RSA 來分配、管理Blowfish 加密算法相對應(yīng)的密鑰,因此,所需加解密操作時間更多;但需說明的是,在混合算法當中,因Blowfish 算法的加解密時間自身就短于DES 算法,故伴隨數(shù)據(jù)量的持續(xù)擴充,混合算法在具體的效率上,會最終大于DES 算法。而把混合算法對比于DH 算法,得知前者的效率為后者的100 倍之多,因非對稱算法需要計算大素數(shù),故會有著非常大的計算量,因此,在對那些大數(shù)據(jù)量的文件實施加密時,DH 算法其實并不適用。
2.2.1 檢驗平衡性
在數(shù)據(jù)平衡方面,為了能夠?qū)旌纤惴ǖ哪芰M行檢驗,本文統(tǒng)計了各算法密文字符的ASCII 值(即DH、DES、混合算法),最終得知,混合算法在實施加密后,其在具體的密文各字符分布上,較為均衡,而對于其他兩種算法來講,各個字符在具體分布上,較為分散,并且波動也較大。對ASCII 值的分布規(guī)律進行深入剖析,且借助日常生活當中各個字符的使用頻率,對其分布規(guī)律進行統(tǒng)計,如此一來,便能夠破譯密碼;需強調(diào)的是,若無法將其頻率分布給予改變,那么便有可能被破解,但本文所設(shè)計的混合加密算法,便能較好地對此種情況進行預(yù)防。
2.2.2 檢驗暴力破解方法
在現(xiàn)實當中,為了能夠?qū)旌纤惴ㄔ趯蛊谱g當中的效能進行檢驗,可采取暴力破譯的方式來對其所具有的安全性進行檢驗。本文以多媒體視頻、文本文件、數(shù)據(jù)(200K)作為對象,分別采用混合算法及DH、DES 加密算法實施加密操作,并基于FTP 協(xié)議,使其在特定的局域網(wǎng)當中進行傳遞,另外,經(jīng)Sniffer(第三方數(shù)據(jù)抓包工具)來截取數(shù)據(jù),后圍繞此類數(shù)據(jù),實施暴力破解操作。將臺式機(英特爾i7-10700K 處理器)當作暴力破解數(shù)據(jù)包,設(shè)定好時間(15min),對其開展重復(fù)性破譯(連續(xù)5 次),最終結(jié)果見表3。
表3 暴力破解的結(jié)果
從此表中的數(shù)據(jù)得知,混合算法對于數(shù)據(jù)所具有的保密效果,要明顯優(yōu)于單純的DH、DES 算法。基于數(shù)據(jù)加密的基本原理層面來分析,混合加密算法所用Blowfish 加密算法在安全性上,要明顯優(yōu)于DES 加密算法,且其借助RSA加密算法,能夠較好地管理Blowfish 加密算法的密鑰,故有助于安全性的強化。需指出的是,DH、DES 算法在核心理論上基本相似,均以大素數(shù)難以被分解質(zhì)因數(shù)這一理論而得,而對于混合加密算法來講,則增加了一層加密,即Blowfish 算法,故安全性更高。
綜上,伴隨互聯(lián)網(wǎng)覆蓋范圍越發(fā)寬廣,用戶信息安全問題越發(fā)受到社會的關(guān)注。需強調(diào)的是,因互聯(lián)網(wǎng)自身具有典型的共享特性,因此,基于互聯(lián)網(wǎng)架構(gòu)下,所傳輸?shù)臄?shù)據(jù)易被追蹤,而且還容易遭到竊取,故需要強化數(shù)據(jù)傳輸?shù)男逝c安全性。而通過研究非對稱、對稱數(shù)據(jù)加密算法,并將其優(yōu)點相融合,展開混合算法的設(shè)計,經(jīng)實驗得知,其較之單純的DH、DES 算法,無論是在安全性上,還是在加解密效率上,均更優(yōu),更適用于計算機網(wǎng)絡(luò)安全的維護。