一种基于2DWilson迷宫的数字置乱方法

文档序号:6637869阅读:238来源:国知局
一种基于2D Wilson 迷宫的数字置乱方法
【专利摘要】本发明提供一种基于2D Wilson迷宫的数字置乱方法,预先对Wilson迷宫生成区域进行人为限定,从而可用于人为指定的任意2D封闭连通区域,同时按迷宫节点更新顺序对迷宫设定区域的每个节点赋予唯一编号,由此产生迷宫设定区域所有节点的排列,在此基础上构造了基于2D Wilson迷宫节点更新序列和节点更新序列复合的置乱方法,从而可将所有节点置乱。本发明所给出的置乱方法具有普适性和灵活性,在使用过程中不存在任何限制,不仅能用于传统置乱方法所针对的规则区域,例如正方形和矩形区域,也可用于任意选定的2D封闭连通不规则区域置乱。本发明也给出了用于像素矩阵,R、G、B通道矩阵和比特位面的图像置乱方法。
【专利说明】-种基于2D Wi Ison迷宫的数字置乱方法

【技术领域】
[0001] 本发明主要涉及信息安全和数字信号处理等交叉研究领域,具体为基于Wilson 迷宫生成策略的数字置乱方法,特别涉及一种基于2D Wilson迷宫的数字置乱方法。

