首页> 中国专利> 基于压缩感知的视觉安全和数据安全的图像加密、解密方法

基于压缩感知的视觉安全和数据安全的图像加密、解密方法

摘要

本发明涉及一种基于压缩感知的视觉安全和数据安全的图像加密、解密方法,首先利用SHA 256哈希函数得到明文图像的256位哈希值作为图像秘钥,并计算一维skew tent混沌映射和zigzag置乱的初始数值;对明文图像进行稀疏,对系数矩阵进行zigzag置乱;然后利用一维skew tent混沌映射生成测量矩阵,对置乱矩阵进行测量和量化,得到压缩加密后的图像,嵌入到视觉有意义的载体图像中,得到最终视觉有意义的密文图像。本发明实现明文图像的视觉安全和数据安全,秘钥空间大,对明文高度敏感,具有更强的抵抗蛮力攻击、选择明文攻击、已知明文攻击的能力,不需要额外存储空间,密文图像可以被快速有效的传输和存储。

著录项

  • 公开/公告号CN106600518A

    专利类型发明专利

  • 公开/公告日2017-04-26

    原文格式PDF

  • 申请/专利权人 河南大学;

    申请/专利号CN201611046541.3

  • 申请日2016-11-23

  • 分类号G06T1/00(20060101);

  • 代理机构41111 郑州大通专利商标代理有限公司;

  • 代理人周艳巧

  • 地址 475001 河南省开封市顺河区明伦街85号

  • 入库时间 2023-06-19 02:02:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-06-21

    授权

    授权

  • 2017-05-24

    实质审查的生效 IPC(主分类):G06T1/00 申请日:20161123

    实质审查的生效

  • 2017-04-26

    公开

    公开

说明书

技术领域

本发明涉及图像加、解密技术领域,特别涉及一种基于压缩感知的视觉安全和数据安全的图像加密、解密方法。

背景技术

随着数字技术和网络技术的迅猛发展,越来越多的多媒体数据产生,通过网络传输和在云服务器等平台进行存储。数字数据包含大量信息,例如,一张军事油库图片不仅可以告诉我们它的尺寸和数量,而且还可以给出它的大概位置;一幅人脸照片不仅可以暴露他或她的长相,还可以给出大概的年龄和身体状况。因此,在医学图像系统、军事图像系统和视频会议中,保护图像数据的安全引起了广泛的关注,图像加密是一种可以有效保护数据安全的方法。

目前,许多图像加密算法被提出,它们使用了混沌系统、DNA计算、元胞自动机、光学变换、布朗运动、波函数传输等技术。已知的大多数图像加密算法的一个最重要的特点就是:明文图像被转化为一幅类噪声密文,密文图像的直方图是平滑的,像素值在[0,255]之间均匀分布,密文图像的信息熵接近8,密文图像被发送方传递到接收方,网络攻击者通过分析密文很难得到秘钥和相应的明文。大多数加密算法都可以有效保护图像数据的安全,其中一些算法由于秘钥空间小或者算法和明文相关性小而被攻破。此外,这些算法有一个共同缺点,就是类噪声的密文在传输和存储中很容易引起攻击者的注意,从而被发现和攻击。基于此,如果我们设计一种视觉安全的密文,即密文图像具有有意义的外观,在它们被存储和传输中,就很难被发现,从而避免了被攻击的可能,保证了自身的安全。因此,设计具有视觉安全和数据安全的图像加密算法是一件很有意义的工作。同时,考虑到传输带宽、存储空间和实时应用的考虑,我们不希望图像加密之后得到的密文图像的尺寸大于相应的明文图像。

2006年,Candes和Donoho提出了压缩感知的概念,其核心思想是利用信息空间结构,将压缩和采样合并进行,突破了香农采样定理的限制,可以大大减少采样点数,在压缩感知概念出现不久,就有研究者考虑将压缩感知用于图像加密中。例如,H.Fang等把zigzag置乱和压缩感知用于图像和视频的压缩加密中,发现zigzag置乱可以有效提高重建图像和视频的信噪比。张玉书等利用混沌系统和压缩感知用于图像的压缩加密中,首先图像的稀疏系数被混沌序列排序置乱,然后利用压缩感知进行测量加密,最后一个类噪声的密文图像被得到。周南润等利用非线性分数阶梅林变换和二维压缩感知技术设计了一种新的图像压缩加密算法,明文图像被测量矩阵从两个方向进行测量,然后利用非线性分数阶梅林变换进行二次加密。在这些加密算法中,置乱过程和压缩感知过程的结合可以有效放松压缩感知的有限等距限制,降低了算法的计算复杂度,同时增强了算法的压缩和加密性能。但是,加密算法中,置乱过程和明文无关,这就意味着相同的置乱向量用于不同的明文图像加密,算法抗选择明文攻击和已知明文攻击性差。因此,增加算法和明文之间的关联,有助于进一步提升算法的安全性。

发明内容

针对现有技术中的不足,本发明提出一种基于压缩感知的视觉安全和数据安全的图像加密、解密方法,高度依赖明文,提高加解密过程中的抗选择明文和已知明文攻击的能力,SHA 256哈希函数的使用使得秘钥空间大大提高,增强图像加解密技术抵抗暴力攻击的能力。

按照本发明所提供的设计方案,一种基于压缩感知的视觉安全和数据安全的图像加密方法,包含如下步骤:

步骤1.利用SHA 256哈希函数对大小为m×n的明文图像P进行计算,得到图像秘钥key,并计算一维skew tent混沌映射和zigzag置乱的初始数值;

