【技术实现步骤摘要】
本专利技术主要涉及信息安全和数字信号处理等交叉研究领域,具体为基于Growing Tree迷宫生成策略的数字置乱方法,特别涉及基于3D Growing Tree迷宫的数字置乱方法。
技术介绍
近年来,伴随着计算机和网络技术的发展,越来越多的图像在网络中传输,在给用户提供方便的同时,也带来了一系列的安全隐患。对图像的不当使用和恶意篡改,不仅涉及个人隐私,也会给社会带来严重负面影响。保障图像的核心技术是数字图像加密。在数字图像加密领域,研究最为广泛和灵活的一类图像加密方法,就是在同一空间内,对图像的重编码技术,即图像置乱技术。随着计算机技术的飞速发展,数字图像置乱技术已成为数字安全传输和保密的主要手段。其基本思路就是把一幅图像经过一定的数学变换,转变成面目全非的另一幅图像,以起到对图像的安全保密作用。数字图像置乱也是目前隐密术、数字水印、信息分存和可视密码技术中一项关键预处理技术。已受到了国内外学者的普遍重视,并取得了丰硕的研究成果。数字图像置乱最初来源于有线电视信号加密,早期的置乱在位置空间进行,用于对图像像素位置打乱,这些置乱方法包括行倒置置乱、行平移置乱、行置换置乱、行循环置乱、行分量切割置乱等。随着置乱技术的不断发展,目前已提出的置乱方法多种多样,既可用于位置置换,也可用于灰度替代。当前已提出的置乱方法主要有:基于离散元素序列的置乱方法、基于扫描路线的置乱方法、基于遍历 ...
【技术保护点】
一种基于3D Growing Tree迷宫的数字置乱方法,其特征在于包括以下步骤:第1步:设定迷宫初始范围Sinit=()m×n×l和迷宫有效区域Smaze=(si,j,k)m×n×l,对于∀si,j,k,i=0,...,m-1,j=0,...,n-1,k=0,...,l-1,]]>若si,j,k∉Smaze,]]>则标记si,j,k=‑1,反之则标记si,j,k=0表示该节点未访问,若si,j,k>0表示该节点已访问;第2步:对于∀si,j,k∈Smaze,i=0,...,m-1,j=0,...,n-1,k=0,...,l-1,]]>记si,j,k.d,d=0,1,2,3,4,5依次为节点si,j,k的下方、右方、上方、左方、底部和顶部墙,初始化si,j,k.d=‑1,d=0,1,2,3,4,5,‑1表示为有墙,0表示无墙;第3步:选择随机数发生器y=RG(x),设定随机数发生器初始值RG.init=seed,初始化迷宫节点列表Amaze=Φ,节点更新序列Aupdate=Φ,由随机数发生器随机产生2个概率Prec ...
【技术特征摘要】
1.一种基于3D Growing Tree迷宫的数字置乱方法,其特征在于包括以下
步骤:
第1步:设定迷宫初始范围Sinit=()m×n×l和迷宫有效区域Smaze=(si,j,k)m×n×l,对
于∀si,j,k,i=0,...,m-1,j=0,...,n-1,k=0,...,l-1,]]>若si,j,k∉Smaze,]]>则标记si,j,k=-1,反
之则标记si,j,k=0表示该节点未访问,若si,j,k>0表示该节点已访问;
第2步:对于∀si,j,k∈Smaze,i=0,...,m-1,j=0,...,n-1,k=0,...,l-1,]]>记
si,j,k.d,d=0,1,2,3,4,5依次为节点si,j,k的下方、右方、上方、左方、底部和顶部墙,
初始化si,j,k.d=-1,d=0,1,2,3,4,5,-1表示为有墙,0表示无墙;
第3步:选择随机数发生器y=RG(x),设定随机数发生器初始值
RG.init=seed,初始化迷宫节点列表Amaze=Φ,节点更新序列Aupdate=Φ,由随机
数发生器随机产生2个概率Precent,Poldest∈[0,1);
第4步:选取将sx,y,z分别加到Amaze和Aupdate,
即Amaze=Amaze.add(sx,y,z)Aupdate=Aupdate.add(sx,y,z);
第5步:若Amaze≠Φ,则循环执行第6步~第8步;
第6步:产生1个随机数P∈[0,1),若P∈[0,Precent],则取Amaze尾部元素作
为当前节点sx,y,z,反之若P∈[Precent,Precent+Poldest],则取Amaze头部元素作为当前节
点sx,y,z,反之则从Amaze中随机取一个元素作为当前节点sx,y,z,
sx,y,z=Amaze.at(index),index=random(Amaze.length);
第7步:若sx,y,z周围的邻近节点中sx+1,y,z,sx,y+1,z,sx-1,y,z,sx,y-1,z,sx,y,z-1,sx,y,z+1存在
未访问的有效节点sx′,y′,z′∈Smaze,则将sx′,y′,z′加入到Amaze,即Amaze=Amaze.add(sx′,y′,z′),
Aupdate=Aupdate.add(sx′,y′,z′);
第8步:若sx,y,z周围的邻近节点中
sx+1,y,z,sx,y+1,z,sx-1,y,z,sx,y-1,z,sx,y,z-1,sx,y,z+1不存在未访问的有效节点
sx′,y′,z′∈Smaze,则删除Amaze索引位置为Index位置的元素,即Amaze.delete(index);
第9步:利用Aupdate构造Smaze=(si,j,k)m×n×l范围内所有节点间的映射关系,从而
将Smaze=(si,j,k)m×n×l范围内的所有节点置乱。
2.如权利要求1所述的基于3D Growing Tree迷宫的数字置乱方法,其特
征在于第9步中映射方法具体包括以下步骤:
第9.1步选整数作为映射偏移量ll,llmodAupdate.length≠0,将其按式(1)规
范到(-Aupdate.length,Aupdate.length)范围内的整数,按式(2)计算index;
ll=llmodAupdate.length (1)
index=(ll+Aupdate.length)modAupdate.lengthll<0llll>0---(2)]]>第9.2步:将Sinit复制为T=(ti,j,k)m×n×l;
第9.3步:对于按式(3)将si,j,k赋值给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=(ti,j,k)m×n×l。
3.如权利要求1所述的基于3D Growing Tree迷宫的数字置乱方法,其特
征在于:选取两个随机初始值RG0.init=seed0,RG1.init=seed1分别生成迷宫节点更
新序列第9步中映射方法具体包括以下步骤:
第9.1步:输入任意整数作为映射偏移量ll,并将其按式(4)规范到
范围内的整数,按式(5)计算index;
ll=llmodAupdate0.length---(4)]]>index=(ll+Aupdate0.length)modAupdate0.lengthll<0llll>0---(5)]]>第9.2步:将Sinit复制为T=(ti,j,k)m×n×l;
第9.3:对于按式(6)将si,j,k赋值给tx,y,z;
(i,j,k)=Aupdate0(ii),ii=0,...,Aupdate0.length-1]]>(x,y,z)=Aupdate1(kk),kk=0,...,Aupdate1.length-1---(6)]]>kk=(ii+index)modAupdate1.length]]>第9.4步:输出T=(ti,j,k)m×n×l。
4.如权利要求...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。