1.一种基于双二叉树扩展和公钥加密的加密域可逆信息隐藏方法,其特征在于,所述方法包括:S1:采用如下公式对大小为为m×n的原始图像进行防止像素溢出预处理,根据双二叉树层数L将原始图像像素直方图两侧的像素缩小2L单位,并记录缩小像素的位置得到二进制映射位置溢出图mapB:其中,Is(i,j)表示原始像素I(i,j)经过防止像素溢出预处理后的图像,L是双二叉树的层数,i、j为原始图像的横坐标、纵坐标,i∈[1,m],j∈[1,n];
所述双二叉树以原始图像像素直方图中横轴为结点构成;
S2:将原始图像分成若干个2×2的第一图像块,采用同态加密公钥加密系统进行原始图像加密;
采用下述公式对每个第一图像块进行加密:
其中,x1、x2、x3和x4分别为原始图像同一个第一图像块中的四个像素,ct1、ct2、ct3和ct4分别是x1、x2、x3和x4的密文,a0、u、t和g是在加密算法中产生的参数;
S3:将加密后的图像分成若干个2×2的第二图像块,计算每个第二图像块中的预测误差ek,将预测误差ek按照顺序依次排列构成预测误差序列E,并将其按照二叉树中的元素从上到下的顺序进行排序以构成排序后的预测误差序列Esort,利用双二叉树遍历法将秘密信息嵌入至预测误差直方图中;
S4:根据获取的记录缩小像素位置的溢出图mapB、双二叉树层数L、最后嵌入像素的位置final(i,j)、秘密信息长度|SM|的信息,对含有秘密信息的密文图像进行数据提取和图像恢复。
2.根据权利要求1所述的基于双二叉树扩展和公钥加密的加密域可逆信息隐藏方法,其特征在于,步骤S2中,所述采用同态加密公钥加密系统进行原始图像加密的原则包括:(1)同一第一图像块中的四个像素使用相同的参数u、g、t进行加密;
(2)不同第一图像块使用不同的参数u、g、t和公钥pk进行加密。
3.根据权利要求1所述的基于双二叉树扩展和公钥加密的加密域可逆信息隐藏方法,其特征在于,步骤S3中,所述将加密后的图像分成若干个2×2的第二图像块,计算每个第二图像块中的预测误差ek,将预测误差ek按照顺序依次排列构成预测误差序列E,并将其按照二叉树中的元素从上到下的顺序进行排序以构成排序后的预测误差序列Esort,利用双二叉树遍历法将秘密信息嵌入至预测误差直方图中的过程可分解为如下步骤:S31:采用步骤S2中的图像分块方式,将加密后的图像分成若干个2×2的第二图像块;
S32:定义第k个第二图像块中的四个加密像素为ct1(k)、ct2(k)、ct3(k)、ct4(k);
采用下述公式计算第k个第二图像块中第一个加密像素的预测值和预测误差:其中,w2、w3、w4为权重系数,取值在[0,1]中,并且w2+w3+w4=1;
依次计算每个第二图像块中的预测误差ek,将预测误差ek按照顺序依次排列构成预测误差序列E=(e1,e2,...,eN),N为第二图像块总数;
S33:将预测误差序列E按照二叉树中的元素从上到下的顺序进行排序以构成排序后的预测误差序列Esort;
S34:利用双二叉树遍历法将秘密信息嵌入至预测误差直方图中,包括以下步骤:S341:判断预测误差ek在加密图像嵌入空间的位置,
(1)若预测误差ek在加密图像嵌入空间两侧,移动2L个单位为秘密信息嵌入预留空间;
L L
(2)若预测误差ek在加密图像嵌入空间的嵌入范围[-2 ,2]内时,将秘密信息嵌入到预测误差直方图中;
S342:采用下述公式对像素进行修改:
其中,ct′1(k)为嵌入秘密信息后的密文图像,b为秘密信息SM的一个比特;
S343:完成秘密信息嵌入后判断预测误差序列是否全部遍历,若否,记下当前像素的位置;
S35:将包括嵌入秘密信息、边缘信息的密文图像发送至图像接收方;
所述边缘信息由8比特的二进制流表示,包括:双二叉树层数L、最后嵌入像素的位置final(i,j)、秘密信息长度|SM|。
4.根据权利要求1所述的基于双二叉树扩展和公钥加密的加密域可逆信息隐藏方法,其特征在于,步骤S4中,所述根据获取的记录缩小像素位置的溢出图mapB、双二叉树层数L、最后嵌入像素的位置final(i,j)、秘密信息长度|SM|的信息,对含有秘密信息的密文图像进行数据提取和图像恢复包括:(1)根据数据隐藏密钥进行的密文域中图像恢复和秘密信息提取;
(2)根据数据隐藏密钥和解密密钥进行的明文域中图像恢复和秘密信息提取。
5.根据权利要求4所述的基于双二叉树扩展和公钥加密的加密域可逆信息隐藏方法,其特征在于,所述根据数据隐藏密钥进行的密文域中图像恢复和秘密信息提取包括以下步骤:S41:采用步骤S2中的图像分块方式,将嵌入秘密信息的密文图像分成若干个2×2的第三图像块;
S42:定义第k个第三图像块中的四个像素为ct′1(k)、ct2(k)、ct3(k)、ct4(k),1<=k<=N,N为第三图像块总数;
S43:采用下述公式计算第k个第三图像块中第一个像素ct′1(k)的预测值和预测误差:依次计算每个第三图像块中的预测误差e′k,按照顺序依次排列构成预测误差序列E′=(e′1,e′2,...,e′N),产生预测误差直方图;
S44:将预测误差序列E′按照嵌入秘密信息时的顺序排序以构成排序后的预测误差序列Esort;
S45:根据公式b=mod(e′k,2)提取每个第三图像块的嵌入秘密信息,判断提取嵌入秘密信息过程是否前进至final(i,j)位置,若是,则表明已完成嵌入秘密信息的最后一个比特位提取;
S46:采用下述公式,按照Esort的排序顺序,提取所有密文图像:其中,ct1(k)是嵌入秘密信息提取后第k个第三图像块中的第一个密文像素,至此得到第k个第三图像块的四个密文像素,依次进行每个第三图像块的密文图像提取直至完成所有密文图像提取。
6.根据权利要求4所述的基于双二叉树扩展和公钥加密的加密域可逆信息隐藏方法,其特征在于,所述根据数据隐藏密钥和解密密钥进行的明文域中图像恢复和秘密信息提取包括以下步骤:S41':采用步骤S2中的图像分块方式,将嵌入秘密信息的密文图像分成若干个2×2的第四图像块;
S42':根据解密密钥对嵌入秘密信息的密文图像进行解密,得到解密后的图像;
采用下述公式对第k个第四图像块进行解密:
S43':采用下述公式计算第k个第四图像块中第一个像素ct′1(k)的预测值和预测误差:依次计算每个第四图像块中的预测误差e′k,按照顺序排列构成预测误差序列E′=(e′1,e′2,...,e′N),产生预测误差直方图;
S44':将预测误差序列E′按照嵌入秘密信息时的顺序排序以构成排序后的预测误差序列Esort;
S45':根据公式b=mod(e′k,2)提取每个第四图像块的嵌入秘密信息,判断提取嵌入秘密信息过程是否前进至final(i,j)位置,若是,则表明已完成嵌入秘密信息的最后一个比特位提取;
S46':采用下述公式恢复嵌入秘密信息的像素:
S47':完成嵌入秘密信息提取和密文图像恢复后,采用下述公式根据溢出图mapB上记录的缩小像素位置将经过防止像素溢出预处理后的图像恢复至原始图像: