1.基于压缩感知和双随机加密机制的彩色图像压缩加密方法,其特征在于,包括:步骤1:将彩色明文图像分解成三个分量R、G和B,并分别对三个分量R、G和B进行离散小波变换,得到三个大小为M×N的稀疏系数矩阵R1、G1和B1,所述彩色明文图像的大小为M×N,M=N;
步骤2:利用彩色明文图像的哈希值K和预设外部密钥,生成初始值u1、u2、x1和x2;
步骤3:根据初始值u1、u2、x1和x2,利用四翼超混沌系统得到混沌序列X、Y、Z和W,并利用Logistic‑Tent混沌系统得到测量矩阵Φ;
步骤4:对混沌序列X、Y、Z和W进行升序排序,得到排序后序列X1、Y1、Z1和W1以及对应的索引向量D1、D2、D3和D4;
步骤5:利用索引向量D1、D2、D3和D4对稀疏系数矩阵R1、G1和B1进行双随机位置置乱,得到置乱后序列R4、G4和B4;
步骤6:利用测量矩阵Φ对置乱后序列R4、G4和B4进行压缩测量,并进行量化处理,得到量化后序列R8、G8和B8;
步骤7:对排序后序列X1、Y1、Z1和W1进行预处理,得到预处理后序列X4、Y4和Z4;
步骤8:利用预处理后序列X4、Y4和Z4对量化后序列R8、G8和B8进行双随机像素值扩散,得到密文序列CR8、CG8和CB8;
步骤9:将密文序列CR8、CG8和CB8分别转换为m×N的矩阵R9、G9和B9,组合R9、G9和B9,得到彩色密文图像C,m=floor(CR×M),CR表示压缩率,floor表示向下取整运算。
2.根据权利要求1所述的方法,其特征在于,步骤2包括:步骤2.1:计算彩色明文图像的SHA‑512哈希函数值,得到一组512位的哈希值K;
步骤2.2:将512位的哈希值K每8位为一组,转换为64个十进制数k1~k64;
步骤2.3:根据64个十进制数k1~k64和预设外部密钥t1、t2、t3和t4,利用公式(1)计算得到四个中间值h1、h2、h3和h4:其中,⊕表示异或运算,sum表示求和运算,max表示取最大值运算;
步骤2.4:将中间值h1、h2、h3和h4带入公式(2)中,得到初始值u1、u2、x1和x2:其中,mod表示取模运算。
3.根据权利要求1所述的方法,其特征在于,步骤3中的利用Logistic‑Tent混沌系统得到测量矩阵Φ,包括:
步骤3.1:以初始值u1为系统参数,以x1为系统初始值,将u1和x1带入Logistic‑Tent混沌系统中,迭代n0+mN次,舍弃前n0个值,得到大小为1×mN的混沌序列XX;以初始值u2为系统参数,以x2为系统初始值,将u2和x2带入Logistic‑Tent混沌系统中,迭代n0+mN次,舍弃前n0个值,得到大小为1×mN的混沌序列YY;
步骤3.2:对混沌序列XX降序排列,对混沌序列YY升序排列,分别得到两个排序后序列XXX和YYY以及对应的索引向量T1和T2;
步骤3.3:随机生成两个大小为m×N的矩阵,并将两个矩阵转换为两个大小为1×mN一维向量η和 利用索引向量T1和T3分别对两个一维向量η和 排序,得到排序后序列P和Q,其中,T3=ceil(0.9×T2),ceil表示向上取整运算;
步骤3.4:根据排序后序列P和Q按照公式(8)和(9)再次计算Logistic‑Tent混沌系统的参数U和初始值z3:
其中,mod表示取模运算, 表示向下取整运算;
步骤3.5:将参数U和初始值z3带入Logistic‑Tent混沌系统中,生成大小为1×mN的混沌序列φ;
步骤3.6:按照从上到下、从左到右的顺序对混沌序列φ中的元素进行排列,构造大小为m×N的测量矩阵Φ:
4.根据权利要求2所述的方法,其特征在于,步骤5具体为:步骤5.1:将索引向量D1、D2、D3和D4两两结合并分成六组新的索引向量,每组新的索引向量中包括三个小组索引向量,每个小组索引向量由索引向量D1、D2、D3和D4中的任意两个组成,且每个小组索引向量中包含的索引向量不完全相同;
步骤5.2:按照公式(12)计算选择参数M2:其中,M2∈[1,6]且为整数;
步骤5.3:根据选择参数M2的取值从六组新的索引向量中选择一组索引向量;
步骤5.4:将稀疏系数矩阵R1、G1和B1分别转化为一维序列R2、G2和B2,利用步骤5.3中选择的索引向量按照预设置乱方式分别对一维序列R2、G2和B2进行双随机位置置乱,得到置乱后序列R4、G4和B4,所述预设置乱方式为:利用第一小组索引向量DS1和DS2对一维序列R2进行置乱,利用第二小组索引向量DS3和DS4对一维序列G2进行置乱,利用第三小组索引向量DS5和DS6对一维序列B2进行置乱,S1,S2,S3,S4,S5,S6∈[1,4]且为整数;
其中,每个小组索引向量对一维序列的置乱操作具体为:利用小组中的其中一个索引向量DS从所述一维序列中选择待置乱像素位置DS(i),将待置乱像素位置DS(i)的像素值映射到一中间序列中的位置i处;
*
再利用小组中的另一个索引向量DS 将中间序列位置i处的像素值映射到置乱后序列中*
的另一个随机位置DS(i)处,得到所述置乱后序列,i∈[1,MN]。
5.根据权利要求2所述的方法,其特征在于,步骤6中的利用测量矩阵Φ对置乱后序列R4、G4和B4进行压缩测量,具体为:将置乱后序列R4、G4和B4转化成大小均为M×N的矩阵R5、G5和B5;
按照公式(14)分别对R5、G5和B5进行压缩测量,得到压缩测量后的矩阵R6、G6和B6:
6.根据权利要求5所述的方法,其特征在于,步骤6中的所述进行量化处理,得到量化后序列R8、G8和B8,具体为:
首先将压缩测量后矩阵R6、G6和B6分别转化为1×mN的序列R7、G7和B7;然后按照公式(15)将序列R7、G7和B7中的元素分别量化到0到255之间,得到量化后序列R8、G8和B8:其中,1≤i≤mN,minr和maxr分别表示序列R7中的最小元素和最大元素,ming和maxg分别表示序列G7中的最小元素和最大元素,minb和maxb分别表示序列B7中的最小元素和最大元素。
7.根据权利要求1所述的方法,其特征在于,步骤7具体为:步骤7.1:按照公式(16)对排序后序列X1、Y1、Z1和W1进行处理,得到序列X2、Y2和Z2:其中,mod表示取模运算,abs表示绝对值运算;
步骤7.2:分别舍弃序列X2、Y2、Z2的前 个元素,对应序列中剩下的元素分别构成序列X3、Y3和Z3,分别从序列X3、Y3和Z3中选取前mN个元素,得到预处理后序列X4、Y4和Z4。
8.根据权利要求1所述的方法,其特征在于,步骤8具体为:步骤8.1:将序列X4和Y4进行升序排序得到排序后序列XX4和YY4以及对应的索引向量v1和v2;
步骤8.2:按照公式(18)得到三个地址向量add1、add2和add3:步骤8.3:根据三个地址向量add1、add2和add3按照公式(19)至(21)对量化后序列R8、G8和B8进行双随机像素值扩散:
其中,表示模加运算,⊕表示异或运算,1≤n≤mN。