溫賀平 禹思敏 呂金虎
1)(廣東工業(yè)大學(xué)自動化學(xué)院,廣州 510006)
2)(中國科學(xué)院數(shù)學(xué)與系統(tǒng)科學(xué)研究院,北京 100190)
基于Hadoop大數(shù)據(jù)平臺和無簡并高維離散超混沌系統(tǒng)的加密算法?
溫賀平1)?禹思敏1)呂金虎2)
1)(廣東工業(yè)大學(xué)自動化學(xué)院,廣州 510006)
2)(中國科學(xué)院數(shù)學(xué)與系統(tǒng)科學(xué)研究院,北京 100190)
混沌系統(tǒng),混沌密碼,Hadoop
隨著物聯(lián)網(wǎng)和云計算等新興信息技術(shù)的發(fā)展,人類進入了大數(shù)據(jù)時代[1],安全與隱私保護無疑是大數(shù)據(jù)環(huán)境中的重要問題,在大數(shù)據(jù)環(huán)境中探索高效的數(shù)據(jù)安全和隱私保護模式是人們關(guān)注的熱點[2].Hadoop是Apache基金會發(fā)布的一個開發(fā)和處理大數(shù)據(jù)的軟件平臺,作為一種開源的大數(shù)據(jù)處理架構(gòu),在業(yè)內(nèi)得到了廣泛應(yīng)用,幾乎成為大數(shù)據(jù)技術(shù)的代名詞[3].然而,目前的HDFS(Hadoop distributed file system)并不支持云內(nèi)的數(shù)據(jù)加密,這對Hadoop平臺的數(shù)據(jù)安全提出了挑戰(zhàn)[4].
近年來,針對Hadoop大數(shù)據(jù)加密的研究引起了人們的關(guān)注[5?8].2013年,文獻[5]將對稱加密算法DES(data encryption standard)和非對稱加密算法RSA進行融合,先對HDFS數(shù)據(jù)進行DES加密,再利用RSA對DES的密鑰進行加密,提高了算法安全性.同年,文獻[6]提出了一種基于HDFS的數(shù)據(jù)傳輸存儲安全技術(shù)方案,利用AES(advanced encryption standard)算法對大數(shù)據(jù)文件進行加密和解密.2015年,文獻[7]提出在Hadoop中對存儲在HDFS上的視頻采用AES算法進行選擇性加密,兼顧算法執(zhí)行效率和安全性.2016年,文獻[8]對Hadoop平臺的傳輸數(shù)據(jù)加密及數(shù)據(jù)訪問安全機理進行了分析和研究.這些工作大都基于傳統(tǒng)的密碼技術(shù),隨著通信環(huán)境的日趨復(fù)雜和破譯能力的不斷提升,許多傳統(tǒng)密碼算法的安全性受到威脅,需要更為安全的密碼設(shè)計理論和技術(shù)來解決這個問題[9].
眾所周知,混沌是確定性系統(tǒng)中的內(nèi)秉隨機運動,其典型特征體現(xiàn)在對初始條件與控制參數(shù)的高度敏感性、良好的偽隨機性、遍歷性、軌道的長期不可預(yù)測性和連續(xù)寬帶譜等各個方面,與密碼學(xué)中的混淆、擴散、密鑰、循環(huán)輪數(shù)等有許多相似之處[10].盡管混沌密碼研究取得了一些進展[11?14],但目前關(guān)于混沌密碼在Hadoop大數(shù)據(jù)平臺中的研究報道尚不多見[15,16].2015年,文獻[15]提出基于MapReduce的并行混合混沌加密方案,綜合運用Lorenz,Chen,Logistic,Henon等低維混沌系統(tǒng)產(chǎn)生的混沌序列對明文進行加密,在Hadoop平臺并行編程架構(gòu)的基礎(chǔ)上提升了數(shù)據(jù)加密的速度;文獻[16]提出了基于Logistic和Tent映射等低維混沌系統(tǒng)的大數(shù)據(jù)環(huán)境并行加密算法,MapReduce編程仿真結(jié)果表明,該算法具有較好的執(zhí)行效率.從安全性角度來看,現(xiàn)有低維混沌密碼算法有待進一步改進,主要原因在于:1)現(xiàn)有低維混沌系統(tǒng)的正李氏指數(shù)不夠大,而且通常會發(fā)生簡并,盡管有些能通過常規(guī)NIST測試,但無法通過目前更為嚴(yán)格的TESTU01測試;2)獨立的密鑰參數(shù)不夠多,不能抵御基于密鑰參數(shù)估計或辨識的攻擊[17?20];3)算法大多采用開環(huán)結(jié)構(gòu),沒有密文的反饋,難以抵御已知明文攻擊和選擇明文攻擊[21].
為了進一步改進算法的安全性,本文提出一種基于Hadoop大數(shù)據(jù)平臺和無簡并高維離散超混沌系統(tǒng)的密碼算法.首先,設(shè)計一種無簡并高維離散超混沌系統(tǒng),保證正李氏指數(shù)的個數(shù)等于混沌系統(tǒng)的維數(shù)并且正李氏指數(shù)盡可能大.其次,利用MapReduce并行編程模型,設(shè)計Map和Reduce函數(shù),在Map函數(shù)中實現(xiàn)混沌序列密碼對存儲在HDFS上文本數(shù)據(jù)的加密和解密操作,在Reduce函數(shù)中實現(xiàn)大數(shù)據(jù)文件的排序和合并操作.最后,在Hadoop大數(shù)據(jù)平臺中進行驗證和分析.數(shù)值計算結(jié)果表明,提出的無簡并高維離散超混沌密碼算法同時具備執(zhí)行效率較高和安全性較好的特點.
無簡并高維超混沌系統(tǒng)是指正李氏指數(shù)的個數(shù)L+能夠達到可能的最大個數(shù)的一類高維超混沌系統(tǒng).對于n維連續(xù)時間自治耗散系統(tǒng),設(shè)正李氏指數(shù)個數(shù)為負李氏指數(shù)的個數(shù)為零李氏指數(shù)的個數(shù)為它們滿足對于n維連續(xù)時間自治系統(tǒng),如果正李氏指數(shù)的個數(shù)達到了可能的最大個數(shù),即滿足稱為無簡并高維連續(xù)時間超混沌系統(tǒng).如果正李氏指數(shù)個數(shù)僅滿足則稱為有簡并高維連續(xù)時間超混沌系統(tǒng),其中d>0為正李氏指數(shù)的簡并度,是衡量正李氏指數(shù)個數(shù)減少的一個量化指標(biāo),d越大,正李氏指數(shù)個數(shù)減少的程度越大.對于n維離散時間自治系統(tǒng),如果正李氏指數(shù)的個數(shù)達到了可能的最大個數(shù),即滿足則稱之為無簡并高維離散時間超混沌系統(tǒng).如果正李氏指數(shù)的個數(shù)僅滿足則稱為有簡并高維離散時間超混沌系統(tǒng).通常情況下將連續(xù)和離散系統(tǒng)的正李氏指數(shù)是否發(fā)生簡并的兩種情況統(tǒng)稱為無簡并混沌系統(tǒng)和有簡并混沌系統(tǒng).對于連續(xù)時間系統(tǒng),必須有一個零指數(shù)和至少一個負指數(shù),而離散系統(tǒng)則無此要求.
在簡并無法消除的情況下,正李氏指數(shù)的個數(shù)不能隨著系統(tǒng)維數(shù)的拓展而增加,這種單純拓展系統(tǒng)維數(shù)而不能增加正李氏指數(shù)個數(shù)的高維系統(tǒng)設(shè)計方法并無實質(zhì)性的研究意義.例如,一個3維離散混沌系統(tǒng)和一個10維離散混沌系統(tǒng),如果這兩個系統(tǒng)都只有一個正李氏指數(shù),除維數(shù)上的差異之外,其他的動力學(xué)性質(zhì)并沒有本質(zhì)上的區(qū)別.但如果后者是無簡并的,有10個正李氏指數(shù),那么兩者的動力學(xué)性質(zhì)將會出現(xiàn)較大的差異.這種差異具體體現(xiàn)在混沌的統(tǒng)計特性能否通過嚴(yán)格的TESTU01測試和度量混沌系統(tǒng)統(tǒng)計特性的KS(Kolmogorov-Sinai)熵值的大小,而這些指標(biāo)是混沌加密算法安全性所需的必要條件.
無簡并高維超混沌系統(tǒng)和有簡并高維超混沌系統(tǒng)在維數(shù)相同的條件下,在動力學(xué)行為、混沌化程度以及統(tǒng)計特性等多個方面都存在較大的差異.根據(jù)混沌理論,混沌系統(tǒng)的本質(zhì)特征由混沌軌道的拉伸折疊變換所決定.只有一個正李氏指數(shù)的混沌系統(tǒng),相鄰軌道之間僅有一個方向上的拉伸折疊變換和發(fā)散度(即指數(shù)分離度),而多個正李氏指數(shù)的混沌系統(tǒng)則具有多個不同方向上的拉伸折疊變換和發(fā)散度.在混沌系統(tǒng)全局有界條件下,如果正李氏指數(shù)越多(即L+越大),且正李氏指數(shù)的值越大,則具有更大強度、更多不同方向上的拉伸折疊變換,整個系統(tǒng)的行為越復(fù)雜,導(dǎo)致無簡并系統(tǒng)與有簡并系統(tǒng)的動力學(xué)性質(zhì)出現(xiàn)較大的差異.
在離散時間混沌系統(tǒng)的諸多特征中,目前在工程應(yīng)用中被廣泛采用的混沌判據(jù)主要有兩項,即具有正的李氏指數(shù)和軌道全局有界[23].根據(jù)這兩項,首先給出無簡并高維離散超混沌系統(tǒng)的具體設(shè)計步驟:
1)設(shè)計漸進穩(wěn)定的標(biāo)稱系統(tǒng)的一般形式為
式中x(k)∈Rn,標(biāo)稱矩陣C的特征根全部位于單位圓內(nèi),使得標(biāo)稱系統(tǒng)漸進穩(wěn)定.
2)為了對標(biāo)稱系統(tǒng)實施有效控制,需要對標(biāo)稱矩陣C作相似變換,得
式中P為非奇異矩陣.得相似變換后的標(biāo)稱系統(tǒng)為
(1)式和(3)式具有相同的特征根和穩(wěn)定性.
3)設(shè)計一致有界反控制器g[σx(k),ε]和控制矩陣B,從而對(3)式實施反控制,得全局有界的受控系統(tǒng)為
4)利用控制矩陣B和反控制器g[σx(k),ε]對受控系統(tǒng)(4)式進行極點配置,經(jīng)極點配置后,正李氏指數(shù)個數(shù)達到最大值,即滿足李氏指數(shù)的個數(shù)L+=n,使得(4)式成為無簡并高維離散時間超混沌系統(tǒng).
為了兼顧混沌密碼算法的執(zhí)行效率和安全性能兩個方面,必須選取適當(dāng)?shù)南到y(tǒng)維數(shù)n的大小.維數(shù)高時盡管能提高安全性能,但會降低執(zhí)行效率,反之亦然.選取5維系統(tǒng)作為典型實例,根據(jù)(4)式和狀態(tài)變量的環(huán)形耦合方法設(shè)計無簡并5維離散超混沌系統(tǒng).
首先,根據(jù)(1)—(3)式,設(shè)n=5,得5維標(biāo)稱系統(tǒng)(3)式所對應(yīng)的標(biāo)稱矩陣的數(shù)學(xué)表達式為
其次,根據(jù)標(biāo)稱系統(tǒng)(3)式和狀態(tài)變量的環(huán)形耦合方法進一步設(shè)計受控系統(tǒng)(4)式,如圖1所示.圖中fi(·)(1≤i≤5)的數(shù)學(xué)表達式為
在該方法中,首先將(3)式中第1個迭代方程輸出的狀態(tài)變量x1經(jīng)sin函數(shù)耦合到第2個迭代方程,然后將第2個迭代方程輸出的狀態(tài)變量x2經(jīng)sin函數(shù)耦合到第3個迭代方程,其余依此類推.最后將第5個迭代方程輸出的狀態(tài)變量x5經(jīng)sin函數(shù)耦合到第1個迭代方程,從而構(gòu)成狀態(tài)變量的環(huán)形耦合.
根據(jù)圖1,得5維受控系統(tǒng)的數(shù)學(xué)表達式為
式中矩陣元素aij(1≤i,j≤5)的大小由(5)式給出.
根據(jù)(6)式,不妨選取密鑰參數(shù)ε1=1.0×105,σ1=2.0×103,ε2=3.0×105,σ2=4.0×103,ε3=5.0×105,σ3=6.0×103,ε4=7.0×105,σ4=8.0×103,ε5=9.0×105,σ5=10.0×103,得李氏指數(shù)的計算結(jié)果分別為EL1=20.7752,EL2=20.7532,EL3=20.7520,EL4=20.7295,EL5=20.7050.所有的李氏指數(shù)均為正數(shù),滿足L+=5,正的李氏指數(shù)比較大并且大小一致,故(6)式是一個無簡并5維離散超混沌系統(tǒng).混沌吸引子相圖如圖2所示.
在圖1和(6)式的基礎(chǔ)上,進一步設(shè)計混沌并行加密算法,如圖3所示.圖中將大數(shù)據(jù)切分為N個單元塊,其中前N?1塊的大小均為1 kB,最后一塊為剩余部分,i=1,2,···,N,根據(jù)i%4=1,2,3,0和i=N,分別采用對第i個數(shù)據(jù)塊進行流密碼并行加密.圖中符號表示對狀態(tài)變量向下取整,Mi(k)為一個字節(jié)的明文數(shù)據(jù),⊕表示按位異或運算,mod為取模運算.為抵御已知明文攻擊或選擇明文攻擊,需要將其中的一個或多個密文Ci(k)通過閉環(huán)反饋回到原來的混沌系統(tǒng)中.例如,可選擇滿足i%4=1的密文Ci(k),將其反饋回第2—5個方程中,并且用Ci(k)取代第2—5個方程中的狀態(tài)變量其余依此類推.混沌解密是加密的逆過程,如圖4所示.
圖1 用狀態(tài)變量環(huán)形耦合方法構(gòu)造無簡并5維離散超混沌系統(tǒng)Fig.1. Constructing non-degenerate 5-dimensional discrete hyperchaotic system via state variable ring coupling method.
圖2 無簡并5維離散超混沌吸引子相圖 (a)x1(k)-x2(k)平面相圖;(b)x2(k)-x3(k)平面相圖;(c)x3(k)-x4(k)平面相圖;(d)x4(k)-x5(k)平面相圖Fig.2.Phase plots of non-degenerate 5-dimensional discrete hyperchaotic attractor:(a)x1(k)-x2(k);(b)x2(k)-x3(k);(c)x3(k)-x4(k);(d)x4(k)-x5(k).
圖3 基于無簡并5維離散超混沌系統(tǒng)的混沌加密算法設(shè)計Fig.3.Chaotic encryption algorithm design based on non-degenerate 5-dimensional discrete hyperchaotic system.
圖4 基于無簡并5維離散超混沌系統(tǒng)的混沌解密算法設(shè)計Fig.4.Chaotic decryption algorithm design based on non-degenerate 5-dimensional discrete hyperchaotic system.
根據(jù)圖3,得基于無簡并5維離散超混沌系統(tǒng)的混沌加密算法的表達式為
式中i滿足i%4=1.根據(jù)(7)式,得發(fā)送端并行加密后的密文為
同理,根據(jù)圖4,得基于無簡并5維離散超混沌系統(tǒng)的混沌解密算法的數(shù)學(xué)表達式為
式中i滿足i%4=1.根據(jù)(9)式,得接收端并行解密后的明文為
根據(jù)(7)—(10)式,在加密系統(tǒng)和解密系統(tǒng)初始條件相同的情況下,在密鑰參數(shù)匹配的條件下,滿足其中aij(1≤i,j≤5)的值由(5)式給出,能正確解密明文數(shù)據(jù).但只要其中的任意一個參數(shù)存在微小失配,就無法正確解密明文數(shù)據(jù).特別是在圖3和圖4中,采用取模和取整的方法截取混沌變量的低8位傳送,攻擊者從公共信道截獲的只是混沌信號的低位而不是混沌信號的全部,這樣處理大大減小了混沌信息通過公共信道傳送時信息的泄露概率,通過公共信道傳送的各個密文之間的互相關(guān)程度很低,能抵御相關(guān)分析.
Hadoop是一個由Apache基金會開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu).用戶在不了解分布式底層細節(jié)的情況下,能夠開發(fā)出可靠和可擴展的分布式計算應(yīng)用.Hadoop框架允許用戶使用簡單的編程模型來實現(xiàn)計算機集群的大型數(shù)據(jù)集分布式處理,其目的是支持從單一服務(wù)器到上千臺機器的擴展,充分利用了每臺機器所提供的本地計算和存儲.Hadoop包括HDFS和MapReduce兩個核心組件,其中HDFS實現(xiàn)分布式存儲,MapReduce實現(xiàn)分布式計算[24],HDFS和MapReduce均采用Master/Slave架構(gòu).HDFS是一個高度容錯的分布式文件系統(tǒng),適合部署在廉價的機器上,可提供高吞吐量數(shù)據(jù)訪問,適合大規(guī)模數(shù)據(jù)集應(yīng)用.MapReduce的核心思想可以用“分而治之”來描述,也就是把一個大的數(shù)據(jù)集分為多個小數(shù)據(jù)塊在多臺機器上并行處理.Hadoop主要適用于海量數(shù)據(jù)的離線分析處理、大規(guī)模Web信息搜索,以及數(shù)據(jù)密集型并行計算.
基于Hadoop大數(shù)據(jù)平臺的混沌加密和解密算法分別如圖5和圖6所示.圖中包括Input,Split,Map,Reduce和Output五個階段.Input和Output用于處理大數(shù)據(jù)文件在HDFS上的輸入和輸出,Split實現(xiàn)大數(shù)據(jù)文件的分片操作,Map和Redude基于MapReduce編程模型實現(xiàn).Map函數(shù)對各個分片數(shù)據(jù)塊進行混沌并行加密,Reduce函數(shù)實現(xiàn)對加密后數(shù)據(jù)塊的合并操作.在加密算法中,Map函數(shù)利用圖3和(7)式、(8)式對數(shù)據(jù)進行并行加密.在解密算法中,Map函數(shù)則利用圖4和(9)式、(10)式的密文數(shù)據(jù)進行并行解密.
圖5 基于Hadoop的無簡并高維離散超混沌加密算法流程圖Fig.5.Flow chart of non-degenerate high dimensional discrete chaotic encryption algorithm based on Hadoop.
圖6 基于Hadoop的無簡并高維離散超混沌解密算法流程圖Fig.6.Flow chart of non-degenerate high dimensional discrete chaotic decryption algorithm based on Hadoop.
加密算法設(shè)計的具體步驟如下:
1)在Input階段,將需要加密的大數(shù)據(jù)文件從本地上傳至HDFS.
2)在Split階段,采用分片算法讀取HDFS上的大數(shù)據(jù)文件,對輸入的大數(shù)據(jù)文件以1 kB為單元進行分塊.大數(shù)據(jù)文件M切分為N個單元塊,其中前N?1塊的大小均為1 kB,最后一塊為剩余部分.分片算法的返回值為N個鍵值對具體算法描述如下.
算法1分片算法.
3)在Map階段,Map加密函數(shù)用于實現(xiàn)對各個分塊數(shù)據(jù)的分布式并行混沌加密操作,輸出作為中間結(jié)果存儲在本地磁盤上.Map加密函數(shù)的輸入為分片算法的輸出值Map加密函數(shù)的輸出為加密后的數(shù)據(jù)塊鍵值對(i=1,2,···,N).加密數(shù)據(jù)時Map函數(shù)設(shè)計步驟如下:
B)調(diào)用無簡并5維離散混沌系統(tǒng)函數(shù)Discrete5dChaos(Kencrypt,50+i)進行第1次混沌運算,其中Kencrypt為加密密鑰,50+i為混沌迭代次數(shù).數(shù)值仿真結(jié)果顯示,當(dāng)?shù)螖?shù)大于50時,系統(tǒng)處于混沌態(tài),因此預(yù)先讓混沌系統(tǒng)迭代50+i次.其中,i=1,2,···,N為鍵值對編號,代表分片數(shù)據(jù)塊的順序號,可以保證各個Map任務(wù)產(chǎn)生的混沌序列不同.
C)讀取第N個數(shù)據(jù)塊,再次調(diào)用Discrete5d Chaos(Kencrypt,j)產(chǎn)生密文閉環(huán)反饋的混沌序進行加密.其中是第N個數(shù)據(jù)塊的字節(jié)長度.CN(k)=mod表示利用無簡并5維離散混沌系統(tǒng)的第5個序列對第N個數(shù)據(jù)塊進行流密碼加密,MN(k)和CN(k)分別為第N個數(shù)據(jù)塊的明文和密文.
D)讀取第i個數(shù)據(jù)塊,此時i=1,2,···,N?1,根據(jù)i%4=1,2,3,0對應(yīng)不同值分別采用(7)式的對第i個數(shù)據(jù)塊[進行流密碼]加密. 加密過程為Ci(k)=式中m=1,2,3,4,Mi(k)和Ci(k)分別為第i個數(shù)據(jù)塊的明文和密文.E)返回加密后的數(shù)據(jù)塊鍵值對采用算法偽代碼描述如下.
算法2Map并行分塊加密算法.
4)在Reduce階段,Reduce函數(shù)的輸入值為Map函數(shù)的輸出值輸出經(jīng)過排序、歸并和合并后,得密文數(shù)據(jù)塊的鍵值對為
5)在Output階段,將合并的密文數(shù)據(jù)塊以大數(shù)據(jù)文件形式存儲于HDFS.
采用的Hadoop大數(shù)據(jù)實驗平臺為Master/Slave架構(gòu),由4個節(jié)點組成,包括1個Master節(jié)點和3個Slave節(jié)點. 節(jié)點硬件配置如下:CPU Intel(R)Xeon E3-1225 v3,3.2 GHz/8 M Cache,內(nèi)存16 GB,磁盤1 TB,千兆以太網(wǎng)卡.操作系統(tǒng)為Linux CentOS-7.16,Hadoop版本為Hadoop 2.7.3,JAVA版本為Jdk8,IDE開發(fā)環(huán)境為Eclipse 3.8.
圖7 基于MapReduce的本文算法與AES算法的加密效率對比分析Fig.7.Efficiency comparison between the proposed algorithm based on MapReduce and the AES algorithm.
在單機模式下,不論采用AES算法還是5維混沌加密算法,當(dāng)數(shù)據(jù)文件逐漸增大時,受限于單機計算性能瓶頸,均會出現(xiàn)內(nèi)存溢出的問題.本文提出的方法嘗試用Hadoop大數(shù)據(jù)平臺的MapReduce并行編程模型來解決這個問題.基于MapReduce的5維無簡并離散混沌加密算法和AES加密算法的執(zhí)行效率對比分析如圖7所示.結(jié)果表明,本文算法的執(zhí)行效率比AES算法更高.此外,并行MapReduce計算模式可以解決單機性能瓶頸問題,通過合理設(shè)置Map任務(wù)的數(shù)量,能夠提高數(shù)據(jù)加密和解密的執(zhí)行效率.
在圖3和圖4所示混沌密碼系統(tǒng)中,密鑰參數(shù)的集合為
式中x(0)={x1(0),x2(0),x3(0),x4(0),x5(0)}為初始條件.
根據(jù)已知明文攻擊的條件,攻擊者已知任意給定的明文,并且還應(yīng)知道這些任意給定的明文所對應(yīng)的密文.同理,根據(jù)選擇明文攻擊的條件,攻擊者可以選擇對于破譯有利的明文,并且還知道對于破譯有利的明文所對應(yīng)的密文.根據(jù)公認的密碼分析規(guī)則,密碼系統(tǒng)的密鑰參數(shù)fkey∈{aij,εi,σi,xi(0);1 ≤i,j≤ 5}在每一次加密過程都應(yīng)該保持不變.
在圖3和圖4中,如果將密文數(shù)據(jù)C(k)閉環(huán)反饋鏈路斷開,則無法抵御已知明文和選擇明文的攻擊.
在開環(huán)系統(tǒng)條件下,由于不存在反饋,加密在密文數(shù)據(jù)C(k)中的明文數(shù)據(jù)M(k)完全沒有通過反饋參與到混沌序列的運算中,混沌序列和明文數(shù)據(jù)完全分開.根據(jù)圖3,可得等價密鑰(即用于加密的混沌序列)的數(shù)學(xué)表達式為
式中k=0,1,2,···.
根據(jù)公認的密碼分析規(guī)則,密碼系統(tǒng)的密鑰參數(shù)fkey∈{aij,εi,σi,xi(0);1 ≤i,j≤ 5}在每一次加密過程都應(yīng)保持不變.因此,對于第i(i=1,2,···)次明文Mi(k)的加密運算,在密鑰參數(shù)不變的條件下,得到的等價密鑰為
由此可見,對于第1次明文M1(k)的加密,對于第2次明文M2(k)的加密,對于第i(i=1,2,···)次明文Mi(k)的加密,亦即無論對于哪一次明文的加密,所得到的等價密鑰均為KE={KE(0),KE(1),KE(2),···,KE(k),···}. 在這種情況下,攻擊者只需兩步便可破譯不存在閉環(huán)反饋的混沌密碼.
A)獲取等價密鑰KE(k).
設(shè)加密者第1次進行加密的明文為M1(k),得到加密后對應(yīng)的密文為
根據(jù)已知明文攻擊和選擇明文攻擊的條件,(14)式中M1(k)和C1(k)均為攻擊者所知,故攻擊者只須通過異或運算便可破譯對應(yīng)的等價密鑰.根據(jù)(14)式可得等價密鑰的數(shù)學(xué)表達式為
B)用等價密鑰KE(k)破譯加密后的明文.
設(shè)加密者第i次進行加密的明文為Mi(k),等價密鑰KE(k)仍然保持不變,因此,得加密后對應(yīng)的密文為
攻擊者收到加密后的密文Ci(k)之后,利用獲取的等價密鑰KE(k)對其進行破譯,破譯得到的相應(yīng)的明文為
式中i=1,2,···.
通過上述分析可知,在開環(huán)情況下,所對應(yīng)的混沌密碼不能抵御已知明文和選擇明文的攻擊.
但如果是閉環(huán)情況,加密在密文數(shù)據(jù)C(k)中的明文數(shù)據(jù)M(k)通過閉環(huán)反饋參與到混沌序列的運算中,從而使得等價密鑰是明文Mi(k)的函數(shù),即
明文數(shù)據(jù)Mi(k)(i=1,2,···)是變化的,等價密鑰KEi[Mi(k)]是明文Mi(k)的函數(shù),隨著明文的變化而變化,不再保持恒定不變.由此可見,在圖3和圖4所示混沌密碼中,由于采用了密文數(shù)據(jù)C(k)閉環(huán)反饋的方法,具有抵御已知明文攻擊和選擇明文攻擊的能力.
現(xiàn)有的低維混沌系統(tǒng)的統(tǒng)計特性或許能通過NIST,Diehard等套件進行的測試,因為使用NIST,Diehard等測試套件時所使用的評估數(shù)據(jù)量一般只有108數(shù)量級,這意味著混沌系統(tǒng)需要的迭代次數(shù)的數(shù)據(jù)評估量不夠大,混沌動力學(xué)的退化問題尚未明顯暴露.
與NIST測試相比,TESTU01是更為嚴(yán)格的統(tǒng)計特性測試版本.在現(xiàn)有的低維混沌系統(tǒng)中,很少有通過TESTU01統(tǒng)計特性測試的報道結(jié)果.原因在于現(xiàn)有低維混沌系統(tǒng)的統(tǒng)計特性即便能夠通過TESTU01中的初級測試套件Small-Crush和中級測試套件Crush,但也無法進一步通過TESTU01中評估數(shù)據(jù)量為10 Tb的高級測試套件BigCrush的測試.在TESTU01中有7個內(nèi)建的檢定模組套件,首先選用TESTU01中的初級測試套件SmallCrush進行檢測,若通過則選用中級測試套件Crush進行測試,若通過則選用高級測試套件BigCrush進行測試.最后選用Alphabit,Rabbit,PseudoDIEHARD,FIPS-140-2套件進行測試.7個內(nèi)建的檢定模組套件如表1所示,表中1 Tb=1024 Gb,1 Gb=1024 Mb,1 Mb=1024 kb,1 kb=1024 bit.從表中可知,初級測試套件SmallCrush和中級測試套件Crush的評估數(shù)據(jù)量遠小于高級測試套件BigCrush的評估數(shù)據(jù)量,通常情況下現(xiàn)已報道的低維混沌系統(tǒng)無法通過TESTU01測試.
表1TESTU01測試結(jié)果Table 1.Test results of TESTU01.
密鑰復(fù)雜度即密鑰空間是指所有合法密鑰構(gòu)成的集合.無簡并高維混沌系統(tǒng)的安全性比有簡并高維混沌系統(tǒng)或低維混沌系統(tǒng)更好.本文提出的無簡并5維離散混沌加密算法的密鑰空間為fkey∈{aij,εi,σi,xi(0);1 ≤i,j≤ 5},共40個密鑰,其中aij為使用(2)式方法生成的標(biāo)稱矩陣的元素,εi和σi為(4)式中反控制器的參數(shù),xi(0)為無簡并離散混沌系統(tǒng)的初始值.密鑰空間包括標(biāo)稱矩陣的元素、反控制器參數(shù)和混沌系統(tǒng)初始值三類不同機理生成的密鑰參數(shù),在一定程度上增強了算法的安全性.密鑰參數(shù)均為雙精度數(shù)據(jù)類型,可以估算密鑰空間的大小至少為S=212×40=2480.因此,密鑰空間充分大,足以抵御窮舉攻擊.
采用高維混沌加密算法的加密和解密文本統(tǒng)計直方圖如圖8所示.統(tǒng)計結(jié)果顯示,原始明文與加密后的文本在統(tǒng)計特性上發(fā)生了明顯的改變.密鑰匹配時可以完整地恢復(fù)原始文本信息.當(dāng)加解密密鑰失配時,即使是密鑰參數(shù)存在10?12微小誤差,也無法正確解密原始文本信息,并在統(tǒng)計特性上呈現(xiàn)出巨大的差異,具有雪崩效應(yīng).這驗證了算法具有較好的密文統(tǒng)計特性和密鑰敏感性.
圖8 加密和解密文本直方圖 (a)原始明文;(b)加密密文;(c)初值x1(0)密鑰失配10?12;(d)標(biāo)稱參數(shù)a54密鑰失配10?12;(e)反饋參數(shù)ε1密鑰失配10?12;(f)正確解密Fig.8.Text encryption and decryption histograms:(a)Original plaintext;(b)encrypted ciphertext;(c)initial value key x1(0)mismatches;(d)nominal parameter key a54mismatches;(e)feedback parameter key ε1mismatches;(f)correct decryption.
本文給出的通過分片、Map混沌加密和Reduce合并的并行加密算法在結(jié)構(gòu)上與一般的加密算法有所區(qū)別,各并行加密模塊之間的互相關(guān)性是算法安全性的重要指標(biāo). 為便于實驗分析,令各分片明文數(shù)據(jù)塊的大小與內(nèi)容完全相同,分塊數(shù)為6,每塊大小均為1kB,即Mi(k)=Mj(k)(1≤i,j≤N=6).根據(jù)3.2節(jié)所述算法,當(dāng)i=N=6時,調(diào)用第5個混沌序列進行加密生成密文CN(k).當(dāng)i=1,2,3,4時,分別調(diào)用第1—4個混沌序列進行加密生成密文C1(k),C2(k),C3(k),C4(k).當(dāng)i=5時(i%4=1),根據(jù)算法和i=1同樣調(diào)用第1個混沌序列進行加密,此時生成的密文為C5(k).并行加密的密文互相關(guān)性分析結(jié)果如圖9所示.分析結(jié)果表明,并行加密的密文之間互相關(guān)性很小,能抵御相關(guān)性分析.
圖9 并行加密密文的互相關(guān)性分析 (a)明文塊Mi(k)和Mj(k)(1≤i,j≤N);(b)C1(k)和C2(k);(c)C2(k)和C3(k);(d)C3(k)和C4(k);(e)C4(k)和CN(k);(f)C1(k)和C5(k)Fig.9.Cross correlation analysis of parallel encryption ciphertext:(a)Mi(k)-Mj(k)(1≤i,j≤N);(b)C1(k)-C2(k);(c)C2(k)-C3(k);(d)C3(k)-C4(k);(e)C4(k)-CN(k);(f)C1(k)-C5(k).
本文針對大數(shù)據(jù)環(huán)境中用戶數(shù)據(jù)的安全與隱私保護問題,研究了一種基于Hadoop的無簡并高維離散超混沌并行加密算法.提出用狀態(tài)變量的環(huán)形耦合方法構(gòu)造無簡并高維離散超混沌系統(tǒng)及相應(yīng)的混沌密碼設(shè)計方法,并在Hadoop大數(shù)據(jù)平臺進行編程實驗.結(jié)果表明,基于Hadoop的無簡并高維離散超混沌加密算法,采用并行計算模式可解決傳統(tǒng)串行加密方式的性能瓶頸問題,通過合理設(shè)置Map任務(wù)數(shù)量,能發(fā)揮大數(shù)據(jù)并行處理模式的優(yōu)勢,提高執(zhí)行效率.與現(xiàn)有的混沌加密算法相比,本文設(shè)計的算法在安全性能方面有了改進.
[1]Mayer-Schnberger V,Kenneth C 2013Big Data:A Revolution That Will Transform How We Live,Work and Think(London:John Murray)pp1—15
[2]Feng D G,Zhang M,Li H 2014Chinese Journal of Computers37 246(in Chinese)[馮登國,張敏,李昊2014計算機學(xué)報37 246]
[3]Meng S,Dou W,Zhang X 2014IEEE Trans.Parall.Distr.25 3221
[4]Wang J H,Liu C Y,Fang B X 2016J.Commun.37 142(in Chinese)[王佳慧,劉川意,方濱興 2016通信學(xué)報 37 142]
[5]Yang C,Lin W,Liu M 2013IEEE International Conference on Emerging Intelligent Data and Web TechnologiesXi’an,China,September 9–11,2013 p437
[6]Yu Q,Ling J 2013Comput.Eng.Desig.34 2700(in Chinese)[余琦,凌捷2013計算機工程與設(shè)計34 2700]
[7]Li M,Yang C,Tian J 2015IEEE International Conference on Computational Intelligence&Communication TechnologyGhaziabad,India,February 13–14,2015 p4799
[8]Shetty M M,Manjaiah D H 2016IEEE International Conference on Emerging Technological TrendsKollam,India,October 21–22,2016 p5090
[9]Han D,Min L,Chen G 2016Int.J.Bifurcat.Chaos26 1650091
[10]Liu H,Wang X,Kadir A 2014Int.J.Nonlin.Sci.Num.15 1565
[11]Wang C F,Ding Q 2017Acta Phys.Sin.66 020504(in Chinese)[王傳福,丁群 2017物理學(xué)報 66 020504]
[12]Lin Z S,Yu S M,Lü J H 2015IEEE Trans.Circ.Syst.Vid.25 1203
[13]Mirzaei O,Yaghoobi M,Irani H 2012Nonlinear Dyn.67 557
[14]Zhou Q,Wong K W,Liao X 2008Chaos Soliton Fract.38 1081
[15]Wang X Y,Yang G,Min Z E 2015Application Research of Computers32 1757(in Chinese)[王欣宇,楊庚,閔兆娥2015計算機應(yīng)用研究32 1757]
[16]Si H W,Zhong G Y 2015Comput.Measur.Contrl.23 2475(in Chinese)[司紅偉,鐘國韻 2015計算機測量與控制23 2475]
[17]Chen Z,Yuan X,Yuan Y 2016IEEE Trans.Circuits I63 1464
[18]Ho W H,Chou J H,Guo C Y 2010Nonlinear Dyn.61 29
[19]Sun J,Zhao J,Wu X,Fang W,Cai Y,Xu W 2010Phys.Lett.A374 2816
[20]Chang J F,Yang Y S,Liao T L,Yan J J 2008Expert Syst.Appl.35 2074
[21]Zhao L,Liao X F,Xiang T,Xiao D 2010Acta Phys.Sin.59 1507(in Chinese)[趙亮,廖曉峰,向濤,肖迪2010物理學(xué)報59 1507]
[22]Termonia Y 1984Phys.Rev.A29 1612
[23]Wang F,Zhang X Z,Shen C W,Yu S M 2012Acta Phys.Sin.61 190505(in Chinese)[王芳,張新政,申朝文,禹思敏2012物理學(xué)報61 190505]
[24]White T(Zeng D D,Transl.)2015Hadoop:The De finitive Guide(Beijing:Tsinghua University Press)pp80–82(in Chinese)[懷特(曾大聃,譯)2015 Hadoop權(quán)威指南(北京:清華大學(xué)出版社)第80—82頁]
Encryption algorithm based on Hadoop and non-degenerate high-dimensional discrete hyperchaotic system?
Wen He-Ping1)?Yu Si-Min1)Lü Jin-Hu2)
1)(College of Automation,Guangdong University of Technology,Guangzhou 510006,China)
2)(Academy of Mathematics and Systems Science,Chinese Academy of Sciences,Beijing 100190,China)
5 July 2017;revised manuscript
29 July 2017)
Aiming at the data security problem in big data environment,in this paper we propose a new chaotic encryption algorithm based on both big data platform named Hadoop and non-degenerate high-dimensional discrete hyperchaotic system.The algorithm utilizes the chaotic stream cryptography and reads the data from HDFS of Hadoop platform.After fragmentation processing and MapReduce programming,the data are encrypted and decrypted by Map function in parallel.The Reduce function implements the merging operation of the data and stores them on the HDFS.The algorithm has a better execution efficiency.Compared with the low-dimensional chaotic system based encryption algorithm,the non-degenerate high-dimensional discrete chaotic system based encryption algorithm can improve the system security performance.It can pass the strict TESTU01 test with better statistical properties and make sure that the correlation with the parallel ciphertext is very small.Numerous key parameters increase the difficulty in making estimation or identification.Under the closed-loop feedback in ciphertext,it has the ability to resist the known and chosen plaintext attacks.
chaotic system,chaotic cipher,Hadoop
PACS:05.45.Vx,05.45.JnDOI:10.7498/aps.66.230503
*Project supported by the National Key Research and Development Program of China(Grant No.2016YFB0800401)and the National Natural Science Foundation of China(Grant Nos.61532020,61671161,61172023).
?Corresponding author.E-mail:wenhp1019@163.com
(2017年7月5日收到;2017年7月29日收到修改稿)
針對目前大數(shù)據(jù)環(huán)境中存在的數(shù)據(jù)安全問題,提出一種基于Hadoop大數(shù)據(jù)平臺和無簡并高維離散超混沌系統(tǒng)的加密算法.算法采用流密碼對稱加密方式,在Hadoop平臺上讀取存儲于HDFS(Hadoop distributed file system)的大數(shù)據(jù),進行分片處理和MapReduce編程后,用Map函數(shù)實現(xiàn)數(shù)據(jù)并行加密和解密,通過Reduce函數(shù)實現(xiàn)數(shù)據(jù)的合并操作并存儲于HDFS.該算法具有較好的執(zhí)行效率.與正李氏指數(shù)發(fā)生簡并的低維混沌系統(tǒng)相比,無簡并高維離散超混沌加密算法能提高系統(tǒng)安全性能,李氏指數(shù)均為正并且足夠大,具有更好的統(tǒng)計特性,可通過嚴(yán)格的TESTU01測試,并行加密的密文之間互相關(guān)性很小.密鑰參數(shù)眾多使得估計或辨識難度增大.在密文閉環(huán)反饋條件下,具有抵御已知明文攻擊和選擇明文攻擊的能力.
10.7498/aps.66.230503?國家重點研發(fā)計劃(批準(zhǔn)號:2016YFB0800401)和國家自然科學(xué)基金(批準(zhǔn)號:61532020,61671161,61172023)資助的課題.
?通信作者.E-mail:wenhp1019@163.com