基于多参数分数阶变换和半张量积的图像加密方法及装置与流程

文档序号:13861167阅读:174来源:国知局

本发明涉及图像加密技术领域,特别是涉及基于多参数分数阶变换和半张量积的图像加密方法及装置。



背景技术:

随着互联网技术与图像处理技术的飞速发展,数字图像可以在网络上方便、快捷地传输,但这同时也带来了图像信息安全隐患问题。而由于数字图像的像素间具有很高的相关性、冗余性等特征,传统的基于文本的加密方法不再适用于数字图像的加密处理。数字图像加密技术成为一个实用又亟待发展的技术。

现有的图像加密方法主要分为两大类:基于空域的加密算法和基于变换域的加密算法。

基于空域的图像加密算法是,通过一种方法生成一伪随机序列,基于该伪随机序列对数字图像进行置乱处理,从而得到密图;基于变换域的图像加密方法是,通过一种数学变换,将待加密的数字图像变换为一个由一组相互正交的矩阵构成的线性表达式,将该表达式中各个矩阵的系数作为加密图像中各个像素点的像素值,从而得到加密图像。

然而,现有的基于空域的图像加密方法只改变像素的位置,并不改变原始的像素值,导致安全性往往不高。而且,空域置乱得到的密图在传输过程中受到噪声攻击或是部分密图丢失都会严重降低解密图像的质量。基于变换域的图像加密方法的数学变换方式可能存在周期性,导致一种数学变换方式存在多个解密密钥,同时可选择的数学变换方式较少,从而使得解密图容易被破解,无法确保数字图像的安全传输。



技术实现要素:

本发明实施例的目的在于提供基于多参数分数阶变换和半张量积的图像加密方法及装置,以实现安全有效地加密数字图像。具体技术方案如下:

本发明提供的基于多参数分数阶变换和半张量积的图像加密方法,所述方法包括:

对待加密图像的像素,使用置乱矩阵改变其像素的位置,得到空域置乱图像;

按照预设规则对所述空域置乱图像进行相位编码和多参数离散分数阶变换,得到变换图像;

生成一个维度是所述变换图像维度的因数且不等于1的方阵,作为密钥矩阵;

将所述变换图像,按照所述密钥矩阵的维度均匀分成多个子矩阵;

将密钥矩阵分别与每个子矩阵进行半张量积运算,得到每个子矩阵的运算结果;

将所述多个子矩阵的运算结果进行整合,得到加密图像。

进一步的,所述按照预设规则对所述空域置乱图像进行相位编码和多参数离散分数阶变换,得到变换图像,包括:

生成一个维度与所述空域置乱图像的维度相等的矩阵,作为相位掩膜;

生成一个长度与所述空域置乱图像的列维度相等的向量,并以该向量的各元素作为参数,生成多参数离散分数阶算子;

按照下式对空域置乱图像进行处理,得到变换图像:

其中i为所述空域置乱图像,o为所述变换图像,j为复数单位,π为圆周率,α为所述相位掩膜,为多参数离散分数阶算子。

进一步的,所述将密钥矩阵分别与每个子矩阵进行半张量积运算,得到每个子矩阵的运算结果,包括:

将密钥矩阵分别与每个子矩阵按照下式进行半张量积运算,得到每个子矩阵的运算结果:

式中s为所述密钥矩阵,为半张量积运算符,q为所述子矩阵,rowi(s)为矩阵s的第i行,coli(q)为矩阵q的第i列,n为所述子矩阵的列维度,m为所述密钥矩阵的维度。

进一步的,在所述对待加密图像,使用置乱矩阵改变其像素的位置之前,还包括:

利用待加密图像的四个顶点的像素值对预设的混沌系统的四个系统状态变量进行初始化;

迭代所述混沌系统,从第预设数目次迭代开始保存每次迭代输出的所述四个系统状态变量的数值;

利用保存的所述数值,生成第一数目个预设长度的伪随机序列,停止迭代;

对每个所述伪随机序列,通过记录所述伪随机序列内的各元素的大小次序,生成伪随机的地址序列;

将生成的两个所述伪随机的地址序列,分别作为置乱矩阵非零元素的行指标序列和列指标序列以生成一个新的置乱矩阵,直至生成第二数目个置乱矩阵。

进一步的,所述按照预设规则对所述空域置乱图像进行相位编码和多参数离散分数阶变换,得到变换图像,还包括:

生成两个维度与所述空域置乱图像的维度相等的矩阵,分别作为第一相位掩膜和第二相位掩膜;

