一种基于加法同态加密与多高位嵌入的可逆信息隐藏方法

文档序号:29229316发布日期:2022-03-12 13:29阅读:241来源:国知局
一种基于加法同态加密与多高位嵌入的可逆信息隐藏方法

1.本发明涉及信息处理技术领域,尤其涉及一种基于加法同态加密与多高位嵌入的可逆信息隐藏方法。


背景技术:

2.可逆信息隐藏技术是指将隐私数据嵌入到我们常见的媒体介质中,如文字、图像以及视频等,然后能够无误地提取隐私数据并且无损恢复介质内容。由于这样的特征,可逆信息隐藏技术广泛应用于医疗、金融以及军事等领域,其中在图像上进行信息隐藏的技术引起了研究者们广泛的兴趣。
3.早期的可逆信息隐藏技术主要应用于明文域,图像嵌入信息后,不通过相应的统计分析则无法察觉到图像嵌有秘密信息。但是,随着人们对安全越来越重视,图像内容也作为信息保护的一部分。因而,研究者们加大了在加密域上的可逆信息隐藏的研究。随着发展,在加密域上的可逆信息隐藏技术主要分为两类,在加密前预留嵌入空间与在加密后保留嵌入空间。与明文域有比较大区别的是,加密域可以不用考虑嵌入信息后,图像的失真情况。因而,基于加密域条件下嵌入,一方面可以保证图像内容的安全,另一方面在嵌入空间上也有了极大的提高。近几年来,研究者们在研究嵌入技术上不断努力,在保证图像安全的前提下,尽可能地提高嵌入容量。
4.现有的具有比较高嵌入容量的技术一般采用的加密前预留嵌入空间框架,这在安全性与采用加密后保留嵌入空间相比,安全性较低。而现有采用vrae框架的算法因为加密后的图像像素之间缺少关联性,一般采用早期的基于直方图平移、差值扩展等方式,嵌入容量较低。而且由于加密后的图像像素之间关联性的缺少,使得现有采用vrae框架的可逆信息隐藏算法并不能够完全无损恢复图像内容。因此,需要设计一种多高位嵌入的可逆信息隐藏方法。


技术实现要素:

5.本发明的目的在于提供一种基于加法同态加密与多高位嵌入的可逆信息隐藏方法,解决背景技术中提到的技术问题。目标是设计一个安全、高容量的完全可逆信息隐藏算法。内容拥有者对图像进行加密,信息隐藏者在加密图像的基础上腾出嵌入空间,将秘密信息嵌入。
6.为了实现上述目的,本发明采用的技术方案如下:
7.一种基于加法同态加密与多高位嵌入的可逆信息隐藏方法,所述方法包括如下步骤:
8.步骤1:先将图像分块,然后每块采用密钥进行加法同态加密;
9.步骤2:对加密后的图像块进行置乱处理;
10.步骤3:分析加密置乱后的图像块中每个块的实际嵌入容量,并生成标记图labelmap;
11.步骤4:根据标记图labelmap内容,对每块进行秘密信息嵌入,得到已嵌入信息的加密图像;
12.步骤5:提取秘密信息,无损恢复原始图像。
13.进一步地,所述步骤1中,对于一幅大小为w
×
h的8比特原始灰度图像,其像素值x(i,j)∈[0,255],1≤i≤w,1≤j≤h,将原始图像进行分块,分为大小为l1×
l2的无重合子图像块,其中w/l1和h/l2为整数,则原始图像可以分为(w/l1)
×
(h/l2)个子图像块,对每个子图像块依次记为b
w,h
(w=1,2...w/l1,h=1,2.....h/l2),对于每一块大小为l1×
l2的子图像块,按照从左到右,从上到下的扫描顺序,子图像块b
w,h
中的像素依次记为设置秘密种子key1产生一个大小为(w/l1)
×
(h/l2)的密钥流,对于同一个子图像块中的像素用同样的密钥进行加密,加密方式如下:
[0014][0015]
其中是加密之后的像素值,k
w,h
是加密密钥。
[0016]
进一步地,步骤2中,设置置乱密钥key2,以一个子图像块为单位,对每个子图像块的位置进行移动变化,同一个子图像块中的像素点保持原来的相对位置不变,对每个子图像块的位置进行如下变换:
[0017][0018]
其中,(w,h)是原始子图像块的位置,(w

,h

)是经过一次变换后子图像块的位置,a,b是参数,n是图像矩阵的阶数,即图像的大小,指正方形图像,对子图像块的位置进行n次迭代变换,即利用式子(2)进行重复n次变换操作。
[0019]
进一步地,步骤3中,利用以下式子算平均值作为同一个子图像块中的预测值prev
w,h