步骤2.利用离散小波变换对明文图像P进行稀疏处理,得到系数矩阵P1;对系数矩阵P1按照zigzag路径进行置乱,得到置乱后的矩阵P2;通过预设阈值TS,对矩阵P2进行修正,得到修正后的矩阵P3;

步骤3.利用一维skew tent混沌映射生成用于压缩感知的测量矩阵Φ,并对矩阵P3进行测量,得到测量值矩阵P4,其中,明文图像P的压缩率表示为CR,测量矩阵Φ的尺寸为M×N,则M=CR×m,N=m,矩阵P4的尺寸为M×n;

步骤4.对矩阵P4的元素进行量化,得到矩阵P5,即为压缩加密之后的密文图像;

步骤5.选择一个大小为m×n的视觉有意义的图像作为载体图像CI,并对它实施离散小波变换,得到四个矩阵:低频部分分解系数LL、水平方向分解系数LH、垂直方向分解系数HL和对角线方向分解系数HH,把矩阵P5嵌入其中,再次进行离散小波反变换,得到最终的视觉有意义的密文图像。

上述的,步骤1中计算一维skew tent混沌映射和zigzag置乱的初始数值,包含:将图像秘钥key换算为32个十进制数k1,k2,…,k32,并计算一维skewtent混沌映射的参数和初始值,和zigzag置乱的初始位置坐标。

优选的,一维skew tent混沌映射表示为:

其中,r∈(0,1)是系统参数,z∈(0,1)是混沌系统的状态变量;并按照公式:

来计算4个中间参数ti(i=1,2,3,4),其中,li(i=1,2,3,4)是预先设定参数,分别代表参数x′0,y′0,r′,z′0,计算得到的t3和t4分别代表一维skew>0;zigzag置乱的初始位置坐标x0和y0通过公式:

计算得到,其中,abs(x)表示求x的绝对值,mod为取模运算。

上述的,所述步骤2中对矩阵P2进行修正,具体包含:通过预设阈值TS,对P2中的元素进行修正,把小于等于TS的元素变为0。

上述的,步骤3中的利用一维skew tent混沌映射生成用于压缩感知的测量矩阵Φ,包含如下内容:

步骤3.1、令其中,d代表采样间隔,r,z0为一维skew tent映射的参数和初始值,l代表采样长度,n代表采样起点,将把步骤1计算得到的一维skew>0代入一维skew>

步骤3.2、按照公式对混沌序列的数值进行变换;

步骤3.3、把生成的按列进行排列,得到测量矩阵,尺寸为M×N,

公式中,用于归一化处理。

优选的,步骤3.1中还包含如下内容:将混沌序列的前n-1个数值丢弃,从第n个数值开始,每间隔d个数,取出一个,获取长度为MN的新的序列,作为新替换的混沌序列。

上述的,步骤4中对大小为M×n的矩阵P4的元素进行量化,具体包含如下内容:将矩阵P4中的元素按照从左到右、从上到下的顺序转换成一个向量,按照公式:

p5i=floor(255×(p4i-min)/(max-min))

对向量元素逐个进行量化,其中,min代表矩阵P4中元素的最小值,max代表矩阵P4中元素的最大值,floor(x)表示取不大于x的最大整数,p4i代表矩阵P4按照从左到右、从上到下的顺序得到的向量中的第i个元素(1≤i≤Mn),将p5i构成的向量转化为大小为M×n的矩阵P5。

上述的,步骤5具体包含如下内容:

步骤5.1、按照公式:

D1(i,j)=P5(i,j)mod10,D2(i,j)=floor(P5(i,j)/10)

对矩阵P5中的元素逐一进行处理,得到矩阵D1和D2,其中,D1(i,j)、D2(i,j)和P5(i,j)分别代表矩阵D1、D2和P5中位于(i,j)处的元素,1≤i≤M,1≤j≤n;

步骤5.2、根据明文图像P的压缩率CR,设置矩阵D1、D2和P5的尺寸大小;

步骤5.3、对载体图像CI进行离散小波变换,得到四个矩阵,分别表示为:低频部分分解系数LL、水平方向分解系数LH、垂直方向分解系数HL和对角线方向分解系数HH,它们的尺寸大小与矩阵D1、D2尺寸大小相同;

步骤5.4、定义一个尺寸大小与矩阵D1、D2尺寸大小相同的空矩阵IT,计算出LL矩阵中所有元素的平均值MV,按照规则:

规则1:如果LL(i,j)≥MV,则IT(i,j)=1,LH(i,j)=D1(i,j),HL(i,j)=D2(i,j),

规则2:如果LL(i,j)<MV,则IT(i,j)=0,LH(i,j)=D2(i,j),HL(i,j)=D1(i,j),把D1、D2嵌入矩阵LH和HL中,其中,1≤i≤m/2,1≤j≤n/2;

步骤5.5、对嵌入后的四个矩阵LL、LH、HL和HH进行离散小波反变换,得到视觉有意义的密文图像,加密过程结束。

一种基于压缩感知的视觉安全和数据安全的图像解密方法,具体解密步骤如下:

步骤a:获取明文图像P的图像秘钥key,及参数x′0、y′0、r′、z′0、min和max;

步骤b:将图像秘钥key换算为32个十进制数k1,k2,…,k32,并计算一维skew>

其中,r∈(0,1)是系统参数,z∈(0,1)是混沌系统的状态变量;并按照公式:

来计算4个中间参数ti(i=1,2,3,4),其中,li(i=1,2,3,4)是预先设定参数,分别代表参数x′0,y′0,r′,z′0,计算得到的t3和t4分别代表一维skew>0;zigzag置乱的初始位置坐标x0和y0通过公式:

计算得到,其中,abs(x)表示求x的绝对值,mod为取模运算;

步骤c:对待解密的大小为m×n的密文图像C,进行离散小波变换,得到4个大小为(m/2)×(n/2)的矩阵,分别为:低频部分分解系数LL1、水平方向分解系数LH1、垂直方向分解系数HL1和对角线方向分解系数HH1;

步骤d:定义大小为(m/2)×(n/2)的空矩阵IT1,计算矩阵LL1的所有元素的平均值MV1,按照规则:

规则A:如果LL1(i,j)≥MV1,则IT1(i,j)=1,D11(i,j)=LH1(i,j),D21(i,j)=HL1(i,j),

规则B:如果LL1(i,j)<MV1,则IT1(i,j)=0,D21(i,j)=LH1(i,j),D11(i,j)=HL1(i,j),把明文信息从LH1和HL1中提取出来,得到矩阵D11和D21,其中,1≤i≤m/2,1≤j≤n/2;

步骤e:将矩阵D11、D21变换为大小为(m/4)×n的矩阵,并通过公式:P51(i,j)=D21(i,j)×10+D11(i,j),得到矩阵P51,其中,D11(i,j)、D21(i,j)和P51(i,j)分别代表矩阵D11、D21和P51位于(i,j)处的元素,1≤i≤m/4,1≤j≤n;

步骤f:把矩阵P51按照从左到右、从上到下的顺序转换成长度为1×(mn/4)的向量,p51i(1≤i≤mn/4)是向量的第i个元素,按照公式:对向量元素逐一进行反量化操作,得到p41i(1≤i≤mn/4),把向量转化成大小为(m/4)×n的矩阵P41;

步骤g:利用一维skew tent混沌映射生成用于压缩感知的测量矩阵Φ1,利用压缩感知重建算法对P41进行重构,获得大小为m×n的矩阵P31;

步骤h:利用步骤b计算得到的zigzag置乱的初始位置坐标x0和y0对矩阵P31实施逆zigzag变换,得到矩阵P11,对矩阵P11进行离散小波逆稀疏变换操作,得到解密后的明文图像P。

上述的,步骤g中的利用一维skew tent混沌映射生成用于压缩感知的测量矩阵Φ1,包含如下内容:

步骤g1、令其中,d代表采样间隔,r,z0为一维skew tent映射的参数和初始值,l代表采样长度,n代表采样起点,将步骤b计算得到的一维skew>0代入一维skew>

步骤g2、按照公式对混沌序列的数值进行变换;

步骤g3、把生成的按列进行排列,得到测量矩阵,尺寸为M×N,

公式中,用于归一化处理。

本发明的有益效果:

1、本发明提出一种视觉安全的图像加密方法,通过使用zigzag置乱和压缩感知技术对明文图像进行压缩和加密,得到一幅压缩的密文,把它嵌入到一幅视觉有意义的载体图像中,得到一幅视觉有意义的密文图像;与以往的类噪声密文图像相比,有意义的密文图像不容易被攻击者发现,有效保证了图像的安全。

2、本发明提出的图像加密方法,明文图像首先被稀疏,得到的稀疏系数按照一种zigzag路径置乱,zigzag置乱的初始位置受明文的控制,置乱过程不仅可以降低图像相邻像素之间的相关性,而且在相同压缩率下可以增强压缩感知后图像的重建效果;利用明文相关的秘钥生成测量矩阵,对置乱后的矩阵进行压缩测量加密;在嵌入过程中,首先对载体图像实施离散小波变换,得到4个矩阵LL、LH、HL和HH,根据LL矩阵的元素值,把压缩加密后的密文矩阵元素逐一嵌入到载体图像的LH和HL矩阵中,有效保证了明文图像的数据安全。

3、本发明提出的图像加密方法对明文高度敏感,利用明文图像的SHA 256哈希函数值作为秘钥,增加了秘钥空间,同时利用它计算一维skew tent混沌映射的参数和初始值,以及zigzag置乱需要的初始位置坐标x0和y0,整个加密过程对明文的变化高度敏感,增强了加密方法抵抗暴力攻击、选择明文攻击、已知明文攻击的能力,进一步增加图像加密方法的安全性、有效性。

4、本发明载体图像可以随意选择,增加了图像加密的秘钥空间,同时加密后得到的密文图像和明文图像尺寸相同,不需要额外的存储空间,密文图像可以被快速有效的传输和存储,算法便于实施。

附图说明:

图1为本发明的图像加密方法流程图之一;

图2为本发明的图像加密方法流程图之二;

图3为本发明图像加密算法的解密过程流程图;

图4中:(a)为实例一所用原始图像,(b)为实例一压缩加密之后的密文图像,(c)为实例一载体图像,(d)为实例一视觉安全的密文图像,(e)为实例一正确秘钥解密图像,(f)为实例一使用错误秘钥解密时的解密图像;

图5为实例一中zigzag置乱示意图;

图6为实例一中初始位置坐标为(1,1)的zigzag置乱前后的矩阵,(a)为zigzag置乱前的矩阵,(b)为zigzag置乱后的矩阵;

图7为实例一中初始位置坐标为(3,4)的zigzag置乱前后的矩阵,(a)为zigzag置乱前的矩阵,(b)为zigzag置乱后的矩阵;

图8中:(a)为实例二所用原始图像,(b)为实例二对应压缩加密之后的密文图像,(c)为实例二载体图像,(d)为实例二视觉安全的密文图像,(e)为实例二正确秘钥解密图像,(f)为实例二使用错误秘钥解密时的解密图像。

具体实施方式:

下面结合附图和技术方案对本发明作进一步详细的说明,并通过优选的实施例详细说明本发明的实施方式,但本发明的实施方式并不限于此。

