基于压缩感知和双随机加密机制的彩色图像压缩加密方法转让专利
申请号 : CN201911098613.2
文献号 : CN111050020B
文献日 : 2021-05-11
发明人 : 柴秀丽 , 毕建强 , 付江豫 , 刘先省 , 王娟 , 路杨 , 支相丞
申请人 : 河南大学
摘要 :
权利要求 :
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。
说明书 :
基于压缩感知和双随机加密机制的彩色图像压缩加密方法
技术领域
背景技术
响,甚至威胁到国家安全、社会稳定和个人生活,因此,保护图像在传输和存储中的数据安
全显得尤为重要,对数据进行加密是一种有效的技术手段。传统的加密方法,如数据加密标
准(DES)或高级加密标准(AES)主要针对文本信息设计。区别于文本数据,图像具有一些固
有特性,如相邻两个像素之间的强相关性和高冗余度等,这使得采用传统加密方法对图像
信息进行加密时存在加密效率低的问题。作为一种替代方案,基于混沌系统的图像加密是
近年来广泛研究的对象。同时,考虑到逐渐增加的图像数据容量,对图像进行压缩以节约带
宽和存储空间也显得很有必要。压缩感知(compressive sensing,CS)技术近年来逐渐被应
用于图像加密中,在对图像进行压缩的同时,实现数据的加密。
这种类型图像抗统计攻击能力差,易泄露明文信息。将置乱、扩散操作与CS线性测量相融
合,可以有效提高算法的安全级别。当前的图像置乱方法中,许多算法都利用混沌序列排序
得到一组索引向量,接着利用该向量对明文图像的像素或行或列进行逐一位置置乱,例如,
Wang等人(Wang X Y,Zhang J J,Cao G H.An image encryption algorithm based on
ZigZag transform and LL compound chaotic system[J].Optics and Laser
Technology,2019,119:105581.)提出了一种基于ZigZag置乱和复合混沌系统的图像加密
算法,该算法中第一次置乱采用ZigZag技术,对像素按照Z字形一次扫描达到置乱像素的目
的,第二次置乱采用一组索引向量对像素随机置乱;此外,部分加密算法采用Cat,Baker和
标准映射对明文图像进行置乱,也是按照明文图像中的像素位置逐一对像素进行置乱操作
的,还存在(0,0)和(N,N)位置的像素置乱前后位置不变的缺点,导致置乱效果不好,抗统计
攻击能力弱。在图像扩散方法研究中,例如,Sheela等人(Sheela S J,Suresh K V,Tandur
Deepaknath.Image encryption based on modified Henon map using hybrid chaotic
shift transform[J].Multimedia Tools and Applications,2018,77:25223–25251.)提
出了一种基于改进的Hénon映射和混合混沌变换的图像加密算法,该算法中利用改进的Hé
non映射生成的混合混沌序列进行扩散,其中第一次扩散先利用混合混沌序列与明文图像
的像素值进行逐行扩散,然后再逐列进行扩散;第二次扩散利用明文图像的当前像素值与
扩散过的前一个像素值进行异或,之后再与混合混沌序列进行异或扩散,这样当前像素的
微小变化都能影响到后面的其它像素。这种扩散方式随机性不高,黑客在已知混沌序列的
情况下很容易破解得到明文图像,降低了算法的安全性。因此,高安全的图像加密方法亟待
被研究。
发明内容
为系统参数,以x2为系统初始值,将u2和x2带入Logistic‑Tent混沌系统中,迭代n0+mN次,舍
弃前n0个值,得到大小为1×mN的混沌序列YY;
和Q,其中,T3=ceil(0.9×T2),ceil表示向上取整运算;
两个组成,且每个小组索引向量中包含的索引向量不完全相同;
置乱后序列R4、G4和B4,所述预设置乱方式为:
S1,S2,S3,S4,S5,S6∈[1,4]且为整数;
列中的另一个随机位置DS(i)处,得到所述置乱后序列,i∈[1,MN]。
和最大元素。
列X4、Y4和Z4。
乱,之后利用本发明设计的混沌测量矩阵对置乱后的矩阵分别进行压缩测量和量化,接着
对R、G、B分量之间和分量内部同时进行双随机像素值扩散,最终得到彩色密文图像;利用明
文图像的哈希值和外部密钥控制四翼超混沌系统和Logistic‑Tent混沌系统的参数生成,
接着将参数和初始值带入Logistic‑Tent混沌系统中,生成混沌序列构造测量矩阵;然后把
参数和初始值带入四翼超混沌系统中,对生成的四个混沌序列排序,得到四个索引向量,分
别用于双随机位置置乱和双随机像素值扩散中,这样算法不仅与明文密切相关,提高了算
法抵抗已知明文和选择明文攻击的能力,而且通过压缩感知和置乱‑扩散结合,在对图像进
行压缩的同时,也对图像进行加密,有效减少数据量的传输,节约传输带宽和时间,并防止
图像信息泄露。
与明文之间的联系提供了很大的便利,并且一组索引向量的安全性不是很高,在索引向量
泄漏的情况下很容易得到明文信息。相比于传统的顺序置乱方式,本发明设计的双随机位
置置乱方式,首先把初始值带入四翼超混沌系统中,生成四个混沌序列,然后对四个混沌序
列升序排列,得到四个索引向量,之后四个索引向量两两组合分组,从中随机选择一组,得
到两个索引向量,接着利用其中一个索引向量从明文图像中选择待置乱的像素位置,然后
再利用另一个索引向量将其映射到另一个随机位置,从而得到置乱后的密文图像。利用不
同的混沌序列排序得到的两个索引向量建立图像待置乱像素位置和置乱后位置的一对一
的映射关系,本发明设计的双随机位置置乱增强了置乱结果的随机性和不易破解性,不仅
提高了密文图像的安全性,而且不容易泄露索引向量。
两个混沌序列,一个升序排列,一个降序排列,得到对应的索引向量,对其中一个索引向量
做修正,之后随机生成两个矩阵并转化成两个一维序列,利用前面得到的索引向量对两个
一维序列重新排序得到两个新序列,然后利用这两个新序列再计算Logistic‑Tent混沌系
统的参数序列和初始值,并带入Logistic‑Tent混沌系统中迭代求解,最后利用生成的混沌
序列构造测量矩阵。结合明文图像和外部密钥控制Logistic‑Tent混沌系统的参数生成,这
样增强了算法与明文图像的相关性,提高了算法的安全级别,而且Logistic‑Tent混沌系统
的参数不再是一个具体的数值,而是一个序列,从而生成随机性更强的混沌序列和得到较
优的测量矩阵。
进行异或扩散的当前分量中已经扩散过的像素,以及其他分量的像素都通过索引向量来确
定,扩散后的元素的位置也由索引向量确定,扩散和置乱同时进行。明文图像R、G、B分量内
部和分量之间同时进行双随机像素值扩散,得到的密文图像灰度值分布更加均匀,使攻击
者很难对密文图像进行统计攻击分析得到明文信息,增强了本发明算法的安全级别。
附图说明
具体实施方式
实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创
造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
z0、w0带入四翼超混沌系统,迭代t0+MN次(其中t0≥1000),为了避免有害影响,舍弃前t0个
值,得到四个大小为1×MN的序列X、Y、Z、W。
不足。混沌测量矩阵作为一种确定性测量矩阵,具备伪随机性,计算过程简单,硬件上容易
实现,在某些要求安全性和保密性的应用上具有优势。
XX={x1,x2,…,xmN};以初始值u2为系统参数,以x2为系统初始值,将u2和x2带入Logistic‑
Tent混沌系统中,迭代n0+mN次,舍弃前n0个值,得到大小为1×mN的混沌序列YY={y1,
y2,…,ymN},m=floor(CR×M),CR表示压缩率,floor表示向下取整运算,n0≥1000;
维向量η和 排序,得到排序后序列P和Q,即:P=η(T1)和 其中,T3=ceil(0.9×
T2),ceil表示向上取整运算;
析提供了极大的便利,每个像素的特殊性也将存在于密文中,并且这种映射关系容易泄漏
索引向量D(i),因此如图4所示的传统的顺序置乱方法会降低图像加密的安全性。
个索引向量参与。首先,利用索引向量D1(i)从明文图像当中选择待置乱的像素位置,然后
再利用索引向量D2(i)将其映射到另一个随机位置,最终得到置乱后的密文图像。由于两个
索引向量之间具有很强的伪随机性,这样通过双随机位置置乱,不仅降低了像素之间的相
关性,而且得到的密文图像的安全性有了极大的提高。具体的置乱方案如下所示:
个组成,且每个小组索引向量中包含的索引向量不完全相同;例如,六组新的索引向量如
下:
索引向量;当M2=4时,选取第四组索引向量;当M2=5时,选取第五组索引向量;当M2=6时,
选取第六组索引向量;
置乱后序列R4、G4和B4;
维序列B2进行置乱,S1,S2,S3,S4,S5,S6∈[1,4]且为整数;其中,每个小组索引向量对一维
序列的置乱操作具体为:利用小组中的其中一个索引向量DS从所述一维序列中选择待置乱
像素位置DS(i),将待置乱像素位置DS(i)的像素值映射到一中间序列中的位置i处;再利用
*
小组中的另一个索引向量DS将中间序列位置i处的像素值映射到置乱后序列中的另一个随
*
机位置DS(i)处,得到所述置乱后序列,i∈[1,MN]。
密文图像R4(i)。同理,利用索引向量D2(i)和D3(i)对G2(i)进行处理得到G4(i);利用索引向
量D3(i)和D4(i)对B2(i)进行处理得到B4(i);即如公式(13)所示:
和最大元素。
X4、Y4和Z4,CR表示压缩率。
乱,之后利用本发明设计的混沌测量矩阵对置乱后的矩阵分别进行压缩测量和量化,接着
对R、G、B分量之间和分量内部同时进行双随机像素值扩散,最终得到彩色密文图像;利用明
文图像的哈希值和外部密钥控制四翼超混沌系统和Logistic‑Tent混沌系统的参数生成,
接着将参数和初始值带入Logistic‑Tent混沌系统中,生成混沌序列构造测量矩阵;然后把
参数和初始值带入四翼超混沌系统中,对生成的四个混沌序列排序,得到四个索引向量,分
别用于双随机位置置乱和双随机像素值扩散中,这样算法不仅与明文密切相关,提高了算
法抵抗已知明文和选择明文攻击的能力,而且通过压缩感知和置乱‑扩散结合,在对图像进
行压缩的同时,也对图像进行加密,有效减少数据量的传输,节约传输带宽和时间,并防止
图像信息泄露。
与明文之间的联系提供了很大的便利,并且一组索引向量的安全性不是很高,在索引向量
泄漏的情况下很容易得到明文信息。相比于传统的顺序置乱方式,本发明设计的双随机位
置置乱方式,首先把初始值带入四翼超混沌系统中,生成四个混沌序列,然后对四个混沌序
列升序排列,得到四个索引向量,之后四个索引向量两两组合分组,从中随机选择一组,得
到两个索引向量,接着利用其中一个索引向量从明文图像中选择待置乱的像素位置,然后
再利用另一个索引向量将其映射到另一个随机位置,从而得到置乱后的密文图像。利用不
同的混沌序列排序得到的两个索引向量建立图像待置乱像素位置和置乱后位置的一对一
的映射关系,本发明设计的双随机位置置乱增强了置乱结果的随机性和不易破解性,不仅
提高了密文图像的安全性,而且不容易泄露索引向量。
两个混沌序列,一个升序排列,一个降序排列,得到对应的索引向量,对其中一个索引向量
做修正,之后随机生成两个矩阵并转化成两个一维序列,利用前面得到的索引向量对两个
一维序列重新排序得到两个新序列,然后利用这两个新序列再计算Logistic‑Tent混沌系
统的参数序列和初始值,并带入Logistic‑Tent混沌系统中迭代求解,最后利用生成的混沌
序列构造测量矩阵。结合明文图像和外部密钥控制Logistic‑Tent混沌系统的参数生成,这
样增强了算法与明文图像的相关性,提高了算法的安全级别,而且Logistic‑Tent混沌系统
的参数不再是一个具体的数值,而是一个序列,从而生成随机性更强的混沌序列和得到较
优的测量矩阵。
进行异或扩散的当前分量中已经扩散过的像素,以及其他分量的像素都通过索引向量来确
定,扩散后的元素的位置也由索引向量确定,扩散和置乱同时进行。明文图像R、G、B分量内
部和分量之间同时进行双随机像素值扩散,得到的密文图像灰度值分布更加均匀,使攻击
者很难对密文图像进行统计攻击分析得到明文信息,增强了本发明算法的安全级别。
哈希值K,外部密钥t1=22.3000、t2=33.2124、t3=15.9608、t4=32.2400。压缩率CR=0.5,
采用ONSL0重建方法。本实验选取512×512的彩色图像Lena作为明文图像,利用本发明所提
加密算法和相应的解密算法对图像进行操作,得到的加密和解密效果如图6所示。图6中:
(a)为Lena明文图像;(b)为密文图像;(c)为相应的解密图像。
的图像视觉质量。由于密文图像是原始图像的50%,那么在传输密文图像时,节约了传输带
宽、时间、存储空间,更加方便在网络中传输。
‑14 14 4 56
maxb、minb。假设计算机的计算精度为10 ,则本发明算法的密钥空间约为(10 ) =10 >
168 100
2 。如果加上512位的哈希值和中间参数,整体密钥空间远远超过了2 。所以该算法的密
钥空间足够大,可以抵抗暴力攻击。
解密,测试结果如图7所示:图7中:(a)是修改后的密钥T1(t1``=t1+Δ)的解密图像;(b)是
修改后的密钥T2(t2``=t2+Δ)的解密图像。由图7可知,对密钥进行轻微的修改后,无法通
过解密操作得到明文图像信息,因此本发明提出的加密算法具有良好的密钥敏感性。
中,可以清楚的看到密文图像的直方图非常均匀且与明文图像的直方图显著不同,这使得
攻击者通过统计攻击分析密文图像变得十分困难。
泄漏信息的概率越小。在CR=0.5时,对512×512的彩色图像Lena进行信息熵测试,结果见
下表1。从表1可知,密文图像的信息熵值均达到7.998以上,这表明密文信息随机性高和提
出的加密算法的有效性。
图像进行解密,根据恢复的图像质量评估本发明提出的算法的抗噪声能力。在仿真中,选择
大小为512×512的彩色Lena作为明文图像,在CR=0.5时,噪声强度为0.00003的解密图像
如图9所示。
17.2882dB和13.1115dB,椒盐噪声影响下的PNSR值为31.8791dB,这表明本发明算法具有较
强的抗椒盐噪声的能力。
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;
而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和
范围。