主权项 |
一种基于双随机相位和复合混沌的线性正则域图像加密方法,包括:(1)输入一幅N×N的灰度图像F作为待加密图像,获得其二维图像矩阵f<sub>1</sub>(x,y);(2)将二维图像矩阵f<sub>1</sub>(x,y)与掩模函数exp(j2πn<sub>1</sub>(x,y))相乘,进行第一次随机相位编码,得到随机相位编码后的图像矩阵f<sub>2</sub>(x,y),其中:n<sub>1</sub>(x,y)为第一次编码的N×N的二维随机矩阵;(3)选取线性正则变换的变换参数a,b,c,d作为密钥,将编码后的图像矩阵f<sub>2</sub>(x,y)进行二维线性正则变换,得到变换后的二维图像矩阵L<sub>a,b,c,d</sub>(u,v),其中:a为线性正则变换第一自由参数,b为第二自由参数,c为第三自由参数,d为第四参数;(4)将变换后的二维图像矩阵L<sub>a,b,c,d</sub>(u,v)与掩模函数exp(j2πn<sub>2</sub>(u,v))相乘,进行第二次随机相位编码,得到第二次编码后的图像矩阵g<sub>1</sub>(u,v),其中:n<sub>2</sub>(u,v)为第二次编码的N×N的二维随机矩阵;(5)分别选取x<sub>0</sub>、y<sub>0</sub>作为复合混沌系统的初始值,并将该初值代入复合混沌系统方程中进行迭代,得到用于对x方向置乱的混沌序列{x<sub>i</sub>}和用于对y方向置乱的混沌序列{y<sub>i</sub>},其中i=0,1,2,...,9999+N;将这两个混沌序列的前10000个数值去掉对其重新编号,得到用于对x方向置乱的混沌序列{s<sub>j</sub>}和用于对y方向置乱的混沌序列{k<sub>j</sub>},j=0,1,2,...,N‑1;(6)将上述x、y方向混沌序列{s<sub>j</sub>}、{k<sub>j</sub>},按从小到大的顺序进行排序,利用排好序的两个序列的元素值在原混沌序列中的位置标号,作为新混沌序列{s′<sub>j</sub>}和{k′<sub>j</sub>};将新混沌序列{s′<sub>j</sub>}作为行置乱集合P,将新混沌序列{k′<sub>j</sub>}作为列置乱集合Q,这里行置乱集合<img file="FDA0001010476630000011.GIF" wi="382" he="56" />和列置乱集合Q={θ<sub>0</sub>,θ<sub>1</sub>,...,θ<sub>N‑1</sub>},其中<img file="FDA0001010476630000021.GIF" wi="454" he="71" />i=0,1,,,N‑1;(7)将步骤(4)中得到的第二次随机相位编码后的图像矩阵g<sub>1</sub>(u,v)的行、列依次按照行置乱地址集合Q和列置乱地址集合P中的元素进行置乱,得到加密后的图像矩阵g<sub>2</sub>(u,v)。 |