实施例一,参见图1所示,一种基于压缩感知的视觉安全和数据安全的图像加密方法,包含如下步骤:

步骤1.利用SHA 256哈希函数对大小为m×n的明文图像P进行计算,得到图像秘钥key,并计算一维skew tent混沌映射和zigzag置乱的初始数值;

步骤2.利用离散小波变换对明文图像P进行稀疏处理,得到系数矩阵P1;对系数矩阵P1按照zigzag路径进行置乱,得到置乱后的矩阵P2;通过预设阈值TS,对矩阵P2进行修正,得到修正后的矩阵P3;

步骤3.利用一维skew tent混沌映射生成用于压缩感知的测量矩阵Φ,并对矩阵P3进行测量,得到测量值矩阵P4,其中,明文图像P的压缩率表示为CR,测量矩阵Φ的尺寸为M×N,则M=CR×m,N=m,矩阵P4的尺寸为M×n;

步骤4.对矩阵P4的元素进行量化,得到矩阵P5,即为压缩加密之后的密文图像;

步骤5.选择一个大小为m×n的视觉有意义的图像作为载体图像CI,并对它实施离散小波变换,得到四个矩阵:低频部分分解系数LL、水平方向分解系数LH、垂直方向分解系数HL和对角线方向分解系数HH,把矩阵P5嵌入其中,再次进行离散小波反变换,得到最终的视觉有意义的密文图像。

本发明可以同时实现待加密的明文图像的数据安全和视觉安全,有效提高了图像加密的抗选择明文和已知明文攻击的能力,SHA 256哈希函数的使用使得算法的秘钥空间大大提高,增强了算法抵抗暴力攻击的能力。

实施例二,参见图2所示,一种基于压缩感知的视觉安全和数据安全的图像加密方法,包含如下内容:

一)利用SHA 256哈希函数对大小为m×n的明文图像P进行计算,得到图像秘钥key,并计算一维skew tent混沌映射和zigzag置乱的初始数值;计算一维skew tent混沌映射和zigzag置乱的初始数值,包含:将图像秘钥key换算为32个十进制数k1,k2,…,k32,并计算一维skew>

优选的,一维skew tent混沌映射表示为:

其中,r∈(0,1)是系统参数,z∈(0,1)是混沌系统的状态变量;并按照公式:

来计算4个中间参数ti(i=1,2,3,4),其中,li(i=1,2,3,4)是预先设定参数,分别代表参数x′0,y′0,r′,z′0,计算得到的t3和t4分别代表一维skew>0;zigzag置乱的初始位置坐标x0和y0通过公式:

计算得到,其中,abs(x)表示求x的绝对值,mod为取模运算。

二)利用离散小波变换对明文图像P进行稀疏处理,得到系数矩阵P1;对系数矩阵P1按照zigzag路径进行置乱,得到置乱后的矩阵P2;通过预设阈值TS,把小于等于TS的元素变为0,对矩阵P2进行修正,得到修正后的矩阵P3。

三)利用一维skew tent混沌映射生成用于压缩感知的测量矩阵Φ,包含如下内容:

1)、令其中,d代表采样间隔,r,z0为一维skew tent映射的参数和初始值,l代表采样长度,n代表采样起点,将把步骤一)计算得到的一维skew>0代入一维skew>

2)、按照公式对混沌序列的数值进行变换;

3)、把生成的按列进行排列,得到测量矩阵,尺寸为M×N,

公式中,用于归一化处理。

并根据测量矩阵Φ对矩阵P3进行测量,得到测量值矩阵P4,其中,明文图像P的压缩率表示为CR,测量矩阵Φ的尺寸为M×N,则M=CR×m,N=m,矩阵P4的尺寸为M×n。

四)将矩阵P4中的元素按照从左到右、从上到下的顺序转换成一个向量,按照公式:

p5i=floor(255×(p4i-min)/(max-min))

对向量元素逐个进行量化,其中,min代表矩阵P4中元素的最小值,max代表矩阵P4中元素的最大值,floor(x)表示取不大于x的最大整数,p4i代表矩阵P4按照从左到右、从上到下的顺序得到的向量中的第i个元素(1≤i≤Mn),将p5i构成的向量转化为大小为M×n的矩阵P5,即为压缩加密之后的密文图像。

五)选择一个大小为m×n的视觉有意义的图像作为载体图像CI,并对它实施离散小波变换,得到四个矩阵:低频部分分解系数LL、水平方向分解系数LH、垂直方向分解系数HL和对角线方向分解系数HH,把矩阵P5嵌入其中,再次进行离散小波反变换,得到最终的视觉有意义的密文图像,具体包含如下内容:

1、按照公式:

D1(i,j)=P5(i,j)mod10,D2(i,j)=floor(P5(i,j)/10)

对矩阵P5中的元素逐一进行处理,得到矩阵D1和D2,其中,D1(i,j)、D2(i,j)和P5(i,j)分别代表矩阵D1、D2和P5中位于(i,j)处的元素,1≤i≤M,1≤j≤n;

2、根据明文图像P的压缩率CR,设置矩阵D1、D2和P5的尺寸大小;

3、对载体图像CI进行离散小波变换,得到四个矩阵,分别表示为:低频部分分解系数LL、水平方向分解系数LH、垂直方向分解系数HL和对角线方向分解系数HH,它们的尺寸大小与矩阵D1、D2尺寸大小相同;

4、定义一个尺寸大小与矩阵D1、D2尺寸大小相同的空矩阵IT,计算出LL矩阵中所有元素的平均值MV,按照规则:

规则1:如果LL(i,j)≥MV,则IT(i,j)=1,LH(i,j)=D1(i,j),HL(i,j)=D2(i,j),

