陣f2 (s,t)〇
[0042] 首先,將圖像中的像素值變成double型,將置亂后的圖像矩陣fi(s,t)與矩陣函數(shù) exp(j化m(x))作點(diǎn)積,其中m(x)為由256X256個(gè)在[(U]上均勻分布隨機(jī)數(shù)組成的矩陣;
[0043] 然后,通過(guò)調(diào)用隨機(jī)數(shù)生成函數(shù)rand生成大小為256X256的m(x),得到編碼后的 圖像矩陣f2(S,t)。
[0044] 步驟4,將編碼后的圖像矩陣f2(s,t)進(jìn)行二維分?jǐn)?shù)傅里葉變換,得到變換后的圖 像矩陣芭批V)。
[0045] 二維分?jǐn)?shù)傅里葉變換公式如下:
[0046]
[0047] 其中心'乂 W,V)是二維分?jǐn)?shù)傅里葉變換的核,運(yùn)種變換可等價(jià)為分別由x,y兩 個(gè)方向進(jìn)行分?jǐn)?shù)傅里葉變換,故其變換核可寫(xiě)成么',,,,レ乂".i')二尺'。レ,")X《,J/,1.'),此時(shí)二 維分?jǐn)?shù)傅里葉變換的核函數(shù)為:
[004引
[0049] 其中《= f A '身=|趙,口1、口2分別為分?jǐn)?shù)形式的階數(shù);
[0050] 選取分?jǐn)?shù)傅里葉變換在x、y方向的變換階數(shù)口1 = 0.6,口2 = 0.4,將編碼后的圖像矩 陣f2(S,t)帶入上述二維分?jǐn)?shù)傅里葉變換公式,進(jìn)行二維分?jǐn)?shù)傅里葉變換,得到變換后的圖 像矩陣 F,, V)。
[0051] 步驟5,選取兩個(gè)初始值,分別代入復(fù)合混濁系統(tǒng),得到去除前10000個(gè)數(shù)值的作用 于X方向的混濁序列{xi巧日去除前10000個(gè)數(shù)值的作用于y方向的混濁序列{yi}。
[0052] 5a)選取X方向的初始值代入復(fù)合混濁系統(tǒng),作用于X方向的混濁序列{xi}:
[0化3 ] 5a 1)輸入初始值X0,令η = 0,Xn = X0;
[0054] 5a2)判斷xn與0的大小關(guān)系,如果xn<0,則執(zhí)行5a4);否則,執(zhí)行5a3);
[0057] 5a5)判斷η與9999+N的大小關(guān)系,如果η < 9999+N,則返回5a2);否則,固b出循環(huán),終 止計(jì)算,所得的序列Ixi}為迭代生成的混濁序列,其中i = 〇,l,2,...,9999+N,N=化6;
[005引 5b)選取y方向的初始值代入復(fù)合混濁系統(tǒng),作用于y方向的混濁序列{yi}:
[0059 ] f5b 1)輸入初始值y 日,令η = 0,yn = yo;
[0060]化2)判斷yn與ο的大小關(guān)系,如果yn<0,則執(zhí)行化4);否則,執(zhí)行化3);
[00創(chuàng)化5)判斷η與9999+N的大小關(guān)系,如果η含9999+N,返回化2);否則,跳出循環(huán),終止 計(jì)算,所得的序列{yi}為迭代生成的混濁序列,其中i = 0,l,2,...,9999+Ν,Ν=化6。
[0064] 5c)刪去兩個(gè)混濁序列的前10000項(xiàng)并對(duì)其重新編號(hào),得到作用于X方向的混濁序 列{Sj}、作用于y方向的混濁序列化j},其中j = 0,1,2,. . .,N-1,N = 256。步驟6,對(duì)混濁序列 (sj}、{kJ進(jìn)行排序,得到行置亂地址集合9={θη,θι,. . .,Θν-ι}和列置亂地址集合 廬二被I,奶奶V-1}'。
[0065] 用3〇的函數(shù)分別把混濁序列山}、化如安從小到大的順序進(jìn)行排序,得到兩個(gè)有序 的新混濁序列j和化/ j,分別記錄新混濁序列j、化/ j中的每個(gè)元素在混濁序列 {Sj}和化j中的位置編號(hào),得到行置亂地址集合Q={θo,θl,...,θN-l}和列置亂地址集合 戶(hù)={機(jī),巧,…,取、'_lS 〇
[0066] 步驟7,將變換后的圖像矩陣&,Α(",ν)進(jìn)行行、列置亂,得到加密后的圖像矩陣g (u,v)〇
[0067] 7a)將步驟4中得到的變換后的圖像矩陣&,,&(?,鐘的第j+1行置換到第θ押1行;
[006引7b)將圖像矩陣的第j + 1列置換到第巧戶(hù)1列,得到加密后的圖像矩陣g (u,v),如圖4所示,j = 0,l,2,...,N-l,N=256為圖像矩陣的行數(shù)。
[0069] 二、參考圖2,本發(fā)明解密步驟如下:
[0070] 步驟8,將加密后的圖像矩陣g(u,v)進(jìn)行反置亂,得到反置亂后的圖像矩陣
[0071] 8a)將加密后的圖像矩陣g(u,v)的每個(gè)元素除W255;
[0072] 8b)將步驟7中得到的加密后的圖像矩陣g(u,v)的第Θ押1行置換到第j+1行;
[0073] 8c)將圖像矩陣Fpi,p2(u,v)的第礦W列置換到第j+1列,得到反置亂后的圖像矩陣 F,, V),j = 0,1,2,. . .,N-1,N=256為圖像矩陣的行數(shù)。
[0074] 步驟9,對(duì)反置亂后的圖像矩陣知,V)進(jìn)行分?jǐn)?shù)傅里葉逆變換,得到逆變換后的 圖像矩陣f2(S,t)。
[00巧]二維分?jǐn)?shù)傅里葉逆變換公式如下:
[0076]
,
[0077] 其中取。,_,2(如,《,崎是二維分?jǐn)?shù)傅里葉逆變換的核,運(yùn)種變換可等價(jià)為分別由x,y 兩個(gè)方向進(jìn)行分?jǐn)?shù)傅里葉逆變換,其變換核可寫(xiě)成私A,".詩(shī)=取片,典V), 此時(shí)二維分?jǐn)?shù)傅里葉變換的核函數(shù)為:
[007引
[0079] 其中
,-pi、-p2分別為分?jǐn)?shù)形式的階數(shù)。
[0080] 選取分?jǐn)?shù)傅里葉逆變換在x、y方向的變換階數(shù)-口1 = -0.6,可2 = -0.4,將反置亂后 的圖像矩陣馬,,A知,V)帶入上述公式,進(jìn)行二維分?jǐn)?shù)傅里葉逆變換,得到逆變換后的圖像矩 陣f2(S,t)。
[0081] 步驟10,求逆變換后的圖像矩陣f2(s,t)的模,即利用abs函數(shù)求圖像矩陣f2(s,t) 中復(fù)數(shù)元素的模,得到求模后的圖像矩陣fl(s,t)。
[0082] 步驟11,對(duì)求模后的圖像矩陣fi(s,t)進(jìn)行廣義Arnold逆變換得到原圖像矩陣f (s,t)〇
[0083] 廣義Arnold逆變換公式如下:
[0084]
[00化]其中
稱(chēng)為逆變換矩陣,χ/、/分別為逆變換前的橫坐標(biāo)、縱坐標(biāo), x、y為廣義Arnold逆變換作用后的橫坐標(biāo)、縱坐標(biāo),mod表示模運(yùn)算;
[0086] 11a)將求模后的圖像矩陣fi(s,t)的每個(gè)元素乘W化5;
[0087] Ub)將求模后的圖像矩陣fi(s,t)中的元素轉(zhuǎn)換成Hints型;
[0088] 11c)選取的廣義Arnold逆變換的逆變換矩陣參數(shù)a = l,b=l和迭代次數(shù)m=100, 其變換步驟如下:
[0089] llcl)獲取圖像矩陣f(s,t)中的每一個(gè)像素點(diǎn)的坐標(biāo)(χ/,/ )處的像素值;
[0090] llc2)將圖像矩陣f(s,t)中的每一個(gè)像素點(diǎn)的坐標(biāo)(χ/,/ )都按照上述的廣義 Arno 1 d逆變換進(jìn)行坐標(biāo)變換,得到坐標(biāo)(X,y);
[0091] llc3)將原像素值賦到新坐標(biāo)(x,y)上,從而完成一次廣義Arnold逆變換;
[0092] lid)再重復(fù)進(jìn)行上述逆變換99次,得到原圖像矩陣f(s,t),如圖5所示。
[0093] 本發(fā)明的效果可通過(guò)W下仿真實(shí)驗(yàn)進(jìn)一步說(shuō)明:
[0094] 為了具體說(shuō)明本發(fā)明的優(yōu)勢(shì)和特點(diǎn),下面對(duì)該發(fā)明和現(xiàn)有技術(shù)進(jìn)行仿真,分析其 加密效果。
[0095] 1.實(shí)驗(yàn)環(huán)境
[0096] 本實(shí)驗(yàn)的硬件測(cè)試平臺(tái)是:Inter(R)Core(TM)i5-4200U CPU,主頻1.6Ghz,內(nèi)存 4.0GB;軟件平臺(tái)為:Windows 7操作系統(tǒng)和Matlab2012a。仿真圖像采用灰度級(jí)為256,大小 為256 X 256 的cameraman 圖。
[0097] 2.實(shí)驗(yàn)內(nèi)容
[009引實(shí)驗(yàn)1,對(duì)比本發(fā)明方法與僅用Arnold變換方法的置亂程度
[0099] 分別用本發(fā)明方法和現(xiàn)有僅用Arnold變換方法對(duì)仿真圖像進(jìn)行加密,并分別從原 始圖像和加密圖像中在水平、垂直、對(duì)角Ξ個(gè)方向上隨機(jī)選擇5000對(duì)相鄰像素對(duì)考察相