張雪鋒,范九倫
(西安郵電大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,陜西 西安 710121)
隨著信息技術(shù)的發(fā)展和網(wǎng)絡(luò)的普及,越來(lái)越多的數(shù)據(jù)在網(wǎng)絡(luò)上傳輸和存儲(chǔ),由于互聯(lián)網(wǎng)具有的開(kāi)放性、共享性等特點(diǎn),導(dǎo)致網(wǎng)絡(luò)安全事件時(shí)有發(fā)生,使得人們對(duì)網(wǎng)絡(luò)中的數(shù)據(jù),尤其是圖像、視頻等流媒體數(shù)據(jù)的安全問(wèn)題日益關(guān)注,如何保證網(wǎng)絡(luò)上流媒體信息的保密性、完整性和可用性已成為信息技術(shù)普及和發(fā)展面臨的一個(gè)重要問(wèn)題。解決互聯(lián)網(wǎng)中數(shù)據(jù)內(nèi)容安全的主要技術(shù)手段是密碼技術(shù)以及圍繞其所形成的各種安全協(xié)議和信任體系。
目前,廣泛使用的密碼技術(shù)分為流密碼技術(shù)和分組密碼技術(shù)。常見(jiàn)的分組密碼算法,如數(shù)據(jù)加密標(biāo)準(zhǔn)(data encryption standard,DES)、高級(jí)加密標(biāo)準(zhǔn)(advanced encryption standard,AES)在加密數(shù)據(jù)時(shí),均將明文數(shù)據(jù)當(dāng)作二進(jìn)制數(shù)據(jù)流來(lái)處理。雖然,這種加密方式利用了相關(guān)算法加密強(qiáng)度高的優(yōu)點(diǎn)達(dá)到了加密安全性高的要求,但是,同時(shí)帶來(lái)了運(yùn)算速度慢、難以滿足實(shí)時(shí)性要求的缺點(diǎn)。尤其對(duì)于網(wǎng)絡(luò)中傳輸和存儲(chǔ)的圖像、視頻等多媒體數(shù)據(jù)來(lái)說(shuō),采用上述算法的加密速度是難以容忍的。
混沌(Chaos)是非線性確定性系統(tǒng)中具有的內(nèi)在隨機(jī)現(xiàn)象,具有運(yùn)動(dòng)軌跡的不可預(yù)測(cè)性,對(duì)系統(tǒng)初值和控制參數(shù)的敏感性以及運(yùn)動(dòng)軌跡的遍歷特性等。而混沌系統(tǒng)所具有的初值敏感性、遍歷性、偽隨機(jī)性等特性與密碼學(xué)中的基本要求相似,密碼學(xué)的兩個(gè)基本原則,即混亂(Confusion)和擴(kuò)散(Diffusion)在混沌系統(tǒng)中都可以找到相應(yīng)的基本特性與之對(duì)應(yīng)?;煦绾兔艽a學(xué)之間所具有的這種天然聯(lián)系和結(jié)構(gòu)上的某種相似性,啟示人們把混沌理論應(yīng)用于密碼學(xué)領(lǐng)域?;煦缋碚摓槊艽a系統(tǒng)的設(shè)計(jì)開(kāi)拓了新思路,使得混沌密碼技術(shù)被列為現(xiàn)代密碼研究的重要前沿之一[1-4]。在信息安全中,混沌被用于圖像與視頻加密、分組密碼與流密碼算法、ash函數(shù)構(gòu)造、密鑰協(xié)議等方面[5-12],并取得了一系列重要進(jìn)展,本文詳細(xì)地介紹近年來(lái)混沌數(shù)字圖像加密技術(shù),在混沌偽隨機(jī)序列生成技術(shù),混沌圖像加密技術(shù),復(fù)合混沌序列生成技術(shù)復(fù)合混沌序列生成技術(shù)等研究方面取得重要的研究進(jìn)展、存在問(wèn)題以及發(fā)展趨勢(shì)。
混沌系統(tǒng)采用浮點(diǎn)運(yùn)算,經(jīng)過(guò)迭代計(jì)算可以生成實(shí)值序列,根據(jù)混沌系統(tǒng)具有的初值敏感性等性質(zhì),得到的實(shí)值序列在理論上是沒(méi)有周期的不可測(cè)序列。但是,在應(yīng)用中,由于采用計(jì)算機(jī)實(shí)現(xiàn)迭代計(jì)算過(guò)程,考慮到有限精度效應(yīng),得到的序列必然退化為周期序列??朔煦缦到y(tǒng)由于有限精度實(shí)現(xiàn)而引發(fā)的有限精度效應(yīng),成為混沌密碼學(xué)的一個(gè)研究重點(diǎn)。Borcherds等人指出,由于有限精度效應(yīng)而導(dǎo)致混沌系統(tǒng)出現(xiàn)的短周期行為難以進(jìn)行精確的理論分析。Joseph L.McCauley進(jìn)一步指出,計(jì)算精度、硬件實(shí)現(xiàn)時(shí)所采用的算法、軟件實(shí)現(xiàn)時(shí)所采用的機(jī)器、實(shí)現(xiàn)時(shí)編程所用的語(yǔ)言種類以及編譯器都會(huì)影響有限精度混沌系統(tǒng)的最終結(jié)果。到目前為止,還缺乏系統(tǒng)的理論工具對(duì)這種有限精度效應(yīng)進(jìn)行分析和克服。為了解決這些問(wèn)題,研究者給出了多種改進(jìn)的密鑰流生成器設(shè)計(jì)方案,例如組合混沌系統(tǒng)、分段混沌系統(tǒng)等,其中,基于混沌系統(tǒng)自身的特點(diǎn)研究設(shè)計(jì)性能優(yōu)良、安全性高的偽隨機(jī)序列生成技術(shù)是目前的一個(gè)主要研究方向。
Tent混沌映射是一種逐段線性的混沌映射,Tent混沌映射[13]定義為
(1)
其中α∈(0,1)。該映射具有均勻的分布函數(shù),用該映射產(chǎn)生的混沌序列具有良好的統(tǒng)計(jì)性質(zhì)。常見(jiàn)的Tent混沌映射取參數(shù)α=0.5,相應(yīng)的迭代公式為
(2)
對(duì)于式(2),相應(yīng)的分段Tent混沌映射表示為
(3)
以上所定義的Tent混沌映射和分段Tent混沌映射在理論上能夠產(chǎn)生具有良好隨機(jī)性能的混沌序列。但是,在計(jì)算計(jì)實(shí)現(xiàn)以上迭代過(guò)程時(shí),由于計(jì)算機(jī)的有限精度效應(yīng),產(chǎn)生的序列會(huì)退化為周期序列。
可以證明,計(jì)算機(jī)有限精度問(wèn)題會(huì)導(dǎo)致Tent混沌映射和分段Tent混沌映射產(chǎn)生的序列退化為0序列的現(xiàn)象[14-15]。
鑒于Tent混沌映射與Logistic混沌映射之間存在的拓?fù)涔曹楆P(guān)系,人們已經(jīng)將Tent混沌映射擴(kuò)展成分段Tent混沌映射,并且得到了較好的效果,一個(gè)自然的想法是定義出與分段Tent混沌映射對(duì)應(yīng)的分段Logistic混沌映射。分段Logistic混沌映射是一種非線性映射,與已有的對(duì)分段線性函數(shù)加擾動(dòng)的方法相比,分段Logistic混沌映射在生成混沌序列的過(guò)程中不需要增加相應(yīng)的擾動(dòng)過(guò)程,從而能夠有效提高算法的效率。
Logistic映射定義為
xn+1=f(xn)=μxn(1-xn),
(4)
其中,x0∈(0,1);系統(tǒng)參數(shù)μ∈[0,4]。當(dāng)3.5699…<μ≤4時(shí),式(4)定義的混沌映射處于穩(wěn)定的混沌狀態(tài)。
Logistic由于定義形式簡(jiǎn)單,迭代計(jì)算過(guò)程容易實(shí)現(xiàn),已被廣泛應(yīng)用于混沌保密技術(shù)的很多領(lǐng)域。但是當(dāng)系統(tǒng)參數(shù)μ取值發(fā)生變化時(shí),式(4)所定義的混沌映射將不再具有遍歷性,其具體結(jié)論見(jiàn)下述定理2。
根據(jù)以上分析,為了有效改善Logistic映射的相關(guān)性能,可以借鑒分段Tent映射的思想,設(shè)計(jì)了分段Logistic映射。理論分析和仿真結(jié)果表明,分段Logistic混沌映射具有更好的遍歷性、初值敏感性等相關(guān)性能。
下面給出一種分段Logistic混沌映射定義,即
其中,3.569946…≤μ≤4,且x0∈(0,1)。
Logistic混沌映射和分段Logistic混沌映射的函數(shù)曲線如圖1所示,其中u=4。
圖1 兩種映射的函數(shù)曲線
改進(jìn)的分段Logistic映射具有更好的遍歷性,具體結(jié)論見(jiàn)定理3。
定理3式(5)定義的分段Logistic映射的相空間為(0,1)。
定理3的結(jié)論表明,改進(jìn)的分段Logistic映射在相空間為(0,1),保證了應(yīng)用公式進(jìn)行迭代計(jì)算時(shí),生成序列在(0,1)上具有良好的遍歷性。
Logistic混沌映射經(jīng)過(guò)合理分段后能夠優(yōu)化Logistic混沌映射的混沌性能,為此,可以進(jìn)一步定義了一種參數(shù)化分段Logistic映射。參數(shù)化Logistic映射的形式為
(6)
式中,3.569946…≤μ≤4,x∈(0,1)。
式(6)中定義的分段區(qū)間數(shù)目t=2s(其中s=1,2,3,…),k=0,1,2,…,(t-1)是子區(qū)間索引變量。特別地,當(dāng)s=0即子區(qū)間數(shù)目t=1時(shí),式(6)退化為傳統(tǒng)Logistic混沌映射的定義。
可以證明,式(6)定義的參數(shù)化分段Logistic映射生成序列的相空間滿足下述定理4。
定理4當(dāng)分段區(qū)間數(shù)目t≥2時(shí),式(6)定義的參數(shù)化分段Logistic混沌映射的相空間為(0,1)。
為了有效評(píng)價(jià)混沌映射的初值敏感性,引入分叉迭代次數(shù),作為評(píng)價(jià)指標(biāo),即
定義1設(shè)混沌系統(tǒng)為an+1=f(an),該映射對(duì)應(yīng)兩個(gè)不同的初始條件a0和b0產(chǎn)生的混沌序列分別為{a1,a2,…}和{b1,b2,…},給定分叉判定閾值δ,定義Ω=min{i‖ai-bi|>δ},則稱Ω為混沌映射an+1=f(an)對(duì)應(yīng)初始條件為a0和b0時(shí)的分叉迭代次數(shù)。
為了提高混沌系統(tǒng)的復(fù)雜度,除了增加系統(tǒng)維度外,通常將傳統(tǒng)混沌映射進(jìn)行組合級(jí)聯(lián)、串聯(lián)等操作,構(gòu)造相應(yīng)的組合混沌系統(tǒng)。與傳統(tǒng)的混沌映射相比,組合混沌映射具有更復(fù)雜的混沌特性,可以應(yīng)用于設(shè)計(jì)具有更好安全性等性能的密碼算法。
下面,給出一種新的線性反饋移位寄存器(linear feedback Shift register ,LFSR)和混沌系統(tǒng)相結(jié)合的偽隨機(jī)序列生成方法,該方法采用LFSR產(chǎn)生選擇函數(shù)來(lái)確定混沌系統(tǒng),通過(guò)循環(huán)迭代結(jié)構(gòu)生成相應(yīng)的偽隨機(jī)序列。鑒于LFSR和混沌系統(tǒng)相結(jié)合具有較大的密鑰空間,采用LFSR產(chǎn)生選擇函數(shù)來(lái)確定混沌系統(tǒng)的方式增加了密碼分析攻擊的難度。在設(shè)計(jì)中,通過(guò)將LFSR的反饋值和生成的二進(jìn)制序列反饋值進(jìn)行異或運(yùn)算的方式實(shí)現(xiàn)了對(duì)LFSR的隨機(jī)擾動(dòng),使得生成序列具有良好的安全性和隨機(jī)性。
在上文所給算法中選用了兩種常用的混沌映射——Logistic混沌映射和立方映射,這兩種映射計(jì)算簡(jiǎn)單,被廣泛應(yīng)用于加密算法、混沌優(yōu)化等方面。Logistic映射定義為
(7)
式中,x0∈(-1,1)。當(dāng)1.401155…<μ≤2時(shí),系統(tǒng)進(jìn)入混沌狀態(tài)。
立方映射定義為
(8)
其中,x0∈(-1,1)。Logistic映射和立方映射的函數(shù)曲線如圖2所示。
圖2 混沌映射函數(shù)曲線
當(dāng)μ=2時(shí),這兩種映射產(chǎn)生的混沌序列取值區(qū)間均為(-1,1),該性質(zhì)能夠保證在上述兩種混沌系統(tǒng)之間進(jìn)行混合迭代計(jì)算時(shí),運(yùn)算結(jié)果具有封閉性。
1.2.1 二值偽隨機(jī)序列生成方法
下面,將給出二種偽隨機(jī)序列生成方法,一種是生成二值偽隨機(jī)序列,另一種是生成實(shí)值偽隨機(jī)序列。其實(shí)現(xiàn)過(guò)程采用LFSR與混沌系統(tǒng)相結(jié)合的方式和循環(huán)迭代結(jié)構(gòu),具體過(guò)程分別如圖3和圖4。
二值序列生成的基本過(guò)程[16]如圖3所示。
圖3 二值序列生成過(guò)程
生成二值偽隨機(jī)序列的具體過(guò)程如下。
首先,根據(jù)LFSR的計(jì)算結(jié)果產(chǎn)生相應(yīng)的選擇函數(shù),通過(guò)選擇函數(shù)確定當(dāng)前迭代計(jì)算使用的混沌系統(tǒng),依據(jù)選擇的混沌系統(tǒng)進(jìn)行迭代計(jì)算,產(chǎn)生相應(yīng)的偽隨機(jī)序列。
其次,將生成的偽隨機(jī)序列根據(jù)加密算法的需要進(jìn)行相應(yīng)的數(shù)制轉(zhuǎn)換,得到的二進(jìn)制值作為最終產(chǎn)生的偽隨機(jī)序列輸出。
在將生成的二值序列輸出的同時(shí),將其作為反饋值與LFSR的反饋值進(jìn)行異或運(yùn)算,運(yùn)算結(jié)果作為L(zhǎng)FSR的最終反饋值,該過(guò)程實(shí)現(xiàn)了對(duì)LFSR生成序列的隨機(jī)擾動(dòng)。
計(jì)算過(guò)程中的數(shù)制轉(zhuǎn)換過(guò)程采用多電平量化法,該方法先將生成的混沌序列中的值x歸一化到區(qū)間[0,1]上,并記為x′,再將x′表示成二進(jìn)制形式,即
舍棄x′的前M位,取其隨后的L位,則有
采用上述方法生成二值偽隨機(jī)序列,具有以下優(yōu)點(diǎn)。
1)通過(guò)LFSR產(chǎn)生選擇函數(shù)來(lái)確定混沌系統(tǒng)的方式增加了密碼分析攻擊的難度,使得生成的偽隨機(jī)序列具有良好的安全性。
2)采用混沌系統(tǒng)進(jìn)行迭代計(jì)算能夠保證該方法具有較大的密鑰空間。
3)計(jì)算過(guò)程可以根據(jù)實(shí)際加密過(guò)程的需要,在數(shù)制轉(zhuǎn)換環(huán)節(jié)經(jīng)過(guò)一次迭代計(jì)算產(chǎn)生多位二進(jìn)制序列值,能夠有效保證產(chǎn)生偽隨機(jī)序列的速度。
4)計(jì)算過(guò)程中可以應(yīng)用多個(gè)簡(jiǎn)單混沌系統(tǒng)進(jìn)行統(tǒng)一的循環(huán)迭代計(jì)算,降低了計(jì)算過(guò)程的復(fù)雜性。
1.2.2 實(shí)值偽隨機(jī)序列生成方法
實(shí)值偽隨機(jī)序列在優(yōu)化計(jì)算、數(shù)據(jù)加密等方面有著廣泛的應(yīng)用。為此,在二值偽隨機(jī)序列生成方法的基礎(chǔ)上,進(jìn)一步給出一種LFSR和混沌系統(tǒng)相結(jié)合的實(shí)值偽隨機(jī)序列生成方法。實(shí)值偽隨機(jī)序列生成的基本過(guò)程[16]如圖4所示。
圖4 實(shí)值序列生成過(guò)程
生成實(shí)值偽隨機(jī)序列的具體過(guò)程如下。
根據(jù)LFSR的計(jì)算結(jié)果產(chǎn)生選擇函數(shù),通過(guò)選擇函數(shù)確定當(dāng)前迭代計(jì)算使用的混沌系統(tǒng)。
應(yīng)用選擇的混沌系統(tǒng)進(jìn)行迭代計(jì)算產(chǎn)生相應(yīng)的偽隨機(jī)序列,將其作為實(shí)值偽隨機(jī)序列輸出。
將生成的偽隨機(jī)序列進(jìn)行數(shù)制轉(zhuǎn)換,生成的二值序列與LFSR的反饋值進(jìn)行異或運(yùn)算,運(yùn)算結(jié)果作為L(zhǎng)FSR的最終反饋值,該過(guò)程實(shí)現(xiàn)對(duì)LFSR生成序列的隨機(jī)擾動(dòng)。
以上迭代計(jì)算過(guò)程中,反饋機(jī)制二值化過(guò)程可以采用二值量化法來(lái)實(shí)現(xiàn)。對(duì)于混沌序列{xi},i=1,2,…,N。定義二值化結(jié)果為
(9)
圖3和圖4的迭代計(jì)算過(guò)程可以通過(guò)多個(gè)不同的簡(jiǎn)單混沌系統(tǒng)實(shí)現(xiàn)。需要強(qiáng)調(diào)的是迭代計(jì)算過(guò)程中所選擇的混沌系統(tǒng)必須具有相同的相空間,這樣才能保證應(yīng)用選擇機(jī)制實(shí)現(xiàn)在不同混沌系統(tǒng)之間進(jìn)行迭代計(jì)算時(shí),運(yùn)算過(guò)程的封閉性。
考慮到應(yīng)用混沌系統(tǒng)進(jìn)行迭代計(jì)算生成的序列具有良好的隨機(jī)性能,1990年,Matthews給出了一種基于一維Logistic混沌映射的圖像加密算法,該算法應(yīng)用Logistic映射設(shè)定不同的初始條件生成混沌序列,采用流密碼結(jié)構(gòu)對(duì)數(shù)字圖像的像素灰度值進(jìn)行替換操作,實(shí)現(xiàn)對(duì)數(shù)字圖像的加密[17]。1991年,Habutsu等人對(duì)Matthews的算法進(jìn)行了改進(jìn)[18],給出了一種基于一維Logistic混沌系統(tǒng)和異或運(yùn)算的圖像加密算法,該方法將Logistic映射的初始參數(shù)作為加密密鑰,利用Logistic映射進(jìn)行循環(huán)迭代計(jì)算產(chǎn)生實(shí)數(shù)序列,該序列被轉(zhuǎn)換成二值序列與待加密的明文進(jìn)行簡(jiǎn)單的異或運(yùn)算,得到加密后的密文信息。其中實(shí)數(shù)序列的二值轉(zhuǎn)換方法是對(duì)生成序列的相空間進(jìn)行簡(jiǎn)單劃分,根據(jù)生成序列值對(duì)應(yīng)的區(qū)間將其離散化為0或1,從而得到相應(yīng)的二值序列。Habutsu等人提出的基于灰度替換操作的圖像加密實(shí)驗(yàn)結(jié)果如圖5所示。圖6給出了這類基于像素灰度替換設(shè)計(jì)的加密算法基本加密過(guò)程。
圖5 灰度替換圖像加密結(jié)果
圖6 灰度替換圖像加密基本過(guò)程
這類基于像素灰度替換操作設(shè)計(jì)的圖像加密算法存在的二個(gè)主要問(wèn)題,首先,當(dāng)使用計(jì)算機(jī)根據(jù)混沌映射通過(guò)迭代計(jì)算生成混沌序列時(shí),由于計(jì)算機(jī)存在有限精度效應(yīng),產(chǎn)生的混沌序列最終都將退化成周期序列,而且序列的周期一般較小,導(dǎo)致加密算法本身存在安全問(wèn)題;其次,設(shè)計(jì)的流密碼結(jié)構(gòu)的圖像加密過(guò)程是一種線性操作,不能抵御已知明文攻擊和選擇明文攻擊。
基于以上原因,單獨(dú)通過(guò)像素灰度替換操作來(lái)實(shí)現(xiàn)圖像加密的過(guò)程并不能保證加密算法的安全性。但是,像素灰度替換操作能夠?qū)崿F(xiàn)對(duì)圖像像素灰度統(tǒng)計(jì)信息的改變,加密結(jié)果圖像能夠?qū)崿F(xiàn)對(duì)原始圖像像素灰度混亂的目的,因此,該加密操作可以作為圖像加密的一個(gè)基本操作來(lái)設(shè)計(jì)復(fù)雜結(jié)構(gòu)的圖像加密算法[19-22]。
密碼技術(shù)中涉及二個(gè)基本操作,即替換和置亂。對(duì)于圖像加密技術(shù),典型的基于置亂操作的加密技術(shù)是基于Arnold映射的置亂加密。Arnold混沌映射也稱貓映射,是V.I.Arnold在研究環(huán)面上的自同態(tài)問(wèn)題時(shí)提出的[23],由于二維Arnold混沌映射原理簡(jiǎn)單,實(shí)現(xiàn)方便,后來(lái)被廣泛應(yīng)用于數(shù)字圖像的保護(hù)技術(shù)。二維Arnold混沌映射定義為
(10)
其中:mod1表示只取數(shù)字的小數(shù)部分,即xmod 1=x-[x]。因此(xn,yn)的相空間限制在單位正方形[0,1]×[0,1]內(nèi),將式(10)表示成矩陣形式為
圖7 Arnold映射的拉伸和折疊原理示意圖
齊東旭等人基于Arnold混沌系統(tǒng)提出了一種基于位置置亂的圖像加密算法,該算法基于二維Arnold映射產(chǎn)生相應(yīng)的置亂矩陣,通過(guò)置亂矩陣對(duì)圖像的灰度矩陣進(jìn)行置亂變換,實(shí)現(xiàn)對(duì)灰度圖像的置亂加密[24-25]。在此基礎(chǔ)上,馬在光等人[26]進(jìn)一步給出了二維Arnold映射的整數(shù)推廣形式,所提出的廣義Arnold映射定義為
(13)
廣義Arnold映射能夠在N×N的二維空間內(nèi)進(jìn)行保面積映射,而且置換過(guò)程中各系數(shù)均為整數(shù),所以,整個(gè)運(yùn)算過(guò)程中不會(huì)引入誤差。根據(jù)Arnold映射設(shè)計(jì)的圖像加密算法通過(guò)置亂矩陣對(duì)圖像的灰度矩陣進(jìn)行置亂,實(shí)現(xiàn)灰度圖像的加密過(guò)程,該操作后來(lái)被廣泛應(yīng)用于圖像加密算法的設(shè)計(jì)中[27-29]。圖8所示為基于Arnold映射和像素置亂操作的圖像加密實(shí)驗(yàn)結(jié)果。圖示結(jié)果表明,隨著加密次數(shù)的增加,加密效果越來(lái)越好。
圖8 像素置亂圖像加密結(jié)果
這類基于像素位置置亂操作設(shè)計(jì)的圖像加密算法存在二個(gè)主要問(wèn)題是[30-31]。首先是置亂變換均存在周期性,導(dǎo)致加密算法的安全性無(wú)法有效保障;其次是設(shè)計(jì)的基于置亂操作的圖像加密過(guò)程也是一種線性操作,不能抵御已知明文攻擊和選擇明文攻擊。
在密碼學(xué)中,加密算法的安全問(wèn)題始終是需要解決的主要問(wèn)題。1949年,Shannon在他的研究論文CommunicationTheoryofSecrecySystems中明確了實(shí)現(xiàn)密碼算法安全性的基本原則是混亂和擴(kuò)散?,F(xiàn)代密碼算法,如:DES,AES的設(shè)計(jì)均遵循這一原則,加密流程的設(shè)計(jì)均采用循環(huán)迭代結(jié)構(gòu),每輪加密過(guò)程中均涉及替換和置亂的基本操作。
基于灰度替換或者基于像素置亂的加密模式雖然無(wú)法保證設(shè)計(jì)的加密算法的安全性,但是,這二個(gè)加密模式分別對(duì)應(yīng)替換和置亂二個(gè)基本操作,這二個(gè)基本操作是實(shí)現(xiàn)混亂和擴(kuò)散的基本方式,每輪加密過(guò)程中均涉及替換和置亂的基本操作。借鑒分組密碼體制設(shè)計(jì)采用的循環(huán)迭代結(jié)構(gòu),研究者提出了多種基于不同混沌系統(tǒng)的循環(huán)迭代結(jié)構(gòu)圖像加密算法[32-35],其基本結(jié)構(gòu)如圖9所示。
圖9 循環(huán)迭代結(jié)構(gòu)圖像加密算法的基本過(guò)程
采用循環(huán)迭代結(jié)構(gòu)設(shè)計(jì)圖像加密算法需要解決的關(guān)鍵問(wèn)題包括以下幾個(gè)方面。
1)輪密鑰生成技術(shù)。采用循環(huán)迭代結(jié)構(gòu)設(shè)計(jì)的加密算法需要進(jìn)行多輪加密,每輪加密也需要用到多個(gè)不同的子密鑰。因此,如何結(jié)合混沌系統(tǒng)設(shè)計(jì)具有良好隨機(jī)性能的輪密鑰是設(shè)計(jì)加密算法首先要解決的問(wèn)題。目前,研究者提出了多種不同的輪密鑰生成機(jī)制,如基于循環(huán)移位操作的輪密鑰生成機(jī)制,基于混沌系統(tǒng)和迭代計(jì)算的輪密鑰生成機(jī)制等。
2)混沌偽隨機(jī)序列生成技術(shù)。在當(dāng)前設(shè)計(jì)的加密算法中,像素灰度替換操作和像素位置置亂操作均基于偽隨機(jī)序列來(lái)實(shí)現(xiàn),生成性能良好的偽隨機(jī)序列是實(shí)現(xiàn)加密算法安全的前提。當(dāng)前,考慮到應(yīng)用計(jì)算機(jī)進(jìn)行迭代計(jì)算時(shí)有限精度效應(yīng)的影響,產(chǎn)生的混度序列最終都將退化為周期序列,為了有效解決這一問(wèn)題,研究者已提出了多種不同的解決方案,如基于隨機(jī)擾動(dòng)的偽隨機(jī)序列生成算法,基于分段結(jié)構(gòu)的偽隨機(jī)序列生成算法,基于復(fù)合混沌系統(tǒng)的偽隨機(jī)序列生成算法,結(jié)合LFSR和混沌系統(tǒng)的偽隨機(jī)序列生成算法等,這些算法均較有效地改進(jìn)了生成序列的相關(guān)性能。
3)加密反饋機(jī)制。在循環(huán)迭代結(jié)構(gòu)的圖像加密算法的加密流程中,像素灰度替換和位置置亂操作在本質(zhì)上均是線性運(yùn)算,單純依靠這二個(gè)基本操作設(shè)計(jì)的加密算法,將無(wú)法抵御已知明文攻擊和選擇明文攻擊,而且加密算法的初值敏感性、雪崩效應(yīng)等性能也較差。因此,在加密過(guò)程中,需要采用反饋機(jī)制,是明文消息對(duì)加密結(jié)果產(chǎn)生反饋,這樣既能保證設(shè)計(jì)的算法對(duì)明文消息具有敏感性,也能得到更好的雪崩效應(yīng)和安全性。同時(shí),在設(shè)計(jì)反饋模式時(shí),不僅需要考慮加密結(jié)果的安全性,還需要考慮解密過(guò)程的有效性和對(duì)稱性。
基于混沌的圖像加密技術(shù)的相關(guān)性能與加密算法的具體流程、設(shè)計(jì)的混沌系統(tǒng)及生成序列的性能、迭代反饋結(jié)構(gòu)的設(shè)計(jì)等密切相關(guān)。當(dāng)前,該領(lǐng)域亟待解決和研究的熱點(diǎn)問(wèn)題包括以下幾個(gè)問(wèn)題。
基于混沌的密碼算法的安全性與其產(chǎn)生的偽隨機(jī)序列的性能緊密相關(guān),但在實(shí)際的使用中存在的問(wèn)題是混沌系統(tǒng)在計(jì)算機(jī)上的實(shí)現(xiàn)面臨有限精度效應(yīng)現(xiàn)象。如何克服混沌系統(tǒng)由于有限精度實(shí)現(xiàn)而引發(fā)的有限精度效應(yīng),已成為混沌密碼學(xué)的一個(gè)研究重點(diǎn)。Borcherds等人指出[36],由于有限精度效應(yīng)而導(dǎo)致混沌系統(tǒng)出現(xiàn)的短周期行為難以進(jìn)行精確的理論分析。Joseph L.McCauley進(jìn)一步指出[36],計(jì)算精度、硬件實(shí)現(xiàn)時(shí)所采用的算法、軟件實(shí)現(xiàn)時(shí)所采用的機(jī)器、實(shí)現(xiàn)時(shí)編程所用的語(yǔ)言種類以及編譯器都會(huì)影響有限精度混沌系統(tǒng)的最終結(jié)果。到目前為止,仍然缺乏系統(tǒng)的理論工具對(duì)這種有限精度效應(yīng)進(jìn)行分析和克服。
混沌理論研究的發(fā)展為混沌密碼學(xué)的應(yīng)用提供了良好的理論基礎(chǔ),尤其是對(duì)密鑰空間大小、隨機(jī)性能良好的復(fù)合混沌系統(tǒng)的研究,已經(jīng)成為當(dāng)前眾多研究者關(guān)注的重點(diǎn)。目前已經(jīng)提出了多種不同的復(fù)合混沌系統(tǒng),包括復(fù)合離散混沌系統(tǒng)、復(fù)合混沌動(dòng)力學(xué)系統(tǒng)、單向耦合映射格等,這些復(fù)合混沌系統(tǒng)均是將多個(gè)不同的混沌系統(tǒng)進(jìn)行組合,通過(guò)控制系數(shù)實(shí)現(xiàn)在多個(gè)混沌系統(tǒng)之間的切換,同時(shí),保證了生成的序列具有較好的相關(guān)性能。但是,這些復(fù)合混沌系統(tǒng)在應(yīng)用過(guò)程中存在著計(jì)算復(fù)雜,難以通過(guò)硬件實(shí)現(xiàn)等缺點(diǎn),因此,結(jié)合密碼學(xué)中的偽隨機(jī)序列生成技術(shù),設(shè)計(jì)性能良好并且便于硬件實(shí)現(xiàn)的偽隨機(jī)序列生成方法的研究也將成為今后研究的一個(gè)方向[30-32]。
現(xiàn)有的混沌系統(tǒng)評(píng)價(jià)指標(biāo)包括分岔圖、Lyapunov指數(shù)、Hausdoff維數(shù)、Kolmogorov熵等[37-44],這些評(píng)價(jià)方法均具有良好的物理學(xué)含義,而且計(jì)算簡(jiǎn)單,結(jié)果明確。由于計(jì)算機(jī)存在的有限精度效應(yīng),當(dāng)應(yīng)用計(jì)算機(jī)仿真實(shí)現(xiàn)混沌系統(tǒng)時(shí),計(jì)算得到的混沌序列與混沌序列的理論取值存在截?cái)嗾`差,這必然將導(dǎo)致生成的混沌序列最終退化為周期序列,因此,在對(duì)混沌系統(tǒng)進(jìn)行量化評(píng)價(jià)和判斷的基礎(chǔ)上,還需要研究相應(yīng)的混沌序列相關(guān)性能的評(píng)價(jià)方法和指標(biāo)?;煦缧蛄邢嚓P(guān)性能的評(píng)價(jià),既要充分考慮混沌信號(hào)的不可預(yù)測(cè)性、初值和系統(tǒng)參數(shù)的敏感性對(duì)密碼系統(tǒng)的安全作用,還要考慮到有限精度實(shí)驗(yàn)條件下,生成序列的性能評(píng)價(jià)問(wèn)題。目前被廣泛采用的隨機(jī)序列檢驗(yàn)準(zhǔn)則,均是基于Golomb提出的三個(gè)隨機(jī)性假設(shè)而構(gòu)造的統(tǒng)計(jì)指標(biāo),如頻率檢驗(yàn)、序列檢驗(yàn)、撲克測(cè)試、自相關(guān)檢驗(yàn)和游程檢驗(yàn)等序列隨機(jī)性檢驗(yàn)指標(biāo),以及反映序列不可預(yù)測(cè)性的復(fù)雜度測(cè)試等密鑰流序列評(píng)價(jià)標(biāo)準(zhǔn),這些研究成果為一維密鑰流序列的安全性評(píng)價(jià)提供了較完善的理論依據(jù)和檢驗(yàn)方法。而對(duì)于適用于圖像和視頻加密的高維混沌序列,現(xiàn)有的Lyapunov指數(shù)、功率譜等評(píng)價(jià)指標(biāo)只是對(duì)映射的混沌性能進(jìn)行判斷,無(wú)法評(píng)價(jià)高維混沌序列的隨機(jī)性等相關(guān)性能。因此,如何客觀量化評(píng)價(jià)一維序列的隨機(jī)性能,如何解決高維隨機(jī)序列的性能評(píng)價(jià)等問(wèn)題還有待進(jìn)一步研究[45-46]。
自從1989年混沌理論被應(yīng)用于圖像加密以來(lái),基于混沌理論的數(shù)字圖像保護(hù)技術(shù)的研究取得了豐碩的研究成果,新的基于混沌理論的圖像加密、圖像隱藏算法和利用混沌系統(tǒng)相關(guān)理論的攻擊算法相繼提出[47-48]。以基于混沌理論的數(shù)字圖像加密技術(shù)為例,當(dāng)前,單一的基于灰度變化或者位置置亂的圖像加密算法已經(jīng)不能滿足算法的安全性要求,為此,人們借鑒密碼學(xué)中的Feistel型分組密碼結(jié)構(gòu),提出了多種將灰度變化和位置置亂相結(jié)合的混合迭代結(jié)構(gòu)數(shù)字圖像加密算法,圖像加密算法的安全性得到很大提高,但是,相應(yīng)的加密效果卻有所降低,尤其是考慮到網(wǎng)絡(luò)中實(shí)時(shí)加密的要求,使得這些算法的實(shí)用性并不好。因此,如何實(shí)現(xiàn)加密算法的效率和安全性平衡,如何設(shè)計(jì)具有良好實(shí)時(shí)性的分組密碼結(jié)構(gòu)的數(shù)字圖像加密算法,如何結(jié)合基于混沌的偽隨機(jī)序列生成技術(shù)設(shè)計(jì)流密碼結(jié)構(gòu)的數(shù)字圖像加密算法,以及圖像加密效果的量化評(píng)價(jià)問(wèn)題,仍將是今后該領(lǐng)域的研究重點(diǎn)。