规则2:如果LL(i,j)<MV,则IT(i,j)=0,LH(i,j)=D2(i,j),HL(i,j)=D1(i,j),把D1、D2嵌入矩阵LH和HL中,其中,1≤i≤m/2,1≤j≤n/2;

5、对嵌入后的四个矩阵LL、LH、HL和HH进行离散小波反变换,得到视觉有意义的密文图像,加密过程结束。

本发明中明文图像的小波稀疏系数被一种zigzag路径置乱,置乱过程受到明文的控制,利用压缩感知对置乱图像进行压缩和加密,一维skew tent混沌映射被用来产生测量矩阵,利用明文信息产生混沌映射的参数和初始值,得到的密文图像嵌入一幅载体图像中,最终一幅视觉安全的密文图像被得到;基于压缩感知和zigzag置乱,明文图像被同时压缩和加密,随机的zigzag置乱策略的选择可以有效缩放压缩感知理论的有限等距限制,提高算法的压缩性能,得到的密文图像和明文图像尺寸相同,不需要额外的传输带宽和存储空间,密文图像可以被快速有效的传输和存储;再次,明文图像的SHA 256哈希函数被用来计算加密方法中的一些参数,算法高度依赖明文,提高了算法的抗选择明文和已知明文攻击的能力,SHA 256哈希函数的使用使得算法的秘钥空间大大提高,增强了算法抵抗暴力攻击的能力。

图像解密过程是加密过程的逆过程。在图像解密之前,解密方需要获得明文图像P的图像秘钥key及参数x′0、y′0、r′、z′0、min和max,这些均是已知数据,本案申请还提供一种基于压缩感知的视觉安全和数据安全的图像解密方法,参见图3所示,具体解密步骤如下:

步骤a:获取明文图像P的图像秘钥key,及参数x′0、y′0、r′、z′0、min和max;

步骤b:将图像秘钥key换算为32个十进制数k1,k2,…,k32,并计算一维skew>

一维skew tent混沌映射表示为:

其中,r∈(0,1)是系统参数,z∈(0,1)是混沌系统的状态变量;并按照公式:

来计算4个中间参数ti(i=1,2,3,4),其中,li(i=1,2,3,4)是预先设定参数,分别代表参数x′0,y′0,r′,z′0,计算得到的t3和t4分别代表一维skew>0;zigzag置乱的初始位置坐标x0和y0通过公式:

计算得到,其中,abs(x)表示求x的绝对值,mod为取模运算。

步骤c:对待解密的大小为m×n的密文图像C,进行离散小波变换,得到4个大小为(m/2)×(n/2)的矩阵,分别为:低频部分分解系数LL1、水平方向分解系数LH1、垂直方向分解系数HL1和对角线方向分解系数HH1;

步骤d:定义大小为(m/2)×(n/2)的空矩阵IT1,计算矩阵LL1的所有元素的平均值MV1,按照规则:

规则A:如果LL1(i,j)≥MV1,则IT1(i,j)=1,D11(i,j)=LH1(i,j),D21(i,j)=HL1(i,j),

规则B:如果LL1(i,j)<MV1,则IT1(i,j)=0,D21(i,j)=LH1(i,j),D11(i,j)=HL1(i,j),把明文信息从LH1和HL1中提取出来,得到矩阵D11和D21,其中,1≤i≤m/2,1≤j≤n/2;

步骤e:将矩阵D11、D21变换为大小为(m/4)×n的矩阵,并通过公式:P51(i,j)=D21(i,j)×10+D11(i,j),得到矩阵P51,其中,D11(i,j)、D21(i,j)和P51(i,j)分别代表矩阵D11、D21和P51位于(i,j)处的元素,1≤i≤m/4,1≤j≤n;

步骤f:把矩阵P51按照从左到右、从上到下的顺序转换成长度为1×(mn/4)的向量,p51i(1≤i≤mn/4)是向量的第i个元素,按照公式:对向量元素逐一进行反量化操作,得到p41i(1≤i≤mn/4),把向量转化成大小为(m/4)×n的矩阵P41;

步骤g:按照加密步骤中产生测量矩阵的方法,利用一维skew tent混沌映射生成用于压缩感知的测量矩阵Φ1,利用压缩感知重建算法对P41进行重构,获得大小为m×n的矩阵P31;

步骤h:利用步骤b获得的zigzag置乱的初始位置坐标x0和y0对矩阵P31实施逆zigzag变换,得到矩阵P11,对矩阵P11进行离散小波逆稀疏变换操作,得到解密后的明文图像P。

为进一步验证本发明的有效性,下面结合具体实例对本案申请的图像加解密方法做进一步解释说明:

实例一,参见图4~7所示,在本实施例中,采用的编程软件为Matlab R2014a,选取大小为512×512的Lena灰度图像作为实验对象,具体加密过程如下:步骤1:输入原始大小为512×512的Lena灰度图像,用P=imread(‘Lena.bmp’)读取图像信息,利用SHA 256哈希函数对明文图像P进行计算,得到一组256位的哈希值并将它作为图像秘钥key,然后将256位的key转化为32个十进制数k1,k2,…,k32,接着计算一维skew>

1.1)本发明采用的一维skew tent混沌映射的表达式为:

其中,r∈(0,1)是系统参数,z∈(0,1)是混沌系统的状态变量。

1.2)利用SHA 256哈希函数对明文图像进行计算,可以得到一组256位的哈希值(十六进制表示为:[b32171537de519d7c1c83ff25989a559532c6b269a303ac19d3d0a906bb5e250]),并把它作为图像的秘钥key,然后将256位的哈希值转化为32个十进制数(179,33,113,83,125,229,25,215,193,200,63,242,89,137,165,89,83,44,107,38,154),并将其定义为k1,k2,…,k32

