国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

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

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

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

      【背景技術(shù)】
      [0002] 近年來,伴隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的發(fā)展,越來越多的圖像在網(wǎng)絡(luò)中傳輸,在給用 戶提供方便的同時(shí),也帶來了一系列的安全隱患。對(duì)圖像的不當(dāng)使用和惡意篡改,不僅涉及 個(gè)人隱私問題,也會(huì)給社會(huì)帶來嚴(yán)重的負(fù)面影響。保障圖像的核心技術(shù)是數(shù)字圖像加密。
      [0003] 在數(shù)字圖像加密領(lǐng)域,研究最為廣泛和靈活的一類圖像加密方法,就是在同一空 間內(nèi),對(duì)圖像的重編碼技術(shù),即圖像置亂技術(shù)。
      [0004] 隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,數(shù)字圖像置亂技術(shù)已成為數(shù)字安全傳輸和保密的主 要手段。其基本思路就是把一幅圖像經(jīng)過一定的數(shù)學(xué)變換,轉(zhuǎn)變成面目全非的另一幅圖像, 以起到對(duì)圖像的安全保密作用。
      [0005] 數(shù)字圖像置亂也是目前隱密術(shù)、數(shù)字水印、信息分存和可視密碼技術(shù)中,一項(xiàng)關(guān)鍵 預(yù)處理技術(shù)。已受到國內(nèi)外學(xué)者的普遍重視,并取得豐碩的研究成果。
      [0006] 數(shù)字圖像置亂最初來源于有線電視信號(hào)加密,早期的置亂在位置空間進(jìn)行,用于 對(duì)圖像像素位置打亂,這些置亂方法包括行倒置置亂、行平移置亂、行置換置亂、行循環(huán)置 舌U行分量切割置亂等。隨著置亂技術(shù)的不斷發(fā)展,目前已提出的置亂方法多種多樣,既可 用于位置置換,也可用于灰度替代。
      [0007] 當(dāng)前已提出的置亂方法主要有:基于離散元素序列的置亂方法、基于掃描路線的 置亂方法、基于遍歷矩陣的置亂方法、基于迭代函數(shù)系統(tǒng)的置亂方法、基于離散混沌映射的 置亂方法、基于中國拼圖的置亂方法和基于矩陣變換的置亂方法等。
      [0008] 目前盡管已提出了多種置亂方法,但傳統(tǒng)置亂方法大多只能用于規(guī)則區(qū)域置亂, 例如正方形和長(zhǎng)方形區(qū)域,而不能對(duì)圖像選定的任意不規(guī)則區(qū)域進(jìn)行置亂。
      [0009] 例如基于Fibonacci序列和Lucas序列的置亂方法將待置亂圖像的寬、高拘泥為 Fibonacci序列和Lucas序列元素;基于SCAN語言和Hilbert曲線的置亂方法將置換圖像 的大小約束為2 nX2n的正方形圖像;由于并非所有圖像都存在騎士巡游路徑,由此導(dǎo)致了 基于騎士巡游的置亂方法只能用于圖像寬、高在特定尺度上的圖像;對(duì)于奇數(shù)階幻方,其置 亂圖像邊長(zhǎng)為奇數(shù),對(duì)于雙偶階幻方,其置亂圖像邊長(zhǎng)為4的整數(shù)倍;由于任意階的拉丁方 并非都存在,基于拉丁方的置亂方法只能用于置亂圖像邊長(zhǎng)為特定尺度的圖像,例如邊長(zhǎng) 為P n且P為素?cái)?shù)的圖像;對(duì)于離散Kolmogorov Flows Map和亞仿射變換,只能用于置亂正 方形圖像;傳統(tǒng)的基于矩陣的圖像置亂方法,其基本表示形式為X[i] = (AX[H])mod N,但由 于只有一個(gè)尺度參數(shù)N,由此決定了基于矩陣的圖像置亂方法只能用于置亂特定尺度的圖 像,例如正方形圖像和對(duì)矩形圖像的灰度進(jìn)行置亂。
      [0010] 在文獻(xiàn)二維非等長(zhǎng)圖像置亂變換(電子學(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),我們將 Xm = (AX[i-1]) mod N 拓展為 X[i] = (AX[i-1]) modN,N為有限個(gè)尺度構(gòu)成的尺度向量,提出了 2維非等長(zhǎng)變換存在性判據(jù),2維雙尺度矩形 映射的特殊形式-2維三角映射,以及2維雙尺度矩形映射一般性構(gòu)造方法和多尺度三角映 射。盡管X m= (AX[H])m〇dN可用于任意矩形圖像置亂,并可對(duì)圖像位置和灰度同時(shí)置亂, 但所提出的方法只能對(duì)規(guī)則區(qū)域進(jìn)行置亂,不能用于任意選定的不規(guī)則區(qū)域置亂。
      [0011] 傳統(tǒng)的迷宮生成方法在人工智能和優(yōu)化計(jì)算領(lǐng)域應(yīng)用較廣,一般用于動(dòng)態(tài)復(fù)雜場(chǎng) 景的模擬和仿真,在信息安全領(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ù)缺陷,提供一種基于2D DFS迷宮的數(shù)字置亂方 法,該方法可用于2D任意連通封閉區(qū)域數(shù)據(jù)置亂。
      [0013] 為實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
      [0014] 一種基于2D DFS迷宮的數(shù)字置亂方法,包括以下步驟:
      [0015] 第1步:設(shè)定迷宮初始范圍Sinit = Omxn和迷宮有效區(qū)域Smaze = (Sy)mxn,對(duì)于 / = 0,···,W - 1,_/ = 0,···,? - 1,若'^ 茫*,則標(biāo)記Si,j = -l,反之則標(biāo)記Si,J = 0表示該節(jié)點(diǎn)未訪問,若Si; j > 0表示該節(jié)點(diǎn)已訪問;
      [0016] 第 2步:對(duì)于 V、嘛,/ = 0,-.-,m-l,y = 0,-..,/7-l,記 士』(1,(1 = 0,1,2,3依 次為節(jié)點(diǎn)Sy的下方、右方、上方和左方墻,初始化Sy. d = -1,d = 0, 1,2, 3,即將Smaze范圍 內(nèi)的所有節(jié)點(diǎn)以墻進(jìn)行分隔,si;j. d = -1表示有墻,si;j. d = 0表示無墻;
      [0017] 第3步:選擇隨機(jī)數(shù)發(fā)生器y = RG(X),設(shè)定初始值RG. init = seed,初始化堆棧 Stack = Φ,置節(jié)點(diǎn)更新序列Aupdate = Φ ;
      [0018] 第 4 步:隨機(jī)選取Vsvn, eiS^,x = x?,.v = .vfl,標(biāo)記 sx,y = 1,將 sx,y 的坐標(biāo)(X,y)加 入節(jié)點(diǎn)更新序列 Aupdate = Aupdate. add ((X,y));
      [0019] 第5步:若sx,y的周圍相鄰節(jié)點(diǎn)sx+1, y, sx,y+1, Sj^y, Su1存在Smaze范圍內(nèi)未訪問的 節(jié)點(diǎn),則隨機(jī)選擇1個(gè)未訪問的節(jié)點(diǎn),記為S x^,將sx,y和Sx^之間的分割墻標(biāo)記為〇, 將 sx,y 入棧 push(Stack, sx,y),更新 X = X' , y = y',標(biāo)記 sx,y = 1,將(x, y)加入節(jié)點(diǎn)更 新序列 Aupdate = Aupdate. add ((X,y));
      [0020] 第6步:若sx,y的周圍相鄰節(jié)點(diǎn)sx+1, y, sx,y+1, SxW Su1不存在Smaze范圍內(nèi)未訪問 的節(jié)點(diǎn),則將棧頂元素出棧作為當(dāng)前節(jié)點(diǎn),即s x,y = pop (Stack);
      [0021] 第7步:反復(fù)執(zhí)行第5?6步,直至Stack = Φ ;
      [0022] 第8步:利用Aupdate構(gòu)造 Smaze = (si; j)mXn范圍內(nèi)所有節(jié)點(diǎn)間的映射關(guān)系,從而將 Smaze= (SiJmxn范圍內(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 ;

      【權(quán)利要求】
      1. 一種基于2D DFS迷宮的數(shù)字置亂方法,其特征在于包括以下步驟: 第1步:設(shè)定迷宮初始范圍Sinit = Omxn和迷宮有效區(qū)域Smaze = (Si,」)mXn,對(duì)于 f = 0,…,m -1,J- = 0,-1,若迗乂肌飛,則標(biāo)記Si,』=-1,反之則標(biāo)記Si,j = 〇表示該節(jié)點(diǎn)未訪問,若si; j > 0表示該節(jié)點(diǎn)已訪問; 第 2 步:對(duì)于S順:e,Z = (),'?',"卜 1,J' = -1,記 Si,d, d = 0, 1,2, 3 依次為 節(jié)點(diǎn)Su的下方、右方、上方和左方墻,初始化Sy. d = -1,d = 0, 1,2, 3,即將Sniaze范圍內(nèi)的 所有節(jié)點(diǎn)以墻進(jìn)行分隔,si;j. d = -1表示有墻,si;j. d = 0表示無墻; 第3步:選擇隨機(jī)數(shù)發(fā)生器y = RG (X),設(shè)定初始值RG. init = seed,初始化堆棧Stack =①,置節(jié)點(diǎn)更新序列Aupdate =①; 第4步:隨機(jī)選取Wwti UmflzeJ = XaJ = A,標(biāo)記Sx y =丨,將Sx y的坐標(biāo)(x,y)加入 節(jié)點(diǎn)更新序列 Aupdate = Aupdate. add ((X,y)); 第5步:若sx,y的周圍相鄰節(jié)點(diǎn)sx+1,y, sx,y+1, SxW Sj^1存在Smaze范圍內(nèi)未訪問的節(jié)點(diǎn), 則隨機(jī)選擇1個(gè)未訪問節(jié)點(diǎn),記為sx,,將8"和~之間的分割墻標(biāo)記為0,將sx, y入棧 push(Stack, sx,y),更新 X = X',y = y',標(biāo)記 sx,y = 1,將(X,y)加入節(jié)點(diǎn)更新序列 Aupdate=Aupdate. add ((X,y)); 第6步:若sx,y的周圍相鄰節(jié)點(diǎn)sx+1,y, sx,y+1, sx_1;y, Sj^1不存在Smaze范圍內(nèi)未訪問的節(jié) 點(diǎn),則將棧頂元素出棧作為當(dāng)前節(jié)點(diǎn),即sx;y = pop (Stack); 第7步:反復(fù)執(zhí)行第5?6步,直至Stack =①; 第8步:利用Aupdate構(gòu)造 Sniaze = (Si,Pnixn范圍內(nèi)所有節(jié)點(diǎn)間的映射關(guān)系,從而將Sniaze = (Si,入xn范圍內(nèi)的所有節(jié)點(diǎn)置亂。
      2. 如權(quán)利要求1所述的基于2D DFS迷宮的數(shù)字置亂方法,其特征在于第8步中映射方 法具體包括以下步驟: 第8. 1步:選取整數(shù)作為映射偏移量11,IlmodAupdate. length尹0,將其按式(1)規(guī)范到 (_Aupdate. Ieng^Aupdate. length)范圍內(nèi)的整數(shù),按式⑵計(jì)算 index ; 11. IlmodAupdate. length (I)
      3. 如權(quán)利要求1所述的基于2D DFS迷宮的數(shù)字置亂方法,其特征在于: 選取兩個(gè)隨機(jī)數(shù)發(fā)生器y = RGci (X),y = RG1 (X),設(shè)定隨機(jī)初始值RGci. init = seed。, RG1. init = Seed1分別生成迷宮節(jié)點(diǎn)更新序列; 第8步中映射方法具體包括以下步驟: 第8. 1步:輸入任意整數(shù)作為映射偏移量11,并將其按式⑷規(guī)范到 哪娜范圍內(nèi)的整數(shù),按式(5)計(jì)算index ; Il = IlmodA0updatcJength (4)
      第 8. 4 步:輸出 T = (I^j)mxntj
      4. 如權(quán)利要求2所述的基于2D DFS迷宮的數(shù)字置亂方法,其特征在于:在進(jìn)行圖像置 亂時(shí),具體包括以下步驟: 第(1)步:讀取待置亂圖像像素矩陣P= (P^)mxn作為Sinit,在Sinit上選取特定區(qū)域作 為 Smaze ; 第(2)步:選取Wwu 作為迷宮的初始節(jié)點(diǎn),選取隨機(jī)數(shù)發(fā)生器y = RG(X),設(shè)定 初始值RG. init = seed和映射偏移量11 ; 第(3)步:輸出置亂后的矩陣P' = (p' UOmxn,將其寫為置亂后的圖像。
      5. 如權(quán)利要求3所述的基于2D DFS迷宮的數(shù)字置亂方法,其特征在于:在進(jìn)行圖像置 亂時(shí),具體包括以下步驟: 第(1)步:讀取待置亂圖像像素矩陣P= (P^)mxn作為Sinit,在Sinit上選取特定區(qū)域作 為 Smaze ; 第⑵步:選取ESmare作為迷宮的初始節(jié)點(diǎn),選取隨機(jī)數(shù)發(fā)生器y = RGtl(X), y = RGi(X),設(shè)定初始值 RGtl. init = seed。,RG1. init = Seed1 和映射偏移量 11 ; 第(3)步:輸出置亂后的矩陣P' =(p' UOmxn將其寫為置亂后的圖像。
      6. 如權(quán)利要求2所述的基于2D DFS迷宮的數(shù)字置亂方法,其特征在于:在進(jìn)行圖像置 亂時(shí),具體包括以下步驟: 第⑴步:讀取 24 位圖像 R、G、B 通道矩陣 P24. R = (I^j)mxnJ24. G = (gi,j)mXn 和 P24. B =(Kj)mxn,將其分別作為初始范圍C,C,C,在C,C,C選取特定區(qū)域作為有效區(qū) i_ii C^R 〇G qB k^nuize ^ k^maze ^ k^maze % 第⑵步:選取V^。e<SL,V<V(( eiSL,V<,,。運(yùn)5^分別作為R、G、B通道的初始 節(jié)點(diǎn),選取隨機(jī)數(shù)發(fā)生器y = RGK(x),y = RGs(X), y = RGb(X),設(shè)定初始值RGk. init = seedK, RGg. init = seedG, RGb. init = seedB 和映射偏移量 11K, 11G, 11B ; 第(3)步:輸出置亂后的矩陣R',G',B',將其寫為置亂后的圖像。
      7. 如權(quán)利要求3所述的基于2D DFS迷宮的數(shù)字置亂方法,其特征在于:在進(jìn)行圖像置 亂時(shí),具體包括以下步驟: 第⑴步:讀取24位圖像R、G、B通 B = (Mmxn,將其分別作為初始范圍,在私選取特定區(qū)域作為有效 區(qū); 第(2)步:選取 V<,b,<'.n 分別作為R、G、B通道迷宮的初始節(jié)點(diǎn),選取隨機(jī)數(shù)發(fā)生器 少二i?G(⑴,少=⑴,少= RG^ Jjiii - seed[l,RG^.init - $eedll, RGli .imi = seed^, ^6^'' .init - .ScWl0, RG!^.init - seed'^, RG11'.init - seed'/ 和映射偏移量/產(chǎn),/嚴(yán),//\ 第(3)步:依次輸出置亂后的矩陣R',G',B',將其寫為置亂后的圖像。
      8. 如權(quán)利要求2所述的基于2D DFS迷宮的數(shù)字置亂方法,其特征在于:在進(jìn)行圖像置 亂時(shí),具體包括以下步驟: 第⑴步:讀取待置亂圖像比特位面,對(duì)于8位圖像P8,將圖像位面
      6.? =(〇)mx",i = 〇U依次作為初始范圍C,缺=〇,丨,...,7,對(duì)于24位圖像4, 將圖像位面=〇〇)_,M = 0,1,...,23依次作為初始范圍*S;=,M = 0,1,^23,在 C上選取特定區(qū)域作為有效區(qū)域史" ; 第⑵步:選取作為迷宮的初始節(jié)點(diǎn),選取隨機(jī)數(shù)發(fā)生器y = RGkk(X), 設(shè)定初始值RGkk. init = Seedkk和映射偏移量Ilkk ; 第⑶步:依次輸出置亂后的矩陣,對(duì)于8位圖像P8,將置亂后的位面W' kk,kk = 〇,…,7寫為置亂后的圖像,對(duì)于24位圖像P24,將置亂后的位面W' kk, kk = 0,…,23寫為 置亂后的圖像。
      9. 如權(quán)利要求3所述的基于2D DFS迷宮的數(shù)字置亂方法,其特征在于:在進(jìn)行圖像置 亂時(shí),具體包括以下步驟: 第⑴步:讀取待置亂圖像比特位面,對(duì)于8位圖像P8,將圖像位面 =(<)_扁=以…,7依次作為初始范圍K,妓=〇,1,…,7,對(duì)于24位圖像P24,將圖 像位面=(<)_,缺=〇,1,…,23依次作為初始范圍M = O,丨,…,23,在以上選取 特定區(qū)域作為有效區(qū)域次 1; 第⑵步:選取GiSfaze作為迷宮的初始節(jié)點(diǎn),選取隨機(jī)數(shù)發(fā)生器 少=〇),_y = (x),設(shè)定初始值 i/ineaof,.zM和映射偏移量 llkk; 第(3)步:依次輸出置亂后的矩陣,對(duì)于8位圖像P8,將置亂后的位面W' kk,kk = 〇,…,7寫為置亂后的圖像,對(duì)于24位圖像P24,將置亂后的位面W' kk, kk = 0,…,23寫為 置亂后的圖像。
      【文檔編號(hào)】G06T1/00GK104361552SQ201410748365
      【公開日】2015年2月18日 申請(qǐng)日期:2014年12月8日 優(yōu)先權(quán)日:2014年12月8日
      【發(fā)明者】邵利平, 祝瑩, 楊璐 申請(qǐng)人:陜西師范大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1