圖像文件加密中Kaprekar序列的似混沌特性的應(yīng)用

為獲得采用整型運(yùn)算的似混沌序列,基于Kaprekar變換并利用Kaprekar常數(shù)的數(shù)學(xué)性質(zhì),構(gòu)造一種新的時(shí)間序列Kaprekar序列。利用時(shí)間序列的分析方法對(duì)Kaprekar序列進(jìn)行功率譜特性、相空間重構(gòu)、最大Lyapunov指數(shù)和主分量等方面的分析,與經(jīng)典Logistic序列進(jìn)行比較,得到Kaprekar序列與混沌序列的關(guān)系。

一、Kaprekar時(shí)間序列

1、Kaprekar變換

印度數(shù)學(xué)家D R Kaprekar提出一種稱(chēng)作Kaprekar變換的迭代操作,即:首先任意選擇一個(gè)各位數(shù)字不完全相同的4位自然數(shù),即不能有1111,2 222,…等數(shù),然后對(duì)這個(gè)數(shù)的各位數(shù)字重新排列,選出最大值與最小值,再將最大值與最小值之差作為新的數(shù)并重復(fù)進(jìn)行上述操作。Kaprekar變換操作非常簡(jiǎn)單,卻有一個(gè)驚人的結(jié)果:

所有選擇的數(shù)字在7次以?xún)?nèi)的上述操作之后都會(huì)收斂于6 174,并不再變化。以1 21 3為例,結(jié)果見(jiàn)表1。

圖像文件加密中Kaprekar序列的似混沌特性的應(yīng)用

從自然數(shù)用經(jīng)過(guò)若干次Kaprekar變換到6 174,產(chǎn)生的序列稱(chēng)作Kaprekar路徑。

2、Kaprekar變換的推廣

將Kaprekar變換推廣到2位、3位、5位、6位直至9位數(shù),計(jì)算結(jié)果如表2所示。

圖像文件加密中Kaprekar序列的似混沌特性的應(yīng)用

此外,2位數(shù)雖然沒(méi)有收斂值,但收斂于1個(gè)循環(huán);5位數(shù)與2位數(shù)類(lèi)似,但收斂于3個(gè)循環(huán);6位數(shù)收斂于2個(gè)數(shù)值,還收斂于1個(gè)循環(huán);7位數(shù)與2位數(shù)一樣,沒(méi)有收斂值,但收斂于1個(gè)循環(huán);8位數(shù)收斂于2個(gè)數(shù)值,還收斂于2個(gè)循環(huán);9位數(shù)收斂于2個(gè)數(shù)值,還收斂于2個(gè)循環(huán)。

3、Kaprekar序列

根據(jù)Kaprekar操作的特殊性質(zhì),將符合條件的8 991個(gè)4位數(shù)的Kaprekar路徑連接成一維時(shí)間序列:

0 999 8 991 8 082 8 532 6174…1 998 8 082 8 532 6 174 0 999 8 991 8 082 8 532 6 174

此外,也可以用同樣的方法構(gòu)造其他位數(shù)的Kaprekar序列,只不過(guò)需要對(duì)收斂值做一點(diǎn)界定:如有循環(huán),則從每個(gè)收斂循環(huán)中任意挑選一個(gè)數(shù)作為收斂值。每個(gè)數(shù)的Kaprekar路徑為到收斂值的路徑。

二、Kaprekar序列的時(shí)間序列分析

取4位數(shù)的Kaprekar序列為研究對(duì)象,與典型的Logistic序列相比較。3000個(gè)數(shù)據(jù)點(diǎn)就可以判斷一個(gè)序列為混沌時(shí)間序列,并可以重構(gòu)相空間。

1、功率譜分析

選取4位數(shù)Kaprekar序列的前3 000個(gè)數(shù)據(jù)點(diǎn)進(jìn)行分析。利用FFT算法,可以對(duì)時(shí)間序列進(jìn)行功率譜分析,圖1與圖2分別是Kaprekar序列與Logistic混沌序列的功率譜,可以看到,兩序列的功率譜沒(méi)有明顯區(qū)別,都呈現(xiàn)寬頻且無(wú)明顯的峰值特征。

圖像文件加密中Kaprekar序列的似混沌特性的應(yīng)用

2、主分量分析

主分量分析是一種能夠有效區(qū)分噪聲和混沌信號(hào)的方法。對(duì)于給定序列[x(1),x(2),…,x(n)],進(jìn)行主分量分析的步驟如下:

首先,可以選取一個(gè)嵌入維數(shù)歷構(gòu)造軌線(xiàn)矩陣X(X∈Rkxm,k=N-(m-1)):

圖像文件加密中Kaprekar序列的似混沌特性的應(yīng)用

然后計(jì)算其協(xié)方差矩陣A(A∈Rm*n):

圖像文件加密中Kaprekar序列的似混沌特性的應(yīng)用

再計(jì)算A的所有特征值λi(i=1,2,…,m),并按大小排列,求出:

圖像文件加密中Kaprekar序列的似混沌特性的應(yīng)用