1.3)为了便于计算一维skew tent映射的参数和初始值,以及zigzag置乱需要的初始位置坐标,首先按照下式计算得到4个中间参数ti(i=1,2,3,4),

其中,li(i=1,2,3,4)是给定的参数,分别代表参数x′0、y′0、r′、z′0,此时,x′0=0.2796、y′0=0.7531、r′=0.5678、z′0=0.8652。计算得到的t3和t4分别代表一维skew>0,此时,r=0.2122,z0=0.3539。

1.4)zigzag置乱需要的初始位置坐标x0和y0可以通过下面公式得到,

其中,abs(x)表示求x的绝对值,mod是一个取模运算符号,计算结果如下:x0=177和y0=260。

步骤2:利用离散小波变换对明文图像P进行稀疏处理,得到系数矩阵P1;接着对系数矩阵P1按照zigzag路径进行置乱,置乱后的矩阵为P2;然后设置一个阈值TS,对P2中的元素进行修正,把小于等于TS的元素变为0,处理后的矩阵记作P3的具体步骤如下:

2.1)按照下面程序,利用离散小波变换对明文图像P进行稀疏处理,得到系数矩阵P1;

ww=DWT(512);

P1=ww*P*ww';

2.2)如图5所示的一种zigzag路径被选择,接着根据步骤1计算出的初始位置坐标(x0=177和y0=260),对系数矩阵P1按照zigzag路径进行置乱,置乱后的矩阵为P2;

置乱示意图如图5所示,zigzag置乱过程举例说明如下:图6所示,(a)是置乱前的矩阵,(b)是从(1,1)位置也就是元素1所在的位置开始实施zigzag置乱后得到的矩阵;图7中,图(a)是置乱前的矩阵,图(b)是从(3,4)位置也就是元素160所在的位置开始实施zigzag置乱后得到的矩阵。

2.3)设置一个阈值TS=50,对P2中的元素进行修正,把小于等于50的元素变为0,处理后的矩阵记作P3。

步骤3:利用一维skew tent映射产生用于压缩感知的测量矩阵Φ,然后对矩阵P3进行测量,得到测量值矩阵P4的具体步骤如下:

3.1)若压缩感知中明文图像的压缩率选择为CR=0.25,假设测量矩阵Φ的尺寸为M×N,则M=CR×m=128,N=m=512。

3.2)其中,采样间隔d=20,r,z0为一维skew tent映射的参数和初始值,参数l=65535,n=500。具体的,首先把步骤1计算得到的一维skew>0代入一维skew>

3.3)接着按照公式对新的混沌序列的数值进行变换。

3.4)然后把生成的按列进行排列,就可以得到如下的测量矩阵Φ,尺寸为128×512,

公式中,用于归一化处理。

3.5)接着按照下面公式,利用测量矩阵Φ,对矩阵P3进行测量,得到测量值矩阵P4,大小为128×512。

P4=Φ*P3

步骤4:对矩阵P4的元素进行量化,把元素值转换为0~255之间的整数,转换后的矩阵记作P5的具体步骤如下:

4.1)首先把大小为128×512的矩阵P4中的元素按照从左到右、从上到下的顺序转换成一个向量;

4.2)然后按照下面的公式对向量元素逐个进行量化,

p5i=floor(255×(p4i-min)/(max-min))

其中,min代表矩阵P4中元素的最小值,为-843.7286;max代表矩阵P4中元素的最大值,为891.1269,floor(x)表示取不大于x的最大整数。p4i代表矩阵P4按照从左到右、从上到下的顺序得到的向量中的第i个元素(1≤i≤65536),最终把p5i构成的向量转化为矩阵P5,大小为128×512。

步骤5:选择一个大小为512×512的视觉有意义的图像作为载体图像CI,并对它实施离散小波变换,得到四个矩阵,分别是低频部分分解系数LL、水平方向分解系数LH、垂直方向分解系数HL和对角线方向分解系数HH,然后把矩阵P5嵌入其中,再对其进行离散小波反变换,得到最终的视觉有意义的密文图像的具体步骤如下:

5.1)按照如下公式对矩阵P5中的元素逐一进行处理,得到两个矩阵D1和D2。

D1(i,j)=P5(i,j)mod10

D2(i,j)=floor(P5(i,j)/10)

其中,D1(i,j)、D2(i,j)和P5(i,j)分别代表矩阵D1、D2和P5中位于(i,j)处的元素,1≤i≤128,1≤j≤512。

(2)选择尺寸为512×512的Baboon图像作为载体图像CI,接着把矩阵D1、D2分别转换为尺寸为256×256的矩阵。

(3)选择Haar小波函数,按照下面程序对载体图像CI进行离散小波变换,得到四个矩阵,分别是低频部分分解系数LL、水平方向分解系数LH、垂直方向分解系数HL和对角线方向分解系数HH,它们的尺寸都是256×256。

[LL,LH,HL,HH]=dwt2(CI,'haar');

(4)定义一个大小为256×256的空矩阵IT,接着计算出LL矩阵中所有元素的平均值MV=258.2940,然后按照如下规则把D1、D2嵌入矩阵LH和HL中。

规则1:如果LL(i,j)≥MV,则IT(i,j)=1,LH(i,j)=D1(i,j),HL(i,j)=D2(i,j)。

规则2:如果LL(i,j)<MV,则IT(i,j)=0,LH(i,j)=D2(i,j),HL(i,j)=D1(i,j)。

上述规则中,1≤i≤256,1≤j≤256。

