一种图像插值空间完全可逆可分离密文域信息隐藏算法的制作方法

文档序号:17741682发布日期:2019-05-24 20:11阅读:184来源:国知局
一种图像插值空间完全可逆可分离密文域信息隐藏算法的制作方法

本发明涉及计算机信息隐藏技术领域,尤其涉及一种图像插值空间完全可逆可分离密文域信息隐藏算法。



背景技术:

数据的安全性和隐私性是目前的热点问题之一,而图像加密技术随之应运而生,并得到长足发展,密文域可逆信息隐藏作为加密域信号处理技术与信息隐藏技术的重要结合点,对于数据处理过程中的信息安全可以起到双重保险的作用,尤其随着云服务的推广,密文域可逆信息隐藏是实现云环境下隐私保护的研究重点之一。

在密文域信息隐藏方面,大体可以分为两种类型:“联合型”与“可分离型”,所谓“联合型”是指:信息的提取与载体图像的恢复两个操作不可分离,不能交换,如果想提取出嵌入信息,必须先解密再提取;所谓“可分离型”是指:信息的提取与载体图像的恢复互相独立、可交换进行。

但是现有的密文域信息隐藏算法存在很多不足之处,具体表现为算法可逆性不能完全保证,并非完全可逆;算法嵌入率较低,不能很好满足现实需要;部分算法并不是真正的密文域信息隐藏,究其实质还是明文域可逆信息隐藏算法;能完全实现可逆可分离算法较少。因此,本发明提出一种图像插值空间完全可逆可分离密文域信息隐藏算法,以解决现有技术中的不足之处。



技术实现要素:

针对上述问题,本发明通过遍历矩阵、像素扩散以及插值隐藏可以实现载体图像和秘密图像的保密,且密文图像和载秘图像直方图分布均匀、平坦,破译者不能从直方图中获得原图像和密钥信息,很好的防御了明文图像的统计特性等攻击,达到了载体图像安全性要求,同时既可无损还原出原始图像,又可以提取出秘密信息,且水印提取和图像解密是独立的、完全分离的、可交换的具有安全性高的优点。

本发明提出一种图像插值空间完全可逆可分离密文域信息隐藏算法,包括以下步骤:

步骤一:利用混沌伪随机数生成器生成混沌系统的初值

利用混沌伪随机数生成器,根据公式(1)求解出混沌系统的值;

xk+1=μxk(1-xk)(1)

公式(1)中,μ为分支参数,取值范围为0≤μ≤4,当xk∈(0,1)且3.569945≤μ≤4时,logistic映射工作于混沌状态;

步骤二:待加密原始图像预处理

假定待加密原始图像为a,大小为m×n,将图像的像素分为三类,依次标记为原始图像的像素点、需要插值的像素点和用于嵌入边信息的像素点;

步骤三:构造遍历矩阵

根据步骤二中的假定,首先给定混沌系统的初值(μ,x0),并用公式(1)生成一个长为m×n的随机数列p,然后生成一个长度为m×n,将元素互不相同的序列记为:pi,1≤i≤m×n,然后构建遍历矩阵;

步骤四:遍历矩阵的解密算法

遍历矩阵解密时按照步骤三中的方法生成遍历矩阵e,然后对待解密图像进行若干次遍历,即可还原出原始矩阵,解密对应的运算为如公式(2)所示:

公式(2)中,r(0)=r,r为加密后矩阵;

步骤五:像素的扩散及还原

先将混沌序列变换为无符号整数作为xor操作数,然后根据公式(3)将混沌序列与r进行异或运算,则像素扩散后的矩阵如公式(4)所示,像素扩散的还原如公式(5)所示;

y(i)=round(x(i)×10k)mod256k∈z且k≥3(3)

公式(4)中,表示异或运算;

步骤六:图像插值

设原始输入图像为i,大小为m×n,i(i,j)为各像素点灰度值,1≤i≤m,1≤j≤n,然后对输入图像i进行下采样,得到图像a,其大小为

步骤七:秘密信息的嵌入

将图像a中一个大小为2×2的图像块各像素标记为a1,a2,a3,a4,经抛物线插值并嵌入秘密信息后得到载秘图像各像素标记;

s1:可嵌入位数确定:对于像素点a1,a2,其期望插值那么区间[0,a′12]就是秘密信息的可嵌入区间,设在此区间内可嵌入的最大位数为k,根据公式(6)可以得出k的数值;

s2:秘密信息嵌入:设定待嵌入的秘密信息为w,其对应的二进制为wi(i=1,2,...),我们将连续k位秘密信息wi~wi+k-1转换为十进制的值记为sk,根据到公式(7)求出连续k位秘密信息;

s3:差值修正因子:引入一个差值调整因子t,令:smax=2k’-1,然后先求解出差值调整因子;