最后,以i為X軸,In(λily)為y軸得到該時(shí)間序列的主分量譜。

混沌信號(hào)和噪聲的主分量分布有著明顯差異。混沌信號(hào)的主分量譜是一條過(guò)定點(diǎn)且斜率為負(fù)的直線(xiàn)(或含有類(lèi)似直線(xiàn)部分),噪聲則是一條與X軸接近平行的直線(xiàn)。圖3、圖4、圖5分別給出了Kaprekar序列、Logistic序列和高斯白噪聲的主分量分析結(jié)果,實(shí)驗(yàn)結(jié)果表明,Kaprekar序列與Logistic混沌序列相似,而與噪聲不同,所以Kaprekar序列具有似混沌的特性。

圖像文件加密中Kaprekar序列的似混沌特性的應(yīng)用

三、相空間重構(gòu)與最大Lyapunov指數(shù)

在混沌系統(tǒng)中,任一分量的演化是由與之相互作用的其他分量所決定的,根據(jù)Takens的嵌入定理,只要選取合適的嵌入維數(shù)與時(shí)間延遲重構(gòu)相空間,就可以在拓?fù)涞葍r(jià)意義上恢復(fù)系統(tǒng)。

為了確定嵌入維數(shù)與時(shí)間延遲,采用H S Kim等提出的C-C算法,與Logistic序列比較如表3所示。

圖像文件加密中Kaprekar序列的似混沌特性的應(yīng)用

對(duì)初值條件非常敏感是混沌系統(tǒng)的基本特點(diǎn),2個(gè)靠得很近的初值所產(chǎn)生的軌道,隨著時(shí)間推移按照指數(shù)分離。Lyapunov指數(shù)是對(duì)這種現(xiàn)象的定量描述。如果Lyapunov指數(shù)小于0,則相鄰點(diǎn)最終要收斂于一點(diǎn);若Lyapunov指數(shù)大于0,則相鄰點(diǎn)最終要發(fā)散,如果軌道還有其他穩(wěn)定因素,則在此共同作用下形成混沌吸引子。因此,判斷Lyapunov指數(shù)的正負(fù)可以作為混沌系統(tǒng)的一個(gè)判斷標(biāo)準(zhǔn)。

采用Wolf方法計(jì)算時(shí)間序列的最大Lyapunov指數(shù)為1.186 2,說(shuō)明Kaprekar序列與混沌序列一樣對(duì)初始值非常敏感。

4、結(jié)論

對(duì)其他位數(shù)的Kaprekar序列進(jìn)行了類(lèi)似的分析,得出相同的結(jié)論:Kaprekar序列與Logistic混沌時(shí)間序列具有相似的特性。

三、Kaprekar序列在圖像加密中的應(yīng)用

1、圖像加密算法

混沌信號(hào)應(yīng)用于圖像加密中已取得了很好的加密效果。既然Kaprekar序列與混沌信號(hào)具有相似的性質(zhì),將Kaprekar序列應(yīng)用在圖像加密中,可以預(yù)期獲得很好的加密效果。

實(shí)驗(yàn)中采用了一種基于貓映射和混沌序列加密算法,取得了滿(mǎn)意的加密效果。加密算法流程如圖6所示。

圖像文件加密中Kaprekar序列的似混沌特性的應(yīng)用

下面分別介紹貓映射算法與Kaprekar序列加密算法。

貓映射算法:對(duì)于N×N像素點(diǎn)的圖像,將像素點(diǎn)位置按照某一規(guī)則置亂。坐標(biāo)為(x,y)的像素點(diǎn),按照:

圖像文件加密中Kaprekar序列的似混沌特性的應(yīng)用

移動(dòng)到新的坐標(biāo)(x',y'),式(4)中,p,g為正整數(shù),對(duì)N取模保證計(jì)算出的坐標(biāo)結(jié)果取值范圍與原圖像坐標(biāo)取值范圍相同。

Kaprekar序列加密:Kaprekar序列加密算法對(duì)每個(gè)像素的像素值進(jìn)行擾動(dòng),對(duì)于整個(gè)圖像,經(jīng)過(guò)第k次加密后的像素值為:

圖像文件加密中Kaprekar序列的似混沌特性的應(yīng)用

式中:C(k)為本次加密后的圖像的像素值矩陣;C(k-1)為上次加密后的像素值矩陣;I(k)為從Kaprekar序列數(shù)值處理得到的整數(shù)值矩陣;P(k)為原始圖像的像素值矩陣。

圖像加密具體算法步驟如下:

步驟1:將圖像按照貓映射算法進(jìn)行像素位置置亂,遍歷每個(gè)像素點(diǎn),按照式(4)計(jì)算其新的位置。并輸出位置置亂后的圖像。進(jìn)行M次置亂,每一次置亂之后,同時(shí)改變p,g的值,使得:

圖像文件加密中Kaprekar序列的似混沌特性的應(yīng)用

式中:p(m),q(m)為第聊次置亂采用的p,g;K(.)為Kaprekar操作。

