1.一种基于多涡卷混沌系统的图像加密方法,其特征在于按照以下步骤进行:S1:利用多涡卷混沌系统产生3个混沌序列,分别记为H1,H2,H3;
S2:将图像用像素矩阵P表示,并根据图像大小确定行数M和列数N;
S3:截取混沌序列H1中长为M的序列来构成行置乱随机向量X;
S4:截取混沌序列H2中长为N的序列来构成列置乱随机向量Y;
S5:将像素矩阵P中的第i行与第Xi行互换,第j列与第Yj列互换,从而得到置乱图像Pxy,其中Xi为随机向量X中第i个元素的值,Yj为随机向量Y中第j个元素的值;
xy
S6:从混沌序列H2中截取长为M×N的序列对置乱图像P 各个像素值进行正向替代,然后在从混沌序列H3中截取长为M×N的序列对其进行反向替代,最终得到加密后的图像。
2.根据权利要求1所述的一种基于多涡卷混沌系统的图像加密方法,其特征在于:步骤S1中采用的多涡卷混沌系统为单方向Jerk10涡卷系统,其数学表达式为:式中变量A=0.5,N=4,β=0.45。
3.根据权利要求1或2所述的一种基于多涡卷混沌系统的图像加密方法,其特征在于:步骤S3中按照:X=mod{floor[(H1(1:M)+100)*10^10],M}+1来构成行置乱随机向量X;
步骤S4中按照:Y=mod{floor[(H2(1:N)+100)*10^10],N}+1来构成列置乱随机向量Y;
式中H1(1:M)表示依次取混沌序列H1中长为M的序列,H2(1:N)表示依次取混沌序列H2中长为N的序列,floor()表示浮点运算函数,mod()表示求模运算函数,将直接运算所得的X中重复的数只保留一个,并用{1,2,…,M}中没有出现在X中的元素由小到大排列在随机向量X的末尾,得到最终的行置乱随机向量X,且该随机向量中的各个元素Xi∈{1,2,…,M};同理,将直接运算所得的Y中重复的数只保留一个,并用{1,2,…,N}中没有出现在Y中的元素由小到大排列在Y的末尾,得到最终的列置乱随机向量Y,且该随机向量中的各个元素Yi∈{1,2,…,N}。
4.根据权利要求3所述的一种基于多涡卷混沌系统的图像加密方法,其特征在于:步骤S6中正向替代序列的生成方式为:
Z1=mod{floor[(H2(1:M*N)+100)*10^10],256};
步骤S6中反向替代序列的生成方式为:
Z2=mod{floor[(H3(1:M*N)+100)*10^10],256};
其中,H2(1:M*N)表示依次取混沌序列H2中长为M*N的序列,H3(1:M*N)表示依次取混沌序列H3中长为M*N的序列。
5.根据权利要求4所述的一种基于多涡卷混沌系统的图像加密方法,其特征在于:步骤S6中,将置乱图像Pxy展开为一维向量;
正向替换时,i从1增加到M*N,正向替换后向量记为C且:反向替换时,i从M*N减少到1,反向替换后向量记为D且:其中C0与DM*N+1为常熟,在密钥中预先给出,Pixy为置乱图像Pxy展开为一维向量后的第i个元素,Ci为正向替换后向量C中的第i个元素,Di为反向替换后向量D中的第i个元素,Z1,i为正向替代序列Z1中的第i个元素,Z2,i为反向替代序列Z2中的第i个元素。