[0020][0021]
i依次表示块中l1
×
l2个像素,然后利用以下式子计算块中所有像素与当前prev
w,h
绝对值差值,
[0022][0023]
ni从1到4进行判断,当ni值在1-4之间时,则表明该像素可嵌入8-ni位,从最高位开始替换,直到嵌入8-ni位,但是为了能够更好地进行编码,取所有像素中最小嵌入量作为该块所有像素可嵌入的量t
w,h

[0024]
t
w,h
=min(ni),i=1,2...l1
×
l2
ꢀꢀꢀ
(5)
[0025]
当|4≤t
w,h
≤7|时,表示该块可嵌入,标记图label map为0,否则标记为1,用2位来标记该图像块每个像素可嵌入长度,则如果该块可嵌入,其可嵌入的容量大小为(l1
×
l2-1)
×
t
w,h-2,最后再将标记图label map和额外信息一同嵌入即可,一个2
×
2大小的块,然后每个像素与预测值相减的绝对值得到差值,然后根据公式(4)得到满足每个像素最小ni,并
得到8-ni,得到图像块中每个像素对应的嵌入最大容量,然后再取所有像素可嵌入最大容量的最小值,得到块中每个像素的最终可嵌入容量。
[0026]
进一步地,步骤4中,在分析完可嵌入的实际容量后,秘密信息采用高位替换的方式,在每个可嵌入图像块中,计算出t
w,h
,则是每个像素可替换的位数,将t
w,h
编码的2位嵌在每个块中的第一个像素的前2位,然后再将该块的预测值prev
w,h
按照8位的形式将其划分为三部分,分别嵌入在第一个像素的第高3位和第高4位、第二个像素的前4位,以及第三个像素的前2位,最后每块中剩余的空间用于嵌入秘密信息与标记图labelmap。
[0027]
进一步地,步骤5中,恢复时,首先提取labelmap,根据labelmap的标记,确定哪个块嵌入信息,然后再提取每个块中第一个像素的前2位,得到每个图像块中像素嵌入的实际大小,最后再依次提取出预测值与剩余的秘密信息,当预测值提取出来时,利用下式将加密图像内容进行无损恢复然后再进行逆置乱,以及加密密钥实现原始图像内容的无损恢复。
[0028]
本发明由于采用了上述技术方案,具有以下有益效果:
[0029]
本发明在保证安全性的同时,极大提高了嵌入容量。本发明利用分块进行加法同态加密的方式,保留块中像素之间的关联性,为采用多高位嵌入提供了基础条件。其次在安全性,本发明在加密的基础上,继续进行arnold置乱,使得图像内容安全性进一步提高。最后,再设计了符合该模式下的多高位嵌入算法,使得嵌入容量极大地提高,以及保证了图像内容的无损恢复与秘密信息的无误提取。该算法利用同态加密的特性,使得采用vrae框架下的可逆信息隐藏算法嵌入容量获得了极大的提高。
附图说明
[0030]
图1是本发明方法流程图;
[0031]
图2是本发明原始图像分块示意图;
[0032]
图3是本发明4块嵌入容量示例;
[0033]
图4是本发明加密前后像素对比图;
[0034]
图5是本发明原始图像、加密、嵌入信息、恢复过程对比图。
具体实施方式
[0035]
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实施例,对本发明进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对本发明的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以实现本发明的这些方面。
[0036]
如图1所示,一种基于加法同态加密与多高位嵌入的可逆信息隐藏方法,主要以512x512灰色图像作为实验对象,这里以最常用的lena、baboon、man、lake图像作为示例。先对图像进行加密,然后通过分析加密后图像实际可嵌入最大空间,再将秘密信息嵌入到图像当中,最后再提取出秘密信息,并无损恢复原始图像。开发语言采用matlab,数据集是boss-2,其中包含10000张灰色图像。
[0037]
接收者在获得已嵌入信息的加密图像时,能够利用加密密钥解密出原始图像内容,利用嵌入密钥提取出完整的秘密信息。并且上述过程中,解密出的原始图像能够达到无
损恢复。如图1所示,我们的整体框架由三部分组成,内容拥有者、信息嵌入者以及接收者。为了能够保留局部像素之间的相关性,内容拥有者会将w
×
h大小的原始图像分成n
×
n大小无重叠的块,然后将每块采用相同的加密密钥ke进行加密,得到加密后的图像;信息嵌入者在拿到加密后图像时,采用高位预测的方式分析每个块中可嵌入的容量,然后将秘密信息嵌入,得到嵌入信息后的加密图像;而接收者在拿到嵌入信息后的加密图像后,利用嵌入密钥可以提取出秘密信息,利用加密密钥可以直接解密出原始图像,也可以采用嵌入密钥与加密密钥一起完全恢复出原始图像。
[0038]
为了能够加密后保证图像块中像素的关联性,我们采用的加法同态加密。同态的概念由rivest,adleman和dertouzos首次提出。同态加密允许我们在没有私钥也没有解密的情况下对加密数据执行操作。同态加密方案有乘法同态加密和加法同态加密,由于乘法同态加密算法容易导致数据扩展,安全性得不到保证。本文使用模n的加法同态算法对原始图像进行加密,假设m和c分别代表明文和密文数据,k表示由rc4算法得到的一个秘密种子随机产生的一个密钥流。那么对数据进行加密和解密可以分别由式子(1)和(2)得到:
[0039]
c=e(m,k)=(m+k)mod n
ꢀꢀꢀ
(1)
[0040]
m=d(c,k)=(c-k)mod n
ꢀꢀꢀ
(2)
[0041]
假设m1和m2是两个不同的明文数据,k1和k2是两个随机加密密钥,那么有如下的式子:
[0042][0043][0044]
其中是模n加法运算。特别的,当k2=0时,由式子(3)和(4),可以得到:
[0045][0046][0047]
从式子(5)和(6),可以得出,加法操作可以直接在加密数据上进行而不需要对数据进行解密之后再进行。
[0048]
具体步骤如下:
[0049]
步骤1:先将图像分块,然后每块采用相同的密钥进行加法同态加密。
[0050]
对于一幅大小为w
×
h的8比特原始灰度图像,其像素值x(i,j)∈[0,255],1≤i≤w,1≤j≤h。将原始图像进行分块,分为大小为l1×
l2的无重合子图像块,其中w/l1和h/l2为整数,则原始图像可以分为(w/l1)
×
(h/l2)个子图像块,对每个子图像块依次记为b
w,h
(w=1,2...w/l1,h=1,2.....h/l2原始图像的划分示意图如图2所示。
[0051]
对于每一块大小为l1×
l2的子图像块,按照“从左到右,从上到下”的扫描顺序,子图像块b
w,h
中的像素依次记为由秘密种子key1产生一个大小为(w/l1)
×
(h/l2)的密钥流,对于同一个子图像块中的像素用同样的密钥进行加密,加密方式如下:
[0052][0053]
其中是加密之后的像素值,k
w,h
是加密密钥。
[0054]
步骤2:为了能够保证安全性,再对图像块进行arnold置乱。本文对同一个子图像块中的像素用相同的密钥进行加密,这样能够保证块中像素关联性得以保持。为了提高加密后图像的安全性,对加密完之后的图像再进行置乱,根据置乱密钥key2,本文利用arnold变换对加密图像进行置乱。传统的arnold变换是把图像的每个像素点的位置进行移动,得到一个相对原图像混乱的效果,而本文是以一个子图像块为单位,对每个子图像块的位置进行移动变化,同一个子图像块中的像素点保持原来的相对位置不变,对每个子图像块的位置进行如下变换:
[0055][0056]
其中,(w,h)是原始子图像块的位置,(w

,h

)是经过一次变换后子图像块的位置,a,b是参数,n是图像矩阵的阶数,即图像的大小,一般指正方形图像。可对子图像块的位置进行n次迭代变换,即利用式子(8)进行重复n次变换操作。这样在安全性上得到了很大的提高,同时块间的打乱不会影响到块内像素的关联性。
[0057]
步骤3:分析加密后图像每个块的实际嵌入容量,并生成标记图labelmap。对加密后的图像,计算同一个子图像块中的利用以下式子算平均值作为该块的预测值prev
w,h
。i依次表示块中l1
×
l2个像素。
[0058][0059]
然后利用以下式子计算块中所有像素与当前prev
w,h
绝对值差值。
[0060][0061]
ni从1到4进行判断,当ni值满足上述的式子时,则表明该像素可嵌入8-ni位。从最高位开始替换,直到嵌入8-ni位,但是为了能够更好地进行编码,取所有像素中最小嵌入量作为该块所有像素可嵌入的量t
w,h

[0062]
t
w,h
=min(ni),i=1,2...ll
×
l2
ꢀꢀꢀ
(11)
[0063]
当|4≤t
w,h
≤7|时,表示该块可嵌入,标记label map为0,否则标记为1。为了能够压缩空间,用2位来标记该块每个像素可嵌入长度。则如果该块可嵌入,其可嵌入的容量大小为(l1
×
l2-1)
×
t
w,h-2。最后再将标记图label map和额外信息一同嵌入即可。如图3(a)表示一个2
×
2大小的块,然后每个像素与预测值相减的绝对值得到图3(b),然后根据公式(10)得到满足每个像素最小ni,并得到8-ni,如图3(c)所示,可以得到块中每个像素对应的嵌入最大容量。然后再取它们所有像素可嵌入最大容量的最小值,得到块中每个像素的最终可嵌入容量,如图3(d)所示。
[0064]
步骤4:根据标记图labelmap内容,对每块进行秘密信息嵌入,得到已嵌入信息的
加密图像。在分析完可嵌入的实际容量后,秘密信息主要采用高位替换的方式。在每个可嵌入块中,根据计算出t
w,h
,则是每个像素可替换的位数。值得注意的是,为了能够最终恢复原始图像,我们将t
w,h
编码的2位嵌在每个块中的第一个像素的前2位,然后再将该块的预测值prev
w,h
按照8位的形式将其划分为三部分,分别嵌入在第一个像素的第高3位和第高4位、第二个像素的前4位,以及第三个像素的前2位。最后每块中剩余的空间用于嵌入秘密信息与标记图labelmap。
[0065]
步骤5:提取秘密信息,无损恢复原始图像。在最后恢复时,首先提取labelmap,根据labelmap的标记,确定哪个块嵌入信息。然后再提取每个块中第一个像素的前2位,得到每个块中像素嵌入的实际大小。最后再依次提取出预测值与剩余的秘密信息。当预测值提取出来时,可以利用式子(10)可以将加密图像内容进行无损恢复,然后再进行arnold逆置乱,以及加密密钥实现原始图像内容的无损恢复。
[0066]
实验结果表明,采用同态加密方式,能够保证图像内容安全性。以lena图像为例子,图4所示,视觉上,加密后的图像完全看不到图像内容特征。通过直方图分析,加密后的图像像素与原始图像直方图差距较大,呈现均匀分布。其次在嵌入容量上,lena图可以达到2.04bpp,使得嵌入容量上极大提高。其次在boss-2中,平均嵌入容量达到2.36bpp,具有非常好的嵌入性能。如图5所示,图像从加密,到嵌入信息,到最后无损恢复整个流程,可以说明本发明能够保证高容量嵌入的同时,图像内容能够无损恢复。
[0067]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1