步驟2:獲得Kaprekar加密序列(在此采用4位數(shù)Kaprekar序列與5位數(shù)Kaprekar序列,因?yàn)橄袼刂禐镺到255之間的整數(shù),將4位數(shù)Kaprekar序列與5位數(shù)Kaprekar序列分別歸一化為O到255的整數(shù)并連接在一起)。

選定Kaprekar初始值,此處選擇0001(高位包含3個(gè)0表示4位數(shù)的1)。

步驟3:將Kaprekar加密序列轉(zhuǎn)化為NxN矩陣。

步驟4:確定初始加密條件C(O),采用式(5),完成指定次數(shù)的加密。

實(shí)驗(yàn)中,原始圖像為L(zhǎng)ena圖像,初始加密條件選C(O)為零矩陣。

2、實(shí)驗(yàn)結(jié)果

圖7為原始的Lena圖像,經(jīng)過(guò)貓映射后得到圖8,此時(shí)圖像的直方圖分布并未發(fā)生改變,圖12為圖7的直方圖,圖13為圖8的直方圖。取Kaprekar序列作為加密序列得到圖9,此時(shí)圖像的直方圖分布已經(jīng)變?yōu)閳D14。

圖像文件加密中Kaprekar序列的似混沌特性的應(yīng)用

整個(gè)加密過(guò)程,既改變了像素位置,又改變了像素的值。圖10為解密得到正確的圖像。圖11為在實(shí)驗(yàn)中用錯(cuò)一位的I(k)去解密得到錯(cuò)誤圖像,說(shuō)明Kaprekar序列與混沌序列一樣對(duì)初始值極為敏感。其他圖像應(yīng)用本加密算法也取得了相似的結(jié)果。

3、結(jié)果分析

直方圖分析可以很好地反映出圖像加密算法抵御統(tǒng)計(jì)攻擊的能力。加密后的圖像直方圖分布越均勻,則抵抗統(tǒng)計(jì)攻擊的能力越強(qiáng)。原始圖像的直方圖具有明顯的統(tǒng)計(jì)特性,在進(jìn)行貓映射變換后,雖然圖像發(fā)生了變化,但是直方圖分布并未變換,仍然具有原始圖像的統(tǒng)計(jì)特性。而經(jīng)過(guò)Kaprekar時(shí)間序列加密后,圖像的直方圖已經(jīng)趨于均勻分布,大大增加了抵御統(tǒng)計(jì)攻擊的能力。

實(shí)驗(yàn)中,貓映射加密階段采用了2個(gè)自然數(shù)為密鑰:a,b都是O到255的任意整數(shù)。進(jìn)行貓映射的次數(shù)也是一個(gè)密鑰,取值范圍也為O到255。在Kaprekar序列加密階段,Kaprekar序列的初始值為一個(gè)無(wú)符號(hào)的長(zhǎng)整型數(shù)據(jù),取值范圍為O到(232-1)。加密次數(shù)一般取2到8,此外還需要確定初始加密條件C(O),C(O)包含N2個(gè)0到255之間的整數(shù)元素。綜上所述,密鑰空間為:2563x232xN2x6。

而對(duì)Logistic序列而言,因?yàn)長(zhǎng)ogistic序列的每個(gè)元素都為雙精度浮點(diǎn)數(shù),由于計(jì)算機(jī)字長(zhǎng)限制,Logistic序列的數(shù)據(jù)精度一般取十萬(wàn)分之一,故Logistic序列加密的密鑰空間為:2563x105xN2x6。

所以從計(jì)算復(fù)雜度來(lái)看,Kaprekar序列具有整數(shù)存儲(chǔ)的優(yōu)勢(shì),可取密鑰空間更大。

像素值的改變率(Number of Pixels Change Rate,NPCR)和圖像的整體平均變化密度(Unified Average ChangingIntensity,UACI)是用來(lái)衡量加密算法抗差分攻擊能力的指標(biāo)。如果圖像某個(gè)像素值的改變可以大大改變加密后圖像,則加密算法具有好的抗差分攻擊的能力。

通過(guò)與Logistic序列作為加密序列的實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比分析,可得出兩者具有相似的抗差分攻擊的能力,如表4所示。

圖像文件加密中Kaprekar序列的似混沌特性的應(yīng)用

小知識(shí)之Lyapunov指數(shù)

Lyapunov指數(shù)是衡量系統(tǒng)動(dòng)力學(xué)特性的一個(gè)重要定量指標(biāo),它表征了系統(tǒng)在相空間中相鄰軌道間收斂或發(fā)散的平均指數(shù)率。對(duì)于系統(tǒng)是否存在動(dòng)力學(xué)混沌, 可以從最大Lyapunov指數(shù)是否大于零非常直觀(guān)的判斷出來(lái): 一個(gè)正的Lyapunov指數(shù),意味著在系統(tǒng)相空間中,無(wú)論初始兩條軌線(xiàn)的間距多么小,其差別都會(huì)隨著時(shí)間的演化而成指數(shù)率的增加以致達(dá)到無(wú)法預(yù)測(cè),這就是混沌現(xiàn)象。