生成两个长度与所述空域置乱图像的列维度相等的向量,分别利用两个向量中的元素作为参数,生成第一多参数离散分数阶算子和第二多参数离散分数阶算子;

利用第一相位掩膜和第一多参数离散分数阶算子对所述空域置乱图像进行相位编码和多参数离散分数阶变换,得到过渡图像;

利用第二相位掩膜和第二多参数离散分数阶算子对所述过渡图像进行相位编码和多参数离散分数阶变换,得到变换图像。

基于多参数分数阶变换和半张量积的图像加密装置,包括:

置乱模块,用于对待加密图像的像素,使用置乱矩阵改变其像素的位置,得到空域置乱图像;

变换模块,用于按照预设对所述空域置乱图像进行相位编码和多参数离散分数阶变换,得到变换图像;

密钥模块,用于生成一个维度是所述变换图像维度的因数的方阵,作为密钥矩阵;

子矩阵模块,用于将所述变换图像,按照所述密钥矩阵的维度均匀分成多个子矩阵;

半张量积模块,用于将密钥矩阵分别与每个子矩阵进行半张量积运算,得到每个子矩阵的运算结果;

整合模块,将所述多个子矩阵的运算结果进行整合,得到加密图像。

进一步的,所述变换模块,包括:

掩膜单元,用于生成一个维度与所述空域置乱图像的维度相等的矩阵,作为相位掩膜;

算子单元,用于生成一个长度与所述空域置乱图像的维度相等的向量,并以该向量的各元素作为参数,生成多参数离散分数阶算子;

变换单元,按照下式对空域置乱图像进行处理,得到变换图像:

式中i为所述空域置乱图像,o为所述变换图像,j为复数单位,π为圆周率,α为所述相位掩膜,为多参数离散分数阶算子。

进一步的,所述半张量积模块,具体用于:

将密钥矩阵分别与每个子矩阵按照下式进行半张量积运算,得到每个子矩阵的运算结果:

式中s为所述密钥矩阵,为半张量积运算符,q为所述子矩阵,rowi(s)为矩阵s的第i行,coli(q)为矩阵q的第i列,n为所述子矩阵的列维度,m为所述密钥矩阵的维度。

进一步的,所述装置,还包括:

初始化模块,用于利用待加密图像的四个顶点的像素值对预设的混沌系统的四个系统状态变量进行初始化;

迭代模块,用于迭代所述混沌系统,从第预设数目次迭代开始保存每次迭代输出的所述四个系统状态变量的数值;

伪随机序列模块,用于利用保存的所述数值,生成第一数目个预设长度的伪随机序列;

地址序列模块,用于对每个所述伪随机序列,通过记录所述伪随机序列内的各元素的大小次序,生成伪随机的地址序列;

置乱矩阵模块,用于将生成的两个所述伪随机的地址序列,分别作为置乱矩阵非零元素的行指标序列和列指标序列以生成一个新的置乱矩阵,直至生成第二数目个置乱矩阵。

进一步的,所述变换模块,包括:

相位掩膜单元,用于生成两个长度与所述空域置乱图像的维度相等的矩阵,分别作为第一相位掩膜和第二相位掩膜;

多参数离散分数阶算子模块,生成两个长度与所述空域置乱图像的列维度相等的向量,分别利用两个向量中的元素作为参数,生成第一多参数离散分数阶算子和第二多参数离散分数阶算子;

过渡模块,用于利用第一相位掩膜和第一多参数离散分数阶算子对所述空域置乱图像进行相位编码和多参数离散分数阶变换,得到过渡图像;

变换模块,用于利用第二相位掩膜和第二多参数离散分数阶算子对所述过渡图像进行相位编码和多参数离散分数阶变换,得到变换图像。

本发明实施例提供的基于多参数分数阶变换和半张量积的图像加密方法及装置,可以通过相位编码和半张量积运算,使得待加密图像中每个像素点的信息被分成多个部分分别保存在密图中的所有像素点内,即使密图受到噪声信号的干扰或丢失部分像素,其影响在解密后也会被分摊到解密图中的所有像素点上,增强了密图对抗噪声信号和像素丢失的能力。将空域置乱后的图像加密投影到分数域,并结合半张量积运算,拓宽了加密过程中参数选择的空间,避免了分数域变换的周期性,增加了解密图像对抗统计攻击的能力,提高了数字图像传输的安全性。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的基于多参数分数阶变换和半张量积的图像加密方法的一种流程示意图;

图2为本发明实施例提供的置乱矩阵生成方法的一种流程示意图;

图3为本发明实施例提供的基于多参数分数阶变换和半张量积的图像加密装置的一种结构示意图;