(5)接着使用Haar小波函数,按照下面的程序对四个矩阵LL、LH、HL和HH实施离散小波反变换,得到一副视觉有意义的密文图像C,加密过程结束。

C=idwt2(LL,LH,HL,HH,'haar')。

图像解密过程是加密过程的逆过程。在图像解密之前,解密方需要获得解密秘钥,具体包括:明文图像的256位哈希值key(十六进制表示为

[b32171537de519d7c1c83ff25989a559532c6b269a303ac19d3d0a906bb5e250]),6个参数x′0=0.2796、y′0=0.7531、r′=0.5678、z′0=0.8652、min=-843.7286和max=891.1269。解密步骤如下:

步骤1:将256位哈希值key换算为32个十进制数k1,k2,…,k32(179,33,113,83,125,229,25,215,193,200,63,242,89,137,165,89,83,44,107,38,154),接着按照下式计算得到4个中间参数ti(i=1,2,3,4),

其中,li(i=1,2,3,4)是给定的参数,分别代表参数x′0、y′0、r′、z′0,此时,x′0=0.2796、y′0=0.7531、r′=0.5678、z′0=0.8652。计算得到的t3和t4分别代表一维skew>0,此时,r=0.2122,z0=0.3539。

步骤2:zigzag置乱需要的初始位置坐标x0和y0可以通过下面公式得到,

其中,abs(x)表示求x的绝对值,mod是一个取模运算符号,计算结果如下:x0=177和y0=260。

步骤3:假设待解密的密文图像为C,大小为512×512,选择Haar小波函数,按照如下程序对密文图像实施离散小波变换,得到4个大小为256×256的矩阵,分别是低频部分分解系数LL1、水平方向分解系数LH1、垂直方向分解系数HL1和对角线方向分解系数HH1。

[LL1,LH1,HL1,HH1]=dwt2(C,'haar');

步骤4:定义一个大小为256×256的空矩阵IT1,然后计算矩阵LL1的所有元素的平均值MV1=258.2940,按照如下规则把明文相关信息从LH1和HL1中提取出来,得到矩阵D11和D21。

规则1:如果LL1(i,j)≥MV1,则IT1(i,j)=1,D11(i,j)=LH1(i,j),D21(i,j)=HL1(i,j)。规则2:如果LL1(i,j)<MV1,则IT1(i,j)=0,D21(i,j)=LH1(i,j),D11(i,j)=HL1(i,j)。上述规则中,1≤i≤256,1≤j≤256。

步骤5:把矩阵D11、D21变换为大小为128×512的矩阵,接着通过如下公式得到矩阵P51,

P51(i,j)=D21(i,j)×10+D11(i,j)

其中,D11(i,j)、D21(i,j)和P51(i,j)分别代表矩阵D11、D21和P51的位于(i,j)处的元素,1≤i≤128,1≤j≤512。

步骤6:把矩阵P51按照从左到右、从上到下的顺序转换成长度为1×65536的向量p51i(1≤i≤65536),接着按照如下公式对向量元素逐一实施反量化操作,得到p41i(1≤i≤65536),然后把向量转化成128×512的矩阵P41。

其中,min和max是从发送方获得的秘钥。

步骤7:利用步骤1获得的一维skew>0,按照加密步骤3相同的方法获得测量矩阵Φ1,接着选择压缩感知的一种常用的重建算法:正交匹配追踪算法(OMP)从P41重构信号,获得矩阵P31,大小为512×512。步骤8:利用步骤1获得的zigzag置乱的初始位置坐标x0和y0对矩阵P31实施逆zigzag变换,得到矩阵P11。

步骤9:对矩阵P11按照如下程序实施离散小波逆稀疏变换操作,就可以得到解密后的明文图像P,大小为512×512。

ww=DWT(512);

P=ww'*P1*ww;

本发明提供的加密算法具有很大的秘钥空间,足以抵抗任何蛮力攻击。具体的,秘钥包括:(1)由SHA 256哈希函数产生的256位哈希值;(2)给定的参数x′0,y′0,r′,z′0。此外,与明文尺寸相同的载体图像可以随意选择,对载体图像进行离散小波变换时,现有的小波函数有37种不同的选择。如果计算机的计算精度为10-14,则本文算法的秘钥空间至少为37×2296,可见秘钥空间足够大,能够有效的抵抗任何蛮力攻击。

图4中:(a)为实例一所用原始图像,(b)为压缩加密之后的密文图像,(c)为载体图像,(d)为视觉安全的密文图像,(e)为正确秘钥解密图像,(f)为使用错误秘钥解密时的解密图像。由图4可知,按照本发明加密方案对明文图像(a)进行加密后,得到的密文图像(d)是一幅视觉有意义的密文图像,当它在网络上传输和存储时,从视觉上与载体图像(c)相同,从而避免了被攻击者发现和破解,增加了传输和存储的安全性。同时按照本发明解密方案,使用正确秘钥,得到的解密图像(e)与明文图像(a)基本一样,可以正确解密,而使用错误秘钥(x0′=0.2796+10-14,其它秘钥不变),得到的解密图像(f)类似噪声,这说明了本发明方案提出的加密方法对秘钥具有很高的灵敏性,算法具有很高的安全性。

实例二,参见图8所示,在本实施例中,采用的编程软件为Matlab R2014a,选取大小为256×256的Finger灰度图像作为实验对象,具体加密过程如下:

步骤1:利用SHA 256哈希函数对大小为256×256的明文图像P进行计算,得到一组256位的哈希值(十六进制表示为:

[0f2f217b7ac7eabce5c26ed2333b7b44d8f8c0ff889e05aa0918d fa715e3396d]),并将它作为图像秘钥key,然后将key换算为32个十进制数(15,47,33,123,122,199,234,188,229,194,110,210,51,59,123,68,216,248,192,255,136,158,5,170,9,24,223,167,21,227,57,109),并将其定义为k1,k2,…,k32。4个秘钥参数设置为,x′0=0.2796,y′0=0.7531,r′=0.5678,z′0=0.8652,接着计算出一维skew>0=0.189,以及zigzag置乱需要的初始位置坐标,x0=153,y0=227。

步骤2:利用离散小波变换对明文图像P进行稀疏处理,得到系数矩阵P1;接着对系数矩阵P1按照zigzag路径进行置乱,置乱后的矩阵为P2;然后设置一个阈值TS=50,对P2中的元素进行修正,把小于等于TS的元素变为0,处理后的矩阵记作P3。

步骤3:设置明文图像的压缩率为CR=0.25,利用一维skew tent映射产生用于压缩感知的测量矩阵Φ,大小为64×256,然后对矩阵P3进行测量,得到测量值矩阵P4,大小为64×256。

步骤4:计算出矩阵P4中元素的最小值为min=-933.5953,元素的最大值为max==805.7708,接着对矩阵P4的元素进行量化,把元素值转换为0~255之间的整数,转换后的矩阵记作P5,大小为64×256,即为压缩加密之后的密文图像。

步骤5:选择大小为256×256的Cameraman作为载体图像CI,对其进行离散小波变换,得到四个矩阵,分别是低频部分分解系数LL、水平方向分解系数LH、垂直方向分解系数HL和对角线方向分解系数HH,然后把矩阵P5嵌入其中,再对其进行离散小波反变换,就得到最终的视觉有意义的密文图像C。

图像解密过程是加密过程的逆过程。在图像解密之前,解密方需要获得解密秘钥,具体包括:明文图像的256位哈希值key,6个参数x′0、y′0、r′、z′0、min和max。解密步骤如下:

步骤1:将256位的哈希值key换算为32个十进制数(15,47,33,123,122,199,234,188,229,194,110,210,51,59,123,68,216,248,192,255,136,158,5,170,9,24,223,167,21,227,57,109),并将其定义为k1,k2,…,k32。4个秘钥参数为,x′0=0.2796,y′0=0.7531,r′=0.5678,z′0=0.8652,接着计算出一维skew>0=0.189,以及zigzag置乱需要的初始位置坐标,x0=153,y0=227。

步骤2:假设待解密的密文图像为C,大小为256×256,对它实施离散小波变换,得到4个大小为128×128的矩阵,分别是低频部分分解系数LL1、水平方向分解系数LH1、垂直方向分解系数HL1和对角线方向分解系数HH1。

步骤3:定义一个大小为128×128的空矩阵IT1,然后计算矩阵LL1的所有元素的平均值MV1,按照如下规则从LH1和HL1中得到矩阵D11和D21。

规则1:如果LL1(i,j)≥MV1,则IT1(i,j)=1,D11(i,j)=LH1(i,j),D21(i,j)=HL1(i,j)。

规则2:如果LL1(i,j)<MV1,则IT1(i,j)=0,D21(i,j)=LH1(i,j),D11(i,j)=HL1(i,j)。上述规则中,1≤i≤128,1≤j≤128。

步骤4:把矩阵D11、D21变换为大小为64×256的矩阵,接着通过如下公式得到矩阵P51,

P51(i,j)=D21(i,j)×10+D11(i,j)

其中,D11(i,j)、D21(i,j)和P51(i,j)分别代表矩阵D11、D21和P51的位于(i,j)处的元素,1≤i≤64,1≤j≤256。

步骤5:把矩阵P51按照从左到右、从上到下的顺序转换成长度为1×16384的向量p51i(1≤i≤16384),接着按照如下公式对向量元素逐一实施反量化操作,得到p41i(1≤i≤16384),然后把向量转化成64×256的矩阵P41。

其中,min和max是从发送方获得的秘钥。

步骤6:利用步骤1获得的一维skew>0,按照加密步骤3相同的方法获得测量矩阵Φ1,接着利用正交匹配追踪算法(OMP)从P41重构信号,获得矩阵P31,大小为256×256。

步骤7:利用步骤1获得的zigzag置乱的初始位置坐标x0和y0对矩阵P31施加逆zigzag变换,得到矩阵P1,然后对矩阵P1实施离散小波逆稀疏变换操作,就可以得到解密后的明文图像P,大小为256×256。

具体步骤可参考实例一中所述。

图8中:(a)为实例二所用原始图像,(b)为压缩加密之后的密文图像,(c)为载体图像,(d)为视觉安全的密文图像,(e)为正确秘钥解密图像,(f)为使用错误秘钥解密时的解密图像。由图8可知,按照本发明加密方案对明文图像(a)进行加密后,得到的密文图像(d)是一幅视觉有意义的密文图像,当它在网络上传输和存储时,从视觉上与载体图像(c)相同,从而避免了被攻击者发现和破解,增加了传输和存储的安全性。同时按照本发明解密方案,使用正确秘钥,得到的解密图像(e)与明文图像(a)基本一样,可以正确解密,而使用错误秘钥(y′0=0.7531+10-14,其它秘钥不变),得到的解密图像(f)类似噪声,这说明了本发明方案提出的加密方法对秘钥高度敏感,算法具有很高的安全性。

由上述实施例可知,本发明提供的加密算法可对灰度图像进行视觉安全和数据安全的双重加密,在信息加密领域具有广阔的应用前景。

本发明并不局限于上述具体实施方式,本领域技术人员还可据此做出多种变化,但任何与本发明等同或者类似的变化都应涵盖在本发明权利要求的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号