s4:最终插值的确定:对于像素点a1,a2,以及连续k位秘密信息,最终含密插值a12可根据公式(8)求解出;

s5:溢出分析:

且当a’12=255,wi=1111111时,a12达到最大,max{a12}=a’12-smax+s7=255-(27-1)+127=255

而当a12=1时,k=0,a12=a’12=1,当a’12=0时,a12=0,所以min{a12}=0

s6:嵌入位数控制:确定了最大可嵌入位数k,其中0≤k≤7,k越大,可嵌入信息就越多,但随着k值的增大,载秘图像的质量会随之下降,根据具体应用需求,合理选择k值,将每个插值点中实际嵌入位数限定在k以下即可。

进一步改进在于:所述步骤三中具体遍历矩阵构建过程为:先假定待加密图像为a,大小为m×n,首先给定混沌系统的初值(μ,x0),并用公式(1)生成一个长为m×n的随机数列p,如p有相同元素,则去除相同元素后继续生成,最终生成一个长度为m×n,且元素互不相同的序列记为:pi,1≤i≤m×n;

当i≠j时,pi≠pj,则表示序列p中不存在相等的元素,再令:qk=rank(pi),[q,k]=rank(pi);

其中,rank()为排序函数,用k返回索引序列,

k表示p中某一元素在q中的位置,同一元素在序列p和q中的位置i和j为一二元组(i,k),∵1≤i≤m×n,∴k∈[1,m×n],将这m×n个一维序列k值缩写为m×n大小的二维矩阵,记矩阵为e=reshape(k,m,n),则e中的各元素均为连续区间[1,m×n]中的正整数,无序且不重复,完全满足适合图像加密遍历矩阵的两个条件。

进一步改进在于:所述步骤五中为了达到更好的加密效果,可对遍历得到的矩阵r,再进行像素扩散。

进一步改进在于:所述步骤六中下采样操作为:先根据公式(9)对图像a进行插值,得到图像b,其大小为m×n。

a(i,j)=i(2i-1,2j-1)1≤i≤m/2,1≤j≤n/2(9)

进一步改进在于:所述步骤七s2具体过程为:设定待嵌入的秘密信息为w,其对应的二进制为wi(i=1,2,…),我们将连续k位秘密信息wi~wi+k-1转换为十进制的值记为sk,则得到公式(7);

若将sk直接当作a1,a2的最终插值a12,那么sk的值越接近a12,插值效果就越好,但因wi的不同,sk的值波动也较大,将sk与a12的差值记为δd,即:δd=a’12-sk,∵sk<a’12,∴δd>0,δd越小,最终插值就越接近期望插值,插值效果就越好。

进一步改进在于:所述步骤七s3中:为了减小δd,引入一个差值调整因子t,令:smax=2k’-,然后先求解出差值调整因子t=a’12-smax,在根据差值调整因子计算出smax。

进一步改进在于:所述步骤七s3中令:smax=max{sk}=2k-1,则差值调整因子t=a’12-smax,可以得出对于给定的两个像素点和确定的秘密信息,差值调整因子t是一个常数。

本发明的有益效果为:通过遍历矩阵、像素扩散以及插值隐藏可以实现载体图像和秘密图像的保密,且密文图像和载秘图像直方图分布均匀、平坦,破译者不能从直方图中获得原图像和密钥信息,很好的防御了明文图像的统计特性等攻击,达到了载体图像安全性要求,同时既可无损还原出原始图像,又可以提取出秘密信息,且水印提取和图像解密是独立的、完全分离的、可交换的,且不同密码持有者有不同的权限,仅获得嵌入密钥或者加密密钥者,不可能同时进行提取与解密操作,保证了安全性,具有安全性高的优点。

附图说明

图1为本发明算法的框架结构示意图。

具体实施方式

为了使发明实现的技术手段、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。

根据图1所示,本发明提出一种图像插值空间完全可逆可分离密文域信息隐藏算法,包括以下步骤:

步骤一:利用混沌伪随机数生成器生成混沌系统的初值

利用混沌伪随机数生成器,根据公式(1)求解出混沌系统的值;

xk+1=μxk(1-xk)(1)

公式(1)中,μ为分支参数,取值范围为0≤μ≤4.当xk∈(0,1)且3.569945≤μ≤4时,logistic映射工作于混沌状态;

步骤二:待加密原始图像预处理

假定待加密原始图像为a,大小为m×n,将图像的像素分为三类,依次标记为原始图像的像素点、需要插值的像素点和用于嵌入边信息的像素点;

步骤三:构造遍历矩阵

先假定待加密图像为a,大小为m×n,首先给定混沌系统的初值(μ,x0),并用公式(1)生成一个长为m×n的随机数列p,如p有相同元素,则去除相同元素后继续生成,最终生成一个长度为m×n,且元素互不相同的序列记为:pi,1≤i≤m×n;