图4a为示例图片a的像素分布直方图;

图4b为示例图片b的像素分布直方图;

图4c为示例图片a经过本发明实施例加密后得到的加密图像的像素分布直方图;

图4d为示例图片b经过本发明实施例加密后得到的加密图像的像素分布直方图;

图5a为示例图片c的横向像素分布散点图;

图5b为示例图片c经过本发明实施例加密后得到的加密图像的横向像素分布散点图;

图5c为示例图片c的纵向像素分布散点图;

图5d为示例图片c经过本发明实施例加密后得到的加密图像的纵向像素分布散点图;

图5e为示例图片c的对角线方向像素分布散点图;

图5f为示例图片c经过本发明实施例加密后得到的加密图像的对角线方向像素分布散点图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,图1所示为本发明实施例提供的基于多参数分数阶变换和半张量积的图像加密方法的一种流程示意图,可以包括以下步骤:

s101,对待加密图像的像素,使用置乱矩阵改变其像素的位置,得到空域置乱图像。

其中,该置乱矩阵可以是预设的一个或一组固定的矩阵,或者是通过特定的方法生成的一个或一组矩阵。使用置乱矩阵改变其像素的位置,可以是改变待加密图像中所有像素的位置,或者只改变待加密图像中部分像素的位置。

在本实施例中,在待加密图像不为方阵的情况下,通过给待加密图像添加边框的方式,将其变为方阵。

在一种优选的实现方式中,对待加密图像的像素,使用置乱矩阵改变其像素的位置,得到空域置乱图像,包括:

对待加密图像的每一行的像素,使用不同的置乱矩阵改变其像素的位置,得到过渡置乱图像;对过渡置乱图像的每一列的像素,使用不同的置乱矩阵改变其像素的位置,得到空域置乱图像。

选用该实现方式,可以充分地改变待加密图像每个像素的位置,增加加密图像的复杂性,提高解密难度。

s102,按照预设规则对所述空域置乱图像进行相位编码和多参数离散分数阶变换,得到变换图像。

在一种可选的实现方式中,按照预设规则对所述空域置乱图像进行相位编码和多参数离散分数阶变换,包括:

生成一个维度与所述空域置乱图像的维度相等的矩阵,作为相位掩膜α;生成一个长度与所述空域置乱图像的列维度相等的向量,并以该向量的各元素作为参数,生成多参数离散分数阶算子按照下式对空域置乱图像进行处理,得到变换图像:

式中i为空域置乱图像,o为变换图像,j为复数单位,π为圆周率。

在一种优选的实现方式中,按照预设规则对所述空域置乱图像进行相位编码和多参数离散分数阶变换,包括:

生成两个维度与空域置乱图像的维度相等的矩阵,分别作为第一相位掩膜α1和第二相位掩膜α2;生成两个长度与空域置乱图像的列维度相等的向量,分别利用两个向量中的元素作为参数,生成第一多参数离散分数阶算子和第二多参数离散分数阶算子利用α1和按照下式对空域置乱图像i进行相位编码和多参数离散分数阶变换,得到过渡图像o′:

再利用α2和按照下式将过渡图像o′进行相位编码和多参数离散分数阶变换,得到变换图像o:

选用该实现方式,可以通过两次相位编码和多参数离散分数阶变换,使得待加密图像中每个像素点的像素值被更加均匀的分成多个部分并分别保存在变换图像中的所有像素点内,降低了加密图像中像素点之间的相关性。

s103,生成一个维度是所述变换图像维度的因数,且不等于1的方阵,作为密钥矩阵。

在本实施例中,从除1和变换图像的维度自身以外的变换图像的维度的因数中,选一个作为所述密钥矩阵的维度。

示例性的,假设变换图像是一个64阶的方阵,64的因数中除去1和64还有2、4、8、16、32,密钥矩阵可以是2阶、4阶、8阶、16阶、32阶方阵中的一种方阵。

s104,将所述变换图像,按照所述密钥矩阵的维度均匀分成多个子矩阵。

在本实施例中,将变换图像均匀分成密钥矩阵的维度的平方个子矩阵。

示例性的,假设变换图像为一个4阶方阵,密钥矩阵为2阶方阵,将变换图像按照如下所示的方式均匀划分为4个子矩阵:

s105,将密钥矩阵分别与每个子矩阵进行半张量积运算,得到每个子矩阵的运算结果。

在本实施例中,将密钥矩阵分别与每个子矩阵按照下式进行半张量积运算,得到各个子矩阵运算后的结果:

式中s为密钥矩阵,为半张量积运算符,q为子矩阵,rowi(s)为矩阵s的第i行,coli(q)为矩阵q的第i列,n为子矩阵的列维度,m为密钥矩阵的维度。

s106,将所述多个子矩阵的运算结果进行整合,得到加密图像。

在本实施例中,将所述多个子矩阵的运算结果进行整合,得到加密图像,是指:将所有子矩阵的运算结果作为加密图像的子矩阵,组合成加密图像。

示例性的,假设一共有16个子矩阵的运算结果,分别为a1、a2、a3…a16,将16个运算结果按照如下所示的方式组合成加密图像:

针对上述图1所示实施例中使用的置乱矩阵,本发明实施例中具体可以采用如下方式获得,如图2所示,包括如下步骤:

s201,利用待加密图像的四个顶点的像素值对预设的混沌系统的四个系统状态变量进行初始化。

本实施例中,选用如下所示的混沌系统:

其中a、b、c、r为系统的控制参数,x、y、z、w为系统的状态变量。所述利用待加密图像的四个顶点的像素值对预设的混沌系统的四个系统状态变量进行初始化,可以是将四个顶点的像素值直接分别作为x、y、z、w的初始值,或者可以是四个顶点的像素值经过处理后分别作为x、y、z、w的初始值。

示例性的,假设待加密图像的宽度为k,四个顶点的像素值分别为p1、p2、p3、p4,可以直接令x0=p1,、y0=p2、z0=p3、w0=p4以初始化所述混沌系统,或者也可以令x0=p1,/k、y0=p2/k、z0=p3/k、w0=p4/k以初始化所述混沌系统。

s202,迭代所述混沌系统,从第预设数目次迭代开始保存每次迭代输出的所述四个系统状态变量的数值。

由于所述混沌系统前一定数目次的迭代的输出结果具有周期性,为了避免该周期性影响加密图像抵抗统计攻击的能力,本发明仅保存从第预设数目次迭代开始的迭代输出。

本实施例中,将从第预设目次迭代开始的每次迭代输出的x、y、z、w的值,分别保存在向量x、y、z、w中。

s203,利用保存的所述数值,生成第一数目个预设长度的伪随机序列,停止迭代。

本实施例中,每次从x、y、z、w四个向量中选出与预设长度相等的数目个元素,同一个元素不会被多次选中。对选出的每个元素,按照下式进行处理,将得到的结果作为序列的元素,生成伪随机序列:

ti=((|ei|-|_i_|×1016)modl

其中ei为选取的第i个元素,_i_为选取的第i个元素的整数部分,l为预设长度,ti为选取的第i个元素处理后得到的结果。

示例性的,假设预设长度为3,从x、z、y、w四个向量中选取出3个元素,假设分别为{1.33,-2.34,3.35},则有t1=((1.33-1)×1016)mod3=0,t2=((2.34-2)×1016)mod3=1,t3=((3.35-3×1016)mod3=2,生成伪随机序列{0,1,2}。

s204,对每个所述伪随机序列,通过记录所述伪随机序列内的各元素的大小次序,生成伪随机的地址序列。

示例性的,假设伪随机序列为{15,22,18,11,24},采用降序排序,元素15的大小次序为4,元素22的大小次序为2,依次类推,得到地址序列{4,2,3,5,1}。

s205,将生成的两个所述伪随机的地址序列,分别作为置乱矩阵非零元素的行指标序列和列指标序列以生成一个新的置乱矩阵,直至生成第二数目个置乱矩阵。

示例性的,假设生成的两个伪随机的地址序列分别为{3,1,2}和{1,3,2},则置乱矩阵中为非零元素的角标依次为(3,1)、(1,3)、(2,2),将这些角标对应的元素的值设为1,其他所有元素均设为0,可以得到如下置乱矩阵:

应用本发明图2所示实施例,可以利用混沌系统来生成置乱矩阵,使得所生成的置乱矩阵具有良好的伪随机性和复杂性,同时由于混沌系统对初始值具有很高的敏感性使得加密图像的敏感性提高,增加了解密的难度,保证加密图像的安全性。

参见图3,图3所示为本发明实施例提供的基于多参数分数阶变换和半张量积的图像加密装置的一种结构示意图,可以包括以下模块:

置乱模块301,用于对待加密图像的像素,使用置乱矩阵改变其像素的位置,得到空域置乱图像;

变换模块302,用于按照预设规则对所述空域置乱图像进行相位编码和多参数离散分数阶变换,得到变换图像;

密钥模块303,用于生成一个维度是所述变换图像维度的因数,且不等于1的方阵,作为密钥矩阵;

子矩阵模块304,用于将所述变换图像,按照所述密钥矩阵的维度均匀分成多个子矩阵;

半张量积模块305,用于将密钥矩阵分别与每个子矩阵进行半张量积运算,得到每个子矩阵的运算结果;

整合模块306,用于将所述多个子矩阵的运算结果进行整合,得到加密图像。

进一步的,所述变换模块302,可以包括:

掩膜单元,用于生成一个维度与所述空域置乱图像的维度相等的矩阵,作为相位掩膜;

算子单元,用于生成一个长度与所述空域置乱图像的列维度相等的向量,并以该向量的各元素作为参数,生成多参数离散分数阶算子;

变换单元,按照下式对空域置乱图像进行处理,得到变换图像:

式中i为所述空域置乱图像,o为所述变换图像,j为复数单位,π为圆周率,α为所述相位掩膜,为多参数离散分数阶算子。

进一步的,所述半张量积模块305,具体用于:

将密钥矩阵分别与每个子矩阵按照下式进行半张量积运算,得到每个子矩阵的运算结果:

式中s为所述密钥矩阵,为半张量积运算符,q为所述子矩阵,rowi(s)为矩阵s的第i行,coli(q)为矩阵q的第i列,n为所述子矩阵的列维度,m为所述密钥矩阵的维度。

进一步的,上述图像加密装置,还包括如下模块:

初始化模块307,用于利用待加密图像的四个顶点的像素值对预设的混沌系统的四个系统状态变量进行初始化。

迭代模块308,用于迭代所述混沌系统,从第预设数目次迭代开始保存每次迭代输出的所述四个系统状态变量的数值。

伪随机序列模块309,用于利用保存的所述数值,生成第一数目个预设长度的伪随机序列。

地址序列模块310,用于对每个所述伪随机序列,通过记录所述伪随机序列内的各元素的大小次序,生成伪随机的地址序列。

置乱矩阵模块311,用于将生成的两个所述伪随机的地址序列,分别作为置乱矩阵非零元素的行指标序列和列指标序列以生成一个新的置乱矩阵,直至生成第二数目个置乱矩阵。

进一步的,所述变换模块302,可以包括:

掩膜单元,用于生成两个维度与所述空域置乱图像的维度相等的矩阵,分别作为第一相位掩膜和第二相位掩膜;

算子单元,用于生成两个长度与所述空域置乱图像的列维度相等的向量,分别利用两个向量中的元素作为参数,生成第一多参数离散分数阶算子和第二多参数离散分数阶算子;

过渡单元,用于利用第一相位掩膜和第一多参数离散分数阶算子对所述空域置乱图像进行相位编码和多参数离散分数阶变换,得到过渡图像;

变换单元,利用第二相位掩膜和第二多参数离散分数阶算子对所述过渡图像进行相位编码和多参数离散分数阶变换,得到变换图像。

图4a、图4b分别是示例图片a和示例图片b的像素分布直方图,图中横坐标表示像素值,纵坐标表示像素点的个数。如图所示,两个直方图中像素分布差别明显,容易根据直方图中像素的分布区别两幅图片。

图4c、图4d分别是示例图片a和示例图片b经过本发明实施例加密后得到的加密图像的像素分布直方图,如图所示,两个直方图中像素的分布呈现近似的均匀分布,难以根据加密图像中的像素分布区分两幅图片,证明了经过本发明实施例加密后的加密图像的安全性。

图5a、图5c、图5e分别是示例图片c的横向、纵向、对角线方向的像素分布散点图,图中横坐标分别代表像素点在横向、纵向、对角线方向上的坐标,纵坐标代表像素值,如图所示,示例图片c在三个方向的散点图中,像素点的分布均近似于线性分布,相关性较大。

图5b、图5d、图5f分别是示例图片c的经过本发明实施例加密后得到的加密图像的横向、纵向、对角线方向的相关性散点图。如图所示,示例图片c经过本发明实施例加密后得到的加密图像在三个方向上的散点图中,像素点的分布均近似于均匀分布,几乎不存在相关性。证明了本发明实施例消除了得到的加密图像中相邻像素点之间的相关性,保证了加密图像的安全性。

应用本发明图3所示图像加密装置,可以利用混沌系统来生成置乱矩阵,使得所生成的置乱矩阵具有良好的伪随机性和复杂性,同时由于混沌系统对初始值具有很高的敏感性使得加密图像的敏感性提高,增加了解密的难度,保证加密图像的安全性。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1