欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于3ddfs迷宮的數(shù)字置亂方法

文檔序號:6637890閱讀:217來源:國知局
一種基于3d dfs迷宮的數(shù)字置亂方法
【專利摘要】本發(fā)明提供一種基于3D DFS迷宮的數(shù)字置亂方法,預(yù)先對DFS迷宮生成區(qū)域進(jìn)行人為限定,從而可用于人為指定的任意3D封閉連通區(qū)域,同時(shí)按迷宮節(jié)點(diǎn)更新順序?qū)γ詫m設(shè)定區(qū)域的每個(gè)節(jié)點(diǎn)賦予唯一的編號,由此產(chǎn)生迷宮設(shè)定區(qū)域所有節(jié)點(diǎn)的排列,在此基礎(chǔ)上構(gòu)造了基于3D DFS迷宮節(jié)點(diǎn)更新序列和節(jié)點(diǎn)更新序列復(fù)合的置亂方法,從而可將所有節(jié)點(diǎn)置亂。本發(fā)明所給出的置亂方法具有普適性和靈活性,在使用過程中不存在任何限制,不僅能應(yīng)用于傳統(tǒng)置亂方法所針對的規(guī)則區(qū)域,例如正方形和矩形區(qū)域,也可用于任意選定的3D封閉連通不規(guī)則區(qū)域置亂。本發(fā)明也給出了用于圖像位面立方體,RGB立方體和RGB通道立方體的圖像置亂方法。
【專利說明】一種基于3D DFS迷宮的數(shù)字置亂方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明主要涉及信息安全和數(shù)字信號處理等交叉研究領(lǐng)域,具體為基于DFS迷宮 生成策略的數(shù)字置亂方法,特別涉及一種基于3D DFS迷宮的數(shù)字置亂方法。