当i≠j时,pi≠pj,则表示序列p中不存在相等的元素,再令:qk=rank(pi),[q,k]=rank(pi);

其中,rank()为排序函数,用k返回索引序列,

k表示p中某一元素在q中的位置,同一元素在序列p和q中的位置i和j为一二元组(i,k),∵1≤i≤m×n,∴k∈[1,m×n],将这m×n个一维序列k值缩写为m×n大小的二维矩阵,记矩阵为e=reshape(k,m,n),则e中的各元素均为连续区间[1,m×n]中的正整数,无序且不重复,完全满足适合图像加密遍历矩阵的两个条件;

步骤四:遍历矩阵的解密算法

遍历矩阵解密时按照步骤三中的方法生成遍历矩阵e,然后对待解密图像进行若干次遍历,即可还原出原始矩阵,解密对应的运算为如公式(2)所示:

公式(2)中,r(0)=r,r为加密后矩阵;

步骤五:像素的扩散及还原

先将混沌序列变换为无符号整数作为xor操作数,然后根据公式(3)将混沌序列与r进行异或运算,则像素扩散后的矩阵如公式(4)所示,为了达到更好的加密效果,可对遍历得到的矩阵r,再进行像素扩散,像素扩散的还原如公式(5)所示;

y(i)=round(x(i)×10k)mod256k∈z且k≥3(3)

公式(4)中,表示异或运算;

步骤六:图像插值

设原始输入图像为i,大小为m×n,i(i,j)为各像素点灰度值,1≤i≤m,1≤j≤n,然后对输入图像i进行下采样,得到图像a,其大小为下采样操作为:先根据公式(9)对图像a进行插值,得到图像b,其大小为m×n;

a(i,j)=i(2i-1,2j-1)1≤i≤m/2,1≤j≤n/2(9)

步骤七:秘密信息的嵌入

将图像a中一个大小为2×2的图像块各像素标记为a1,a2,a3,a4,经抛物线插值并嵌入秘密信息后得到载秘图像各像素标记;

s1:可嵌入位数确定:对于像素点a1,a2,其期望插值那么区间[0,a′12]就是秘密信息的可嵌入区间,设在此区间内可嵌入的最大位数为k,根据公式(6)可以得出k的数值;

s2:秘密信息嵌入:设定待嵌入的秘密信息为w,其对应的二进制为wi(i=1,2,…),我们将连续k位秘密信息wi~wi+k-1转换为十进制的值记为sk,则得到公式(7);

若将sk直接当作a1,a2的最终插值a12,那么sk的值越接近a12,插值效果就越好,但因wi的不同,sk的值波动也较大,将sk与a12的差值记为δd,即:δd=a’12-sk,∵sk<a’12,∴δd>0,δd越小,最终插值就越接近期望插值,插值效果就越好;

s3:差值修正因子:引入一个差值调整因子t,令:smax=2k’-1,然后先求解出差值调整因子,为了减小δd,引入一个差值调整因子t,令:smax=2k-1,然后先求解出差值调整因子t=a’12-smax,在根据差值调整因子计算出smax,再令:smax=max{sk}=2k-1,则差值调整因子t=a’12-smax,可以得出对于给定的两个像素点和确定的秘密信息,差值调整因子t是一个常数;

s4:最终插值的确定:对于像素点a1,a2,以及连续k位秘密信息,最终含密插值a12可根据公式(8)求解出;

s5:溢出分析:

且当a’12=255,wi=1111111时,a12达到最大,max{a12}=a’12-smax+s7=255-(27-1)+127=255

而当a12=1时,k=0,a12=a’12=1,当a’12=0时,a12=0,所以min{a12}=0

s6:嵌入位数控制:确定了最大可嵌入位数k,其中0≤k≤7,k越大,可嵌入信息就越多,但随着k值的增大,载秘图像的质量会随之下降,根据具体应用需求,合理选择k值,将每个插值点中实际嵌入位数限定在k以下即可。

通过遍历矩阵、像素扩散以及插值隐藏可以实现载体图像和秘密图像的保密,且密文图像和载秘图像直方图分布均匀、平坦,破译者不能从直方图中获得原图像和密钥信息,很好的防御了明文图像的统计特性等攻击,达到了载体图像安全性要求,同时既可无损还原出原始图像,又可以提取出秘密信息,且水印提取和图像解密是独立的、完全分离的、可交换的,且不同密码持有者有不同的权限,仅获得嵌入密钥或者加密密钥者,不可能同时进行提取与解密操作,保证了安全性,具有安全性高的优点。

以上显示和描述了本发明的基本原理、主要特征和优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

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