一种基于3DGrowingTree迷宫的数字置乱方法

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

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

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


【发明内容】

[0012] 本发明的目的在于克服现有技术缺陷,提供一种基于3D Growing Tree迷宫的数 字置乱方法,该方法可用于3D任意连通封闭区域数据置乱。
[0013] 为实现上述目的,本发明采用以下技术方案:
[0014] -种基于3D Growing Tree迷宫的数字置乱方法,包括以下步骤:
[0015] 第1步:设定迷宫初始范围 Sinit - OmXnXl 和迷宫有效区域Smaze= (Si,^nixnxl,对 于 i = 〇, ...,m_1,j = 〇,…,n_1,k = 〇,…,1_1,若在*^縦,则标记 Si,j,k = _1, 反之则标记si;j,k = 0表示该节点未访问,若SukX)表示该节点已访问;
[0016] 第 2 步:对于 eS,亂_e,i = 〇,…,m-i,j = 〇,…,n-i,k = 0,…,1-1,记 SiJk. d,d = 0, 1,2, 3, 4, 5依次为节点Si,」,k的下方、右方、上方、左方、底部和顶部墙,初始化Suk. d = -1,d = 0, 1,2, 3, 4, 5, -1表示为有墙,0表示无墙;
[0017] 第3步:选择随机数发生器y = RG(X),设定随机数发生器初始值RG. init = seed, 初始化迷宫节点列表Amazej = ,节点更新序列Aupdatej = ,按随机数发生器随机产生2个 概率 Praent, Pt5ldestG [0, 1);
[0018] 第 4 步:选取酿,X = X。,y = y。,z = z。,将 sx,y,z*别加到 Amaze^ Aupdate, 艮P Amaze Amaze. £idd (Sx,y,z) AUpdate AUpdate. £idd (Sx,y,z);
[0019] 第5步:若Amaze尹O,则循环执行第6步?第8步
[0020] 第6步:产生1个随机数P G [0, 1),若P G [0, U,则取Amaze尾部元素作为 当前节点Sw,反之若P G [P_ent,Preeent^ldest],则取Amaze头部元素作为当前节点s w, 反之则从Amaze中随机取一个元素作为当前节点sx,y,z, sx,y,z = Amaze. at (index), index = random(Amaze. length);
[0021] 第7步:若sx y,z周围的邻近节点中 Sx+l,y,z, Sx,y+i,z, Sx-i,y,z, Sx,y-i,z, Sx,y,z-I, Sx,y,Z+1存在未访问的有效节点Sx,e Smaze,则将sx,,z,加入到Amaze,即A maze = Amaze. add (Sx',y/,z' ),A1^pdate - ^update, add (Sx',y/,z');
[0022] 第8步:若sx,y周围的邻近节点中 Sx+l,y,Z, SX,y+l,Z, Sx- 1,y,z, SX,y- 1,z, SX,y,z -I, SX,y,z + l 不存 在未访问的有效节点Sx,,y,,z,G Sniazej,则删除Aniazej索引位置为Index位置的元素,即Aniazej. delete (index);
[0023] 第9步:利用Aupdate构造 Sm_ = (Si^k)mxnxl范围内所有节点间的映射关系,从而 ^寸 Smaze (Si,j,k) mXnX 1 范围内的所有节点置乱。
[0024] 作为本发明进一步优选方案,第9步中映射方法具体包括以下步骤:
[0025] 第9. 1步选整数作为映射偏移量11,11 mod Aupdate. length关0,将其按式⑴规 范到(-Aupdate. length, Aupdate. length)范围内的整数,按式⑵计算index ;
[0026] 11 = IlmodAupdate. length (I)

【权利要求】
1?一种基于3DGrowingTree迷宫的数字置乱方法,其特征在于包括以下步骤: 第1步:设定迷宫初始范围Sinit = 〇mXnX1和迷宫有效区域 Smaze ^i, j, mXnX 1?对于
则标记Si,j,k= -1,反之 则标记si;j,k = 0表示该节点未访问,若SukX)表示该节点已访问; 第2步:对于
,记Si,j,k.d,d =0, 1,2, 3, 4, 5依次为节点Si,」,k的下方、右方、上方、左方、底部和顶部墙,初始化Si,」,k.d=-1,d= 0, 1,2, 3, 4, 5, -1表示为有墙,0表示无墙; 第3步:选择随机数发生器y=RG(x),设定随机数发生器初始值RG.init=seed,初 始化迷宫节点列表Amaze; = 〇,节点更新序列Aupdate; = 〇,由随机数发生器随机产生2个概 Precent,P〇ldest G [〇, 1); 第4步:选取
,将分别加到A_e和Aupdate,即A_e Anaze. add (Sx,y,z) AUpdate AUpdate. £idd (Sx,y,z); 第5步:若A_e尹〇,则循环执行第6步?第8步; 第6步:产生1个随机数PG[〇, 1),若PG[〇,P_mt],则取Am_尾部元素作为当前节 点,反之若Pe[P_nt,P_nt+U,则取A_头部元素作为当前节点sw,反之则从 Amaze 中随机取一个元素作为当前节点sx,y,z,sx,y,z =Amaze.at(index),index=random(Amaze. length); 第7步:若sx,y,z周围的邻近节点中Sx+l,y,z, Sx,y+i,z, Sx-i,y,z, Sx,y-i,zj Sx,y,z-1, Sx,y,z+i存在未访 问的有效节点Sx,,y,,z,GSMze,则将sx,,y,,z,加入到AMze,BpA-e=AMze.add(sx,,y,,z,), ^update - AUpdate. add (Sx,,y,,z,); 第8步:若sx,y,z周围的邻近节点中Sx+l,y,Z,SX,y+l,Z,Sx- 1,y,z, Sx,y- 1,z,SX,y,z -1,SX,y,z + l不存在 未访问的有效节点Sx,,ywG,则删除索引位置为Index位置的元素,即AMze;. delete(index); 第9步:利用Aupdate构造Smaze = (si;j,k)mXnX1范围内所有节点间的映射关系,从而将Smaze =(Si,j,k)mXnX1范围内的所有节点置乱。 2?如权利要求1所述的基于3DGrowingTree迷宫的数字置乱方法,其特征在于第9 步中映射方法具体包括以下步骤: 第9. 1步选整数作为映射偏移量11,llmodAupdate.length尹0,将其按式⑴规范到 (_AUpdate.length,Aupdate.length)范围内的整数,按式⑵计算index; 11 =llmodAupdate.length (1)
弟 9. 2 步:将Sinit 复制为T= (tm^xnxi; 第9. 3步:对于
,按式⑶将su』赋值给tx,y,z; (i,j,k) =Aupdate(ii),ii= 0, ...,Aupdate.length-1 (x,y,z) =Aupdate (kk),kk= 0, ...,Aupdate.length-1 (3) kk= (ii+index)modAupdate.length 第 9. 4 步:输出T=(tykLxnxi。 3?如权利要求1所述的基于3DGrowingTree迷宫的数字置乱方法,其特征在于: 选取两个随机初始值RGQ.init=seed。,RGpinit=seedi分别生成迷宫节点更新序列
第9步中映射方法具体包括以下步骤: 第9. 1步:输入任意整数作为映射偏移量11,并将其按式⑷规范到
范围内的整数,按式(5)计算index;
弟 9. 2 步:将Sinit 复制为T= (tm^xnxi; 第9. 3 :对于
,按式(6)将Suk赋值给tx,y,z ;
第 9. 4 步:输出T= (tm^xnxi。 4?如权利要求2所述的基于3DGrowingTree迷宫的数字置乱方法,其特征在于,在进 行图像置乱时,具体包括以下步骤: 第⑴步:读取待置乱图像的位面立方体,对于8位图像P8,将P8.W= 作为 Sinit,对于24位图像,将P24.W= 作为Sinit,在Sinit上选取特定区域作为S_e ; 第(2)步:选取
作为迷宫的初始节点,选取随机数发生器y=RG(x),设 定初始值RG.init=seed和映射偏移量11 ; 第⑶步:输出置乱后的位面立方体,对于8位图像,将(w'uk)mXnX8写为置乱后的 图像,对于24位图像,将(w' 写为置乱后的图像。 5?如权利要求3所述的基于3DGrowingTree迷宫的数字置乱方法,其特征在于,在进 行图像置乱时,具体包括以下步骤: 第⑴步:读取待置乱图像的位面立方体,对于8位图像P8,将P8.W= 作为 Sinit,对于24位图像,将P24.W= 作为Sinit,在Sinit上选取特定区域作为S_e ; 第⑵步:选取
作为迷宫的初始节点,选取随机数发生器y= RG〇(x),y=RGi(x),设定初始值RGQ.init=seed。,RGpinit=seedi和映射偏移量 11 ; 第⑶步:输出置乱后的位面立方体,对于8位图像,将(w'uk)mXnX8写为置乱后的 图像,对于24位图像,将(w' 写为置乱后的图像。 6?如权利要求2所述的基于3DGrowingTree迷宫的数字置乱方法,其特征在于,在进 行图像置乱时,具体包括以下步骤: 第⑴步:读取待置乱24位图像P24的RGB立方体P24.C= (Ci,j,k)mXnX3作为Sinit,在Sinit上选取特定区域作为S_e ; 第(2)步:选取
作为迷宫的初始节点,选取随机数发生器y=RG(x),设 定初始值RG.init=seed和映射偏移量11 ; 第⑶步:输出置乱后的RGB立方体(c' ,将其写为置乱后的图像。 7?如权利要求3所述的基于3DGrowingTree迷宫的数字置乱方法,其特征在于,在进 行图像置乱时,具体包括以下步骤: 第⑴步:读取待置乱24位图像P24的RGB立方体P24.C= (Ci,j,k)mXnX3作为Sinit,在Sinit上选取特定区域作为S_e ; 第⑵步:选取£乂_作为迷宫的初始节点,选取随机数发生器y=RG〇(x),y=RGi(x),设定初始值RGQ.init=seed。,RGpinit=seedi和映射偏移量 11 ; 第⑶步:输出置乱后的RGB立方体(c' ,将其写为置乱后的图像。 8?如权利要求2所述的基于3DGrowingTree迷宫的数字置乱方法,其特征在于,在进 行图像置乱时,具体包括以下步骤: 第⑴步:读取待置乱24位图像P24的RGB通道立方体

将其分别作为初始范围
,在
选取特定区域作为有效区域
第⑵步:选取
作为迷宫的初始节点,选取随 机数发生器y=RGK(x),y=RGg(x),y=RGB(x),设定初始值RGK.init=seedK,RGg.init=seedG,RGB.init=seedB 和映射偏移量 11K, 11G, 11B ; 第(3)步:输出置乱后的R、G、B通道立方体

,将其写为置乱后的图像。 9?如权利要求3所述的基于3DGrowingTree迷宫的数字置乱方法,其特征在于,在进 行图像置乱时,具体包括以下步骤: 第⑴步:读取待置乱24位图像P24的RGB通道立方体

将其分别作为初始范围
,在
选取特定区域作为有效区域
第(2)步:选取
作为迷宫的初始节点,选取随机数发生器
,设定初 始 值

和映射偏移量11K,11s,11B; 第(3)步:输出置乱后的R、G、B通道立方体

将其写为置乱后的图像。
【文档编号】G06T1/00GK104408683SQ201410745921
【公开日】2015年3月11日 申请日期:2014年12月8日 优先权日:2014年12月8日
【发明者】邵利平 申请人:陕西师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1