【背景技術(shù)】
[0002] 近年來,伴隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的發(fā)展,越來越多的圖像在網(wǎng)絡(luò)中傳輸,在給用 戶提供方便的同時(shí),也帶來了一系列的安全隱患。對圖像的不當(dāng)使用和惡意篡改,不僅涉及 個(gè)人隱私,也會給社會帶來嚴(yán)重負(fù)面影響。保障圖像的核心技術(shù)是數(shù)字圖像加密。
[0003] 在數(shù)字圖像加密領(lǐng)域,研究最為廣泛和靈活的一類圖像加密方法,就是在同一空 間內(nèi),對圖像的重編碼技術(shù),即圖像置亂技術(shù)。
[0004] 隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,數(shù)字圖像置亂技術(shù)已成為數(shù)字安全傳輸和保密的主 要手段。其基本思路就是把一幅圖像經(jīng)過一定的數(shù)學(xué)變換,轉(zhuǎn)變成面目全非的另一幅圖像, 以起到對圖像的安全保密作用。
[0005] 數(shù)字圖像置亂也是目前隱密術(shù)、數(shù)字水印、信息分存和可視密碼技術(shù)中,一項(xiàng)關(guān)鍵 預(yù)處理技術(shù)。已受到國內(nèi)外學(xué)者的普遍重視,并取得豐碩的研究成果。
[0006] 數(shù)字圖像置亂最初來源于有線電視信號加密,早期的置亂在位置空間進(jìn)行,用于 對圖像像素位置打亂,這些置亂方法包括行倒置置亂、行平移置亂、行置換置亂、行循環(huán)置 舌U行分量切割置亂等。隨著置亂技術(shù)的不斷發(fā)展,目前已提出的置亂方法多種多樣,既可 用于位置置換,也可用于灰度替代。
[0007] 當(dāng)前已提出的置亂方法主要有:基于離散元素序列的置亂方法、基于掃描路線的 置亂方法、基于遍歷矩陣的置亂方法、基于迭代函數(shù)系統(tǒng)的置亂方法、基于離散混沌映射的 置亂方法、基于中國拼圖的置亂方法和基于矩陣變換的置亂方法等。
[0008] 目前盡管已提出了多種置亂方法,但傳統(tǒng)置亂方法大多只能用于規(guī)則區(qū)域置亂, 例如正方形和長方形區(qū)域,而不能對圖像選定的任意不規(guī)則區(qū)域進(jìn)行置亂。
[0009] 例如基于Fibonacci序列和Lucas序列的置亂方法將置亂圖像的寬、高拘泥為 Fibonacci序列和Lucas序列元素;基于SCAN語言和Hilbert曲線的置亂方法將置換圖像 的大小約束為2 nX2n的正方形圖像;由于并非所有圖像都存在騎士巡游路徑,由此導(dǎo)致了 基于騎士巡游的置亂方法只能用于圖像寬、高在特定尺度上的圖像;對于奇數(shù)階幻方,其置 亂圖像邊長為奇數(shù),對于雙偶階幻方,其置亂圖像邊長為4的整數(shù)倍;由于任意階的拉丁方 并非都存在,基于拉丁方的置亂方法只能用于置亂圖像邊長為特定尺度的圖像,例如邊長 為P n且P為素?cái)?shù)的圖像;對于離散Kolmogorov Flows Map和亞仿射變換,只能用于置亂正 方形圖像;傳統(tǒng)的基于矩陣的圖像置亂方法,其基本表示形式為X[i] = (AX[H])mod N,但由 于只有一個(gè)尺度參數(shù)N,由此決定了基于矩陣的圖像置亂方法只能用于置亂特定尺度的圖 像,例如正方形圖像或和對矩形圖像的灰度進(jìn)行置亂。
[0010] 在文獻(xiàn)二維非等長圖像置亂變換(電子學(xué)報(bào),2007, 35 (7) : 1290-1294), 二維三角映射及其在圖像置亂上的應(yīng)用(Information Technology Journal,2008, 7 (I) :40-47),二維雙尺度矩形映射及其在圖像置亂上的應(yīng)用(計(jì) 算機(jī)輔助設(shè)計(jì)與圖形學(xué)報(bào),2009, 21 (7) : 1026-1034)和多尺度三角映射及其在變 尺度置舌L 上的應(yīng)用(International Journal of Computer Applications in Technology, 2010, 38(1-3) :74-85),我們將 X[i] = (ΑΧ[η])ι?〇(1Ν拓展為 Xm = (ΑΧ[η])ι?〇(1Ν, N為有限個(gè)尺度構(gòu)成的尺度向量,提出了 2維非等長變換存在性判據(jù),2維雙尺度矩形映射 的特殊形式-2維三角映射,以及2維雙尺度矩形映射一般性構(gòu)造方法和多尺度三角映射。 盡管 Xw = (AXfHi)modN可用于任意矩形圖像置亂,并可對圖像位置和灰度同時(shí)置亂,但所 提出的方法只能對規(guī)則區(qū)域進(jìn)行置亂,不能用于任意選定的任意不規(guī)則區(qū)域進(jìn)行置亂。 [0011] 傳統(tǒng)的迷宮生成方法在人工智能和優(yōu)化計(jì)算領(lǐng)域應(yīng)用較廣,一般用于動態(tài)復(fù)雜場 景的模擬和仿真,在信息安全領(lǐng)域涉及較少,在文獻(xiàn)基于迷宮置換和Logistic混沌映射的 圖像加密算法(計(jì)算機(jī)應(yīng)用,2014, 34 (7) : 1902-1908),我們探討了基于DFS迷宮節(jié)點(diǎn)入棧 順序和行優(yōu)先掃描順序高效產(chǎn)生置換的方法,將迷宮生成方法應(yīng)用于任意矩形圖像加密, 但所提出的方法不能應(yīng)用于圖像的任意連通不規(guī)則封閉區(qū)域加密。


【發(fā)明內(nèi)容】

[0012] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)缺陷,提供一種基于3D DFS迷宮的數(shù)字置亂方 法,該方法可用于3D任意連通封閉區(qū)域數(shù)據(jù)置亂。
[0013] 為實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
[0014] 一種基于3D DFS迷宮的數(shù)字置亂方法,包括以下步驟:
[0015] 第1步:設(shè)定迷宮初始范圍 Sinit - OmXnXl 和迷宮有效區(qū)域3_= (Si,^mxnxl,對 于 i = 〇,…,m_i,j = 〇,…,n_i,k = 〇,…,1_1,若*?^謝:<,則標(biāo)記 si,j,k = _1, 反之則標(biāo)記Si,j,k = 0表示該節(jié)點(diǎn)未訪問,若Si,j,k > 0表示該節(jié)點(diǎn)已訪問;
[0016] 第 2 步:對于吟'從-€?5腿】,,i = 0, ...,m-l,j = 0,…,n-l,k = 0,…,1-1,記 Sm. d,d = 0, 1,2, 3, 4, 5依次為節(jié)點(diǎn)Si,」,k的下方、右方、上方、左方、底部和頂部墻,初始化Suk. d = -1,d = 0, 1,2, 3, 4, 5,即將Smaze范圍內(nèi)的所有節(jié)點(diǎn)以墻進(jìn)行分隔,Si, j,k. d = -1表示有 墻,Suk. d = 0表示無墻;
[0017] 第3步:選擇隨機(jī)數(shù)發(fā)生器y = RG(X),設(shè)定隨機(jī)數(shù)發(fā)生器初始值RG. init = seed, 初始化Stack = Φ ,置節(jié)點(diǎn)更新序列Aupdate = Φ ;
[0018] 第 4 步:隨機(jī)選取 €足X = X。, y = y。, z = z。,標(biāo)記 Sx,y,z = 1,將 Sx,y,z 的 (X,y, z)加入節(jié)點(diǎn)更新序列 Aupdate = Aupdate. add ((X,y, z));
[0019] 第5步:若sx,y,z的周圍相鄰節(jié)點(diǎn) Sx + l,y,Z, Sj^y+l,。SX- l,y,ZJ Sx,y- 1,ZJ Sx,y,z- I, Sx,y,z + 1 存 在Smaze范圍內(nèi)未訪問的節(jié)點(diǎn),則隨機(jī)選擇I個(gè)未訪問的節(jié)點(diǎn),記為sx,,將s x,y,z和 8?,^,^之間的分割墻標(biāo)記為0,將8!£,^入???1811執(zhí)3〇1^8 !£,^),更新叉=1/,7 = 7/,2 =Z',標(biāo)記 sx,y,z = 1,將(X,y, z)加入節(jié)點(diǎn)更新序列 Aupdate = Aupdate. add((x, y, z));
[0020] 第6步:若sx,y,z的周圍相鄰節(jié)點(diǎn) Sx+l,y,Z,SX,y+l,Z, Sx- l,y,z, Sx,y -1,ZJ Sx,y,z -1,Sx,y,z + 1 不存 在Smaze范圍內(nèi)未訪問的節(jié)點(diǎn),則將棧頂元素出棧作為當(dāng)前節(jié)點(diǎn),即sx, y,z = pop (Stack);
[0021] 第7步,反復(fù)執(zhí)行第5?6步,直至Stack = Φ ;
[0022] 第8步:利用Aupdate構(gòu)造 Smaze = (Suk)mxnxl范圍內(nèi)所有節(jié)點(diǎn)間的映射關(guān)系,從而 ^寸 Smaze (Si,j,O mXnX I 范圍內(nèi)所有節(jié)點(diǎn)置亂。
[0023] 作為本發(fā)明進(jìn)一步優(yōu)選方案,第8步中映射方法具體包括以下步驟:
[0024] 第8. 1步:選取整數(shù)作為映射偏移量11,IlmodAupdate. length尹0,將其按式⑴規(guī) 范到(-Aupdate. length, Aupdate. length)范圍內(nèi)的整數(shù),按式⑵計(jì)算index ;
[0025] 11 = IlmodAupdate. length (I)

【權(quán)利要求】
1. 一種基于3DDFS迷宮的數(shù)字置亂方法,其特征在于包括以下步驟: 第1步:設(shè)定迷宮初始范圍Sinit =Omxnxl和迷宮有效區(qū)域 Smaze^i,j,mXnXI? 對于 f = ◎,…-1J= 0,…-14 …J一1,若氣/.* 備$,則標(biāo)記 士,j,k= _1,反之 則標(biāo)記Si;j,k = 0表示該節(jié)點(diǎn)未訪問,若si;j,k > 0表示該節(jié)點(diǎn)已訪問; 第 2 步:對于Vs,.#eS滅^,?· = 0,.··,爾-U=O5…,《-u= 0,·",/-1,記Si,k.d,d =0, 1,2, 3, 4, 5依次為節(jié)點(diǎn)Si,j,k的下方、右方、上方、左方、底部和頂部墻,初始化Si,j,k.d=-1,d= 0, 1,2, 3, 4, 5,即將Smaze范圍內(nèi)的所有節(jié)點(diǎn)以墻進(jìn)行分隔,Si, j,k.d= -1表示有 墻,Suk.d= 0表示無墻; 第3步:選擇隨機(jī)數(shù)發(fā)生器y=RG(X),設(shè)定隨機(jī)數(shù)發(fā)生器初始值RG.init=seed,初 始化堆棧Stack=Φ,置節(jié)點(diǎn)更新序列Aupdate =Φ; 第 4 步:隨機(jī)選取 e= =凡,£: =Z0 ,標(biāo)記Sx,y,z = 1,將sx,y,z 的(X,y,z) 加入節(jié)點(diǎn)更新序列Aupdate =Aupdate.add((x,y,z)); 第5步:若sx>y>z的周圍相鄰節(jié)點(diǎn)Sx+1,y,Z,SX,y+l,Z,Sx- 1,y,z,Sx,y-1,z,Sx,y,z -I,Sx,y,Z+1 范圍內(nèi)未訪問的節(jié)點(diǎn),則隨機(jī)選擇I個(gè)未訪問的節(jié)點(diǎn),記為Sx,,將sx,y,z和sx, 之間的分割墻標(biāo)記為〇,將8!£,^入???1811執(zhí)3〇1^8 !£,^),更新叉=1/,7 = 7/,2 = 2/, 標(biāo)記Sx,y,z = 1,將(X,y,z)加入節(jié)點(diǎn)更新序列Aupdate =Aupdate.add((x,y,z)); 第6步:若8",2的周圍相鄰節(jié)點(diǎn)Sx+l,y,Z,SX,y + l,Z, Sx -l,y,z, Sx,y -1,Z, Sx,y,z- 1,Sx,y,z+1不存在Sniaze 范圍內(nèi)未訪問的節(jié)點(diǎn),則將棧頂元素出棧作為當(dāng)前節(jié)點(diǎn),即sx,y,z =pop(Stack); 第7步:反復(fù)執(zhí)行第5?6步,直至Stack=Φ; 第8步:利用Aupdate構(gòu)造Smaze = (SiJk)mxnxl范圍內(nèi)所有節(jié)點(diǎn)間的映射關(guān)系,從而將Smaze =(8^上><11><1范圍內(nèi)所有節(jié)點(diǎn)置亂。
2. 如權(quán)利要求1所述的基于3DDFS迷宮的數(shù)字置亂方法,其特征在于第8步中映射方 法具體包括以下步驟: 第8. 1步:選取整數(shù)作為映射偏移量11,IlmodAupdate.length尹0,將其按式(1)規(guī)范到 (_AUpdate.length,AUpdate·length)范圍內(nèi)的整數(shù),按式⑵計(jì)算index;
弟 8. 2 步:將Sinit 復(fù)制為T= (I^jk)mxnxl ; 第 8. 3 步:對于 ,按式⑶將SiJk賦值給tx,y,z; (i,j,k) =AupdateQi),ii= 0, ...,Aupdate.Iength-I(x,y,z)=A update(kk),kk= 0, ...,Aupdate.length-1 (3)kk= (ii+index)modAupdate.length 第 8. 4 步:輸出T= (tm^xnxi。
3. 如權(quán)利要求I所述的基于3DDFS迷宮的數(shù)字置亂方法,其特征在于:選取兩個(gè)隨機(jī) 數(shù)發(fā)生器y=RGtl (X),y=RG1 (X),設(shè)定隨機(jī)初始值RG?!nit=seed。,RG1.init=Seed1 分 別生成迷宮節(jié)點(diǎn)更新序列; 第8步中映射方法具體包括以下步驟: 第8. 1步:輸入任意整數(shù)作為映射偏移量11,并將其按式(4)規(guī)范到 (-,?細(xì)范圍內(nèi)的整數(shù),按式(5)計(jì)算index;
弟 8. 2 步:將Sinit 復(fù)制為T= (I^jk)mxnxl ; 第 8. 3 步:對于 ,按式(6)將SiJk 賦值給tx,y,z;
第 8. 4 步:輸出T= (tm^xnxi。
4. 如權(quán)利要求2所述的基于3DDFS迷宮的數(shù)字置亂方法,其特征在于,在進(jìn)行圖像置 亂時(shí),具體包括以下步驟: 第⑴步:讀取待置亂圖像的位面立方體,對于8位圖像P8,將P8.W= (W^k)mxnxJt為Sinit,對于24位圖像P24,將P24.W= (Wuk)mxnx24作為Sinit,在Sinit上選取特定區(qū)域作為 C · 〇maze9 第⑵步:選?。u 作為迷宮的初始節(jié)點(diǎn),選取隨機(jī)數(shù)發(fā)生器y=RG(X),設(shè) 定初始值RG.init=seed和映射偏移量11 ; 第⑶步:輸出置亂后的位面立方體,對于8位圖像,將(W'uk)mXnX8寫為置亂后的 圖像,對于24位圖像,將(W'Uk)mXnXM寫為置亂后的圖像。
5. 如權(quán)利要求3所述的基于3DDFS迷宮的數(shù)字置亂方法,其特征在于,在進(jìn)行圖像置 亂時(shí),具體包括以下步驟: 第⑴步:讀取待置亂圖像的位面立方體,對于8位圖像P8,將P8.W= (W^k)mxnxJt為Sinit,對于24位圖像P24,將P24.W= (Wuk)mxnx24作為Sinit,在Sinit上選取特定區(qū)域作為 C · 〇maze9 第⑵步:選取作為迷宮的初始節(jié)點(diǎn),選取隨機(jī)數(shù)發(fā)生器y=RG0(X),y=RG1 (X),設(shè)定初始值RG。·init=seed。,RG1.init=Seed1 和映射偏移量 11 ; 第⑶步:輸出置亂后的位面立方體,對于8位圖像,將(W'uk)mXnX8寫為置亂后的 圖像,對于24位圖像,將(W'Uk)mXnXM寫為置亂后的圖像。
6. 如權(quán)利要求2所述的基于3DDFS迷宮的數(shù)字置亂方法,其特征在于,在進(jìn)行圖像置 亂時(shí),具體包括以下步驟: 第⑴步:讀取待置亂24位圖像P24的RGB立方體P24.C= (Ci,j,k)mXnX3作為Sinit,在Sinit上選取特定區(qū)域作為Smaze; 第⑵步:選取作為迷宮的初始節(jié)點(diǎn),選取隨機(jī)數(shù)發(fā)生器y=RG(X),設(shè) 定初始值RG.init=seed和映射偏移量11 ; 第⑶步:輸出置亂后的RGB立方體(c'uk)mXnX3,將其寫為置亂后的圖像。
7. 如權(quán)利要求3所述的基于3DDFS迷宮的數(shù)字置亂方法,其特征在于,在進(jìn)行圖像置 亂時(shí),具體包括以下步驟: 第⑴步:讀取待置亂24位圖像P24的RGB立方體P24.C= (Ci,j,k)mXnX3作為Sinit,在Sinit上選取特定區(qū)域作為Smaze ; 第⑵步:選取,氣,,.;1eS_作為迷宮的初始節(jié)點(diǎn),選取隨機(jī)數(shù)發(fā)生器y =RG0(X),y=RG1 (X),設(shè)定初始值RG。·init=seed。,RG1.init=Seed1 和映射偏移量 11 ; 第⑶步:輸出置亂后的RGB立方體(c'uk)mXnX3,將其寫為置亂后的圖像。
8. 如權(quán)利要求2所述的基于3DDFS迷宮的數(shù)字置亂方法,其特征在于,在進(jìn)行圖像置 亂時(shí),具體包括以下步驟: 第⑴步:讀取待置亂24位圖像P24的RGB通道立方體、=(Gyj)mxnx8 和·將其分別作為初始范圍c,c,c,在 選取特定區(qū)域作為有效區(qū)域m; 第(2)步:選?。^^^(%1£^^<|^5,1"作為迷宮的初始節(jié)點(diǎn),選取隨 機(jī)數(shù)發(fā)生器y=RGK(x),y=RGg(X),y=RGb(X),設(shè)定初始值RGK.init=seedK,RGg.init=seedG,RGb.init=seedB 和映射偏移量 11K, 11G,IIb ; 第⑶步:輸出置亂后的r、g、B通道立方體?;、(^ =(<;d)ww,.x和G 將其寫為置亂后的圖像。
9. 如權(quán)利要求3所述的基于3DDFS迷宮的數(shù)字置亂方法,其特征在于,在進(jìn)行圖像置 亂時(shí),具體包括以下步驟: 第⑴步:讀取待置亂24位圖像Pm的RGB通道立方體巧=(<^+),_8、P24.C(; -{Cj'j丄、_沾和ParCi =(<,.丄_,將其分別作為初始范圍 ,在 選取特定區(qū)域作為有效區(qū)域; 第⑵步:選取 隨機(jī)數(shù)發(fā)生器.V= ^G0*(x),.F=^Gf =Λ(^(-Υ),.ν= J1 = (X) ^ 定初始值 iw'i= ,^Gf./wii= ,及 = 尺<.|>汾=戲<,沒018,/:滅=5仇< (和映射偏移量11'11(:,11' 第⑶步:輸出置亂后的R、G、B通道立方體 G=(Ci),,將其寫為置亂后的圖像。
【文檔編號】G06T1/00GK104463769SQ201410749012
【公開日】2015年3月25日 申請日期:2014年12月8日 優(yōu)先權(quán)日:2014年12月8日
【發(fā)明者】邵利平, 歐陽顯斌, 楊璐 申請人:陜西師范大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
井研县| 孟连| 双辽市| 灌南县| 朝阳市| 青神县| 南皮县| 吐鲁番市| 皋兰县| 凉山| 中江县| 栾川县| 高淳县| 宜君县| 揭阳市| 广德县| 华池县| 淮北市| 盐津县| 五大连池市| 中卫市| 凤冈县| 乳源| 河北省| 绥棱县| 淮南市| 镇赉县| 涟水县| 太和县| 广安市| 孝义市| 同仁县| 大庆市| 常熟市| 巴东县| 平凉市| 玉田县| 西乌| 奎屯市| 砚山县| 砚山县|