1.基于立体置乱模型和混沌的彩色图像加密方法,其特征在于,加密过程包括如下步骤:
1
步骤1:建立三维原始矩阵:令原始图像为m×n的彩色图像A ,定义一个大小为m×n×3的矩阵O,其元素为区间[1, 3mn]中的所有整数;令a=m/4,b=n/4,将O等分为16个大小为a×b×3的三维矩阵,再按照从左往右、从上往下和从前往后的顺序,依次将这些三维矩阵转换成一个a×b×48的三维矩阵O1;
步骤2:二维Zigzag变换:O1可视为由48个a×b的二维矩阵构成,依次定义为P1, P2, …, Pi, …, P48,Pi称为一页;利用二维Zigzag变换对Pi进行页置乱,得置乱结果为元胞数i i
组Q ,i=1, 2, …, 48,每个元胞数组Q 都由Pi中所有倾斜角为45°的右斜对角线上的所有i 1 2
元素构成,由于a×b大小的矩阵有a+b‑1条右斜对角线,因此Q 长度均为t=a+b‑1;用Q , Q ,
48
…, Q 构成一个48×t的元胞数组Q;利用二维Zigzag变换对Q进行元胞数组置乱,得置乱结果为元胞数组R;
步骤3:生成索引矩阵:按照一定顺序,将R中元素值转换成m×n×3的三维索引矩阵I;
步骤4:图像立体置乱:将建立的从O到I的映射,称为立体置乱模型;将该模型作用在原
1 2
始图像A 上,可得置乱图像A ;
1 1
步骤5:混沌置乱:利用一维Logistic映射产生长度为m的混沌序列X ={xk}和长度为n
1 1
的混沌序列Y ={yj},计算:
2 1 16
xk =mod[floor(xk×10 ), m‑1]+1,k=1, 2, …, m, (1)
2 1 16
yj=mod[floor(yj×10 ), n‑1]+1,j=1, 2, …, n, (2)
1 1 1 1 2 2 2其中,floor()是取整函数,mod()是取模运算函数,x k∈X 和y j∈Y ;令X ={x k},Y =
2 2 2 3
{yj};然后,对A 的第k行像素进行长度为xk的循环移位,k=1, 2, …, m,得置乱图像A ;对
3 2 4
A的第j列进行长度为yj的循环移位,j=1, 2, …, n,得置乱图像A ;
步骤6:图像扩散:利用一维Logistic映射产生大小为3mn的混沌序列L,并按一定规则将其转换成m×n×3的矩阵B;计算:
5 4
A = A ⊕B, (3)5
其中,⊕表示异或运算;得加密图像A 。
2.根据权利要求1所述的方法,其特征在于:所述步骤2中,页置乱指:以元素为置乱单i
位,对每页Pi ,i=1, 2, …, 48,进行二维Zigzag变换,变换结果为元胞数组Q ,其元素对应i
Pi中一条右斜对角线上的所有元素集,即下图中每个虚椭圆内的元素;Pi和Q 的数据结构以及转换关系具体为:
。
i
3.根据权利要求1所述的方法,其特征在于:步骤2中,元胞数组置乱指:以Q 中元素为置i
乱单位,对Q进行一次48×t的二维Zigzag变换,变换结果为元胞数组R,Q 和R的数据结构以及转换关系具体为:
。