【背景技术】
[0002] 近年来,伴随着计算机和网络技术的发展,越来越多的图像在网络中传输,在给用 户提供方便的同时,也带来了一系列的安全隐患。对图像的不当使用和恶意篡改,不仅涉及 个人隐私问题,也会给社会带来严重的负面影响。保障图像的核心技术是数字图像加密。
[0003] 在数字图像加密领域,研究最为广泛和灵活的一类图像加密方法,就是在同一空 间内,对图像的重编码技术,即图像置乱技术。
[0004] 随着计算机技术的飞速发展,数字图像置乱技术已成为数字安全传输和保密的主 要手段。其基本思路就是把一幅图像经过一定的数学变换,转变成面目全非的另一幅图像, 以起到对图像的安全保密作用。
[0005] 数字图像置乱也是目前隐密术、数字水印、信息分存和可视密码技术中,一项关键 预处理技术。已受到国内外学者的普遍重视,并取得丰硕的研究成果。
[0006] 数字图像置乱最初来源于有线电视信号加密,早期的置乱在位置空间进行,用于 对图像像素位置打乱,这些置乱方法包括行倒置置乱、行平移置乱、行置换置乱、行循环置 舌U行分量切割置乱等。随着置乱技术的不断发展,目前已提出的置乱方法多种多样,既可 用于位置置换,也可用于灰度替代。
[0007] 当前已提出的置乱方法主要有:基于离散元素序列的置乱方法、基于扫描路线的 置乱方法、基于遍历矩阵的置乱方法、基于迭代函数系统的置乱方法、基于离散混沌映射的 置乱方法、基于中国拼图的置乱方法和基于矩阵变换的置乱方法等。
[0008] 目前尽管已提出了多种置乱方法,但传统置乱方法大多只能用于规则区域置乱, 例如正方形和长方形区域,而不能对图像选定的任意不规则区域进行置乱。
[0009] 例如基于Fibonacci序列和Lucas序列的置乱方法将待置乱图像的宽、高拘泥为 Fibonacci序列和Lucas序列元素;基于SCAN语言和Hilbert曲线的置乱方法将置换图像 的大小约束为2 nX2n的正方形图像;由于并非所有图像都存在骑士巡游路径,由此导致了 基于骑士巡游的置乱方法只能用于图像宽、高在特定尺度上的图像;对于奇数阶幻方,其置 乱图像边长为奇数,对于双偶阶幻方,其置乱图像边长为4的整数倍;由于任意阶的拉丁方 并非都存在,基于拉丁方的置乱方法只能用于置乱图像边长为特定尺度的图像,例如边长 为P n且P为素数的图像;对于离散Kolmogorov Flows Map和亚仿射变换,只能用于置乱正 方形图像;传统的基于矩阵的图像置乱方法,其基本表示形式为X[i] = (AX[H])mod N,但由 于只有一个尺度参数N,由此决定了基于矩阵的图像置乱方法只能用于置乱特定尺度的图 像,例如正方形图像和对矩形图像的灰度进行置乱。
[0010] 在文献二维非等长图像置乱变换(电子学报,2007, 35 (7) : 1290-1294), 二维三角映射及其在图像置乱上的应用(Information Technology Journal,2008, 7 (I) :40-47),二维双尺度矩形映射及其在图像置乱上的应用(计 算机辅助设计与图形学报,2009, 21 (7) : 1026-1034)和多尺度三角映射及其在 变尺度置舌L 上的应用(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为有限个尺度构成的尺度向量,提出了 2维非等长变换存在性判据,2维双尺度矩形 映射的特殊形式-2维三角映射,以及2维双尺度矩形映射一般性构造方法和多尺度三角映 射。尽管X m= (AX[H])m〇dN可用于任意矩形图像置乱,并可对图像位置和灰度同时置乱, 但所提出的方法只能对规则区域进行置乱,不能用于对选定的任意不规则区域进行置乱。 [0011] 传统的迷宫生成方法在人工智能和优化计算领域应用较广,一般用于动态复杂场 景的模拟和仿真,在信息安全领域涉及较少,在文献基于迷宫置换和Logistic混沌映射的 图像加密算法(计算机应用,2014, 34 (7) : 1902-1908),我们探讨了基于DFS迷宫节点入栈 顺序和行优先扫描顺序高效产生置换的方法,将迷宫生成方法应用于任意矩形图像加密, 但所提出的方法不能应用于图像的任意连通不规则封闭区域加密。


【发明内容】

[0012] 本发明的目的在于克服现有技术缺陷,提供一种基于2D Wilson迷宫的数字置乱 方法,该法可用于2D任意连通封闭区域数据置乱。
[0013] 为实现上述目的,本发明采用以下技术方案:
[0014] 一种基于2D Wilson迷宫的数字置乱方法,包括以下步骤:
[0015] 第1步:设定迷宫初始范围为Sinit = Omxn和迷宫有效区域Smaze = (Si,j)mXn,对 于 ν'ν,/ = 0,··.,/---1^ = 0,·.-,《-1,若 ¢51 隊e,则标记 Si;j = -1,反之则标记 Si;j = 〇表示该节点未访问,若SyX)表示该节点已访问,统计Smaze范围内的节点数量Nummazei = Count(Smaze);
[0016] 第 2 步:对于 廳,/ = 〇,…,W-Ij = (),…,/7-1,记 Si,』· d,d = 0, 1,2, 3 依 次为节点Sy的下方、右方、上方和左方墙,初始化Sy. d = -1,d = 0, 1,2, 3,即将Smaze范围 内的所有节点以墙进行分隔,si;j. d = -1表示有墙,si;j. d = 0表示无墙;
[0017] 第3步:选择随机数发生器y = RG(X),设定随机数发生器初始值RG. init = seed, 记已访问的节点数量Numvisited,初始Numvisited = 0,初始化已访问迷宫节点列表Aupdate = Φ ;
[0018] 第4步:随机选取%= = ^,标记Sx y =丨,将其加入到节点更新 序列, Aupdate ^-update* add (sx,y),Numvisited = Numvisited+1 ;
[0019] 第5步:若Numvisited < Nummaze,则循环执行第6步?第10步;
[0020] 第6步:初始化Wilson随机游走路线列表Awilsm = Φ,初始化全0元素 Wilson矩 阵Mwilsm =(丽i,j)mXn,其中丽=〇表示SiJ不在Wilson随机游走路线上,丽u = -1表 示Sy在Wilson随机游走路线上;
[0021] 第7步:从Sx,y周围Smaze范围内有效节点s x+1,y, sx,y+1, Sx-U, Sj^1中随机选择1个 节点SxW作为当前节点,若S xW = 0且mwxw = -1,则在Wilson随机游走路线列表 Awilsm中移除sx,,y,第1次位置出现之后的所有节点并将对应的节点重新在M wilsm上标记为 O ;
[0022] 第 8 步:若 sx,,y, = 0 且丽x,,y, = 0,则标记丽,,y, =-1,则将 sx,,y,加入 Awilsm, 艮P Awilson - Affilson. add (sx/ ;y< );
[0023] 第9步:若sx,,y, = 1,则将Awilsm中的所有节点标记为已访问,将其加入到Aupdate, Num visited = Numvisited+Lvisited. length ;
[0024] 第10步,若sx,y周围不存在可以访问的Smaze范围内有效节点,则从A update中随机 选择1个节点作为当前节点sx,y ;
[0025] 第11步:利用Aupdate构造 Smaze = (\」)πΧη范围内所有节点间的映射关系,从而将 Smaze= (SiJmxn范围内的所有节点置乱。
[0026] 作为本发明进一步优选方案,第11步中映射方法具体包括以下步骤:
[0027] 第11. 1步:选取整数作为映射偏移量11,IlmodAupdate. length关0,将其按式(1) 规范到(-Aupdate. length, Aupdate. length)范围内的整数,按式⑵计算index ;
[0028] 11 = IlmodAupdate. length (I)

【权利要求】
1. 一种基于2D Wilson迷宫的数字置乱方法,其特征在于包括以下步骤: 第1步:设定迷宫初始范围为Sinit = Omxn和迷宫有效区域Smaze = (Si,」)mXn,对于 i = 0,…,m-1, j = 0,…,n-1,若气y,则标记SiJ = -1,反之则标记SiJ = 0表示该节 点未访问,若Si, j>0表示该节点已访问,统计Smazej范围内的节点数量Nummazej = count (SmaJ ; 第 2 步:对于於以 e $"w:e,i = 0,…,m-1,j = 0,…,n-1,记 Si,d,d = 0, 1,2, 3 依次 为节点Sg的下方、右方、上方和左方墙,初始化sy. d = -1,d = 0, 1,2, 3,即将Smaze范围内 的所有节点以墙进行分隔,si;j. d = -1表示有墙,si;j. d = 0表示无墙; 第3步:选择随机数发生器y = RG (X),设定随机数发生器初始值RG. init = seed,记 已访问的节点数量Numvisited,初始Numvisited = 0,初始化已访问迷宫节点列表Aupdate =①; 第4步:随机选取£5^,1 = %,;;=凡,标记8!^=1,将其加入到节点更新序列, ^update ^update* add (sx,y),Numvisited = Numvisited+1 ; 第5步:若Numvisited < Nummaze,则循环执行第6步?第10步; 第6步:初始化Wilson随机游走路线列表Awilsm = O,初始化全0元素 Wilson矩阵 Mwilson = (KiwiJ)mxn,其中mwu = 0表示SiJ不在Wilson随机游走路线上,mwu = -1表示 SiJ在Wilson随机游走路线上; 第7步:从sx,y周围Smaze范围内有效节点sx+1, y, sx,y+1, Sj^y, Sj^1中随机选择1个节点 sx,作为当前节点,若sx,,y, =0且mwxw =-1,则在Wilson随机游走路线列表Awilsm中移除sx,第1次位置出现之后的所有节点并将对应的节点重新在Mwilsm上标记为0 ; 第8步:若sx,,y, = 0且丽x,,y, = 0,则标记丽,,y, =-1,则将sx,,y,加入Awilsm,即 Awiison - AwiIson-add (sx;,y;); 第9步:若sx,= 1,则将Awilsm中的所有节点标记为已访问,将其加入到Aupdate, Numvisited = Numvisited+Lvisited. length ; 第10步,若sx,y周围不存在可以访问的Smaze范围内有效节点,则从A upd&中随机选择I 个节点作为当前节点sx,y; 第11步:利用Aupdate构造 S_ = (Su)mxn范围内所有节点间的映射关系,从而将Smaze=(SiJmxn范围内的所有节点置乱。
2. 如权利要求1所述的基于2D Wilson迷宫的数字置乱方法,其特征在于第11步中映 射方法具体包括以下步骤: 第11. 1步:选取整数作为映射偏移量11,11 mod Aupdate. length尹0,将其按式⑴规 范到(-Aupdate. length, Aupdate. length)范围内的整数,按式⑵计算index ; 11 = 11 mod Aupdate. length (I)
弟 11. 2 步:将 Sinit 复制为 T = (tyhxn ; 第11. 3步:对于為,按式⑶将Si,j赋值给tx,y; (^./) = AuP,^ (HI a = 〇,--?,Amu,,, -lenSth ~1 (^ y) = AlUialMkX kk = 0,--?, AiipdalJength -1 (3) kk = (// + index) mod Aiwihik,.length 第 11. 4 步:输出 T = (I^j)mxntj
3. 如权利要求I所述的基于2D Wilson迷宫的数字置乱方法,其特征在于:选取两个随 机数发生器 y = RGtl(X),y = RG1(X),设定随机初始值 RGtl. init = Seedc^RG1. init = Seed1, 分别生成迷宫节点更新序列; 第11步中映射方法具体包括以下步骤: 第11. 1步:输入任意整数作为映射偏移量11,并将其按式⑷规范到 辦,如_)范围内的整数,按式(5)计算index ;
第 11. 4 步:输出 T = (I^j)mxntj
4. 如权利要求2所述的基于2D Wilson迷宫的数字置乱方法,其特征在于在进行图像 置乱时,具体包括以下步骤: 第(1)步:读取待置乱图像像素矩阵P= (P^)mxn作为Sinit,在Sinit上选取特定区域作 为 Smaze ; 第(2)步:选取Vsvvu G乂M作为迷宫的初始节点,选取随机数发生器y = RG(X),设定 初始值RG. init = seed和映射偏移量11 ; 第(3)步:输出置乱后的矩阵P' =(p' UOmxn,将其写为置乱后的图像。
5. 如权利要求3所述的基于2D Wilson迷宫的数字置乱方法,其特征在于:在进行图 像置乱时,具体包括以下步骤: 第⑴步:读取待置乱图像P像素矩阵P = (P^)mxn作为Sinit,在Sinit上选取特定区域 作为Smaz6 ; 第⑵步:选取作为迷宫的初始节点,选取随机数发生器y = RGtl(X), y = RGi(X),设定初始值 RGtl. init = seed。,RG1. init = Seed1 和映射偏移量 11 ; 第(3)步:输出置乱后的矩阵P' =(p' UOmxn将其写为置乱后的图像。
6. 如权利要求2所述的基于2D Wilson迷宫的数字置乱方法,其特征在于:在进行图 像置乱时,具体包括以下步骤: 第⑴步:读取 24 位图像 R、G、B 通道矩阵 P24. R = (I^j)mxnJ24. G = (gi,j)mXn 和 P24. B =(Kj)mxn,将其分别作为初始范围,在C选取特定区域作为有效区 i_ji qR qB k^maze ^ k^maze ^ i^maze \ 第⑵步:选取£5^分别作为R、G、B通道的初始节点, 选取随机数发生器 y = RGk (X),y = RGg (X),y = RGb (X),设定初始值1^1(.;[11;^ = 866(11(,1^<:. init = seedG, RGb. init = seedB 和映射偏移量 11K, 11G, IIb ; 第(3)步:依次输出置乱后的矩阵R',G',B'写为置乱后的图像。
7. 如权利要求3所述的基于2D Wilson迷宫的数字置乱方法,其特征在于:在进行图 像置乱时,具体包括以下步骤: 第⑴步:读取 24 位图像 R、G、B 通道矩阵 P24. R = (I^j)mxnJ24. G = (gi,j)mXn 和 P24. B =(Kj)mxn,将其分别作为初始范围CAH,在C,C,C选取特定区域作为有效区 I _p ^rrG maze ^maze^ k^nutze 5 第(2 )步:选取 n 分别作为R、G、B通道迷宫的初始节点,选取随机数发生器 .V ==化),少=/?# ⑴、V = = RG^.Mt = seed^RG^Mt = seedf^RG^Mt = seed^RGfinit = seed^RG^Mt = seed^RG^.Mt = 和映射偏移量 11R,11G,11B ; 第(3)步:依次输出置乱后的矩阵R',G',B'写为置乱后的图像。
8. 如权利要求2所述的基于2D Wilson迷宫的数字置乱方法,其特征在于:在进行图 像置乱时,具体包括以下步骤: 第⑴步:读取待置乱图像比特位面,对于8位图像P8,将图像位面 kk = 0, 1,…,7依次作为初始范围=0,1,…,7,对于24位图像P24,将图像位面 户24焉=(〇_,1^ = 0,1,"%23依次作为初始范围5^,缺=0,1,.",23,在5^上选取特定 区域作为有效区域t; 第⑵步:选取作为迷宫的初始节点,选取随机数发生器y = RGkk(X),设定 初始值RGkk. init = Seedkk和映射偏移量Ilkk ; 第⑶步:依次输出置乱后的矩阵,对于8位图像P8,将置乱后的位面W' kk,kk = 〇,…,7写为置乱后的图像,对于24位图像P24,将置乱后的位面W' kk, kk = 0,…,23写为 置乱后的图像。
9. 如权利要求3所述的基于2D Wilson迷宫的数字置乱方法,其特征在于:在进行图 像置乱时,具体包括以下步骤: 第⑴步:读取待置乱图像比特位面,对于8位图像P8,将图像位面尽^=(<)_, kk = 0, 1,…,7依次作为初始范围5^,敁=0,1,''_,7,对于24位图像P24,将图像位面 P24.%- =(M^)fflxn, kk = 0, 1,…,23依次作为初始范围冗,献=0,1,.",23,在5;:上选取特定 区域作为有效区域 第⑵步:选取作为迷宫的初始节点,选取随机数发生器⑴, _y = i?Gf⑷,设定初始值对_.滅=--^,滅=,yaaaf和映射偏移量Ilkk; 第⑶步:依次输出置乱后的矩阵,对于8位图像P8,将置乱后的位面W' kk,kk = 〇,…,7写为置乱后的图像,对于24位图像P24,将置乱后的位面W' kk, kk = 0,…,23写为 置乱后的图像。
【文档编号】G06T1/00GK104361551SQ201410748363
【公开日】2015年2月18日 申请日期:2014年12月8日 优先权日:2014年12月8日
【发明者】邵利平 申请人:陕西师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1