技术新讯 > 电子通信装置的制造及其应用技术 > 基于自适应分块编码的加密图像可逆信息隐藏方法及系统  >  正文

基于自适应分块编码的加密图像可逆信息隐藏方法及系统

  • 国知局
  • 2024-09-05 14:25:56

本发明属于信息安全之多媒体内容安全,具体涉及一种基于自适应分块编码的加密图像可逆信息隐藏方法及系统。

背景技术:

1、近些年随着科学技术的高速发展,互联网在人们生活中的地位愈发重要。从初始阶段的网络购物,到后来的各种社交平台,再到现如今的chatgpt等ai问答程序,每一个互联网诞生的产物都极大地刷新了人们的认知以及方便了日常生活。互联网开放透明的特性让人们乐意将用户的个人信息互相分享,但数据在网络传输过程中有可能被黑客拦截、篡改或窃取,从而带来越来越多的隐私泄露问题。为了保护数据在传输过程中的安全性,不同的技术被提出。

2、信息隐藏是一项能够将秘密信息嵌入到多媒体文件中进行传输的隐私保护技术。由于第三方难以发现多媒体内容的变化,因此嵌入的数据能够得到有效地保护。可逆信息隐藏技术在原来的基础上能够进一步使被嵌入信息的载体无损恢复,因此在军事医疗图像处理、版权保护等领域发挥重要作用。随着云技术的发展,用户在云环境中传输图像等内容到接收方时需要经过云服务器的处理。为了便于管理,云服务器可能会将水印、时间戳等用户信息嵌入到接收的图像中。为了防止在该过程中出现隐私泄露问题,发送方在发送之前需要对图像进行加密。然后,云服务器只能在加密后的图像上进行可逆信息隐藏。最终,接收方根据其拥有的不同权限分别进行图像恢复和信息提取过程。整个过程被称为加密图像的可逆信息隐藏(reversible data hiding in encrypted images,rdhei),其方法类型具体又可以分为图像加密前腾出空间(reserving room before encryption,rrbe)和加密后腾出空间(vacating room after encryption,vrae)。rdhei不仅解决了原始图像在云环境中易于泄露的问题,还能够实现发送方、云服务器和接收方相对安全的通信机制,具有重要的实际应用价值。

3、目前本领域已经出现了一些能够提供大容量嵌入的rrbe方法,其中尤为显著的是基于熵编码的rrbe方法和基于高位零值位平面的rrbe方法(如中国专利公开号cn116582344a公开了一种位平面压缩和块重排的加密图像可逆信息隐藏方法)。由于vrae是在加密图像上进行腾空间操作,像素之间的相关性减弱,因此其相比rrbe更难获得足够高的嵌入容量,为了解决该问题同时保证嵌入后的图像能够被无损恢复。基于此,本发明提出了一种基于自适应分块编码的vrae方法及系统,其结合了rrbe中提出的熵编码或高位零值位平面编码压缩的优势,图像中的加密块能够自适应地选择应用何种编码从而得到最大程度的压缩,有效地避免了两类编码在特定块中的劣势,极大提高了基于vrae架构的rdhei方法的数据嵌入容量。

技术实现思路

1、针对现有技术的上述现状,本发明提出了一种基于自适应分块编码的加密图像可逆信息隐藏方法及系统。采用本发明技术方案,对于图像拥有者,其先用加密秘钥对图像进行分块异或加密,再将加密后的图像发送给云服务器。对于作为信息隐藏者的云服务器,首先,对于接收到的加密图像进行分块,并计算每一个分块的预测误差和高位连续零值位平面个数;其次,统计所有块的预测误差和高位连续零值位平面个数并分别进行哈夫曼编码;然后,遍历图像每一个块,根据所腾出的可嵌入空间大小来决定该块是进行预测误差编码压缩还是高位零值位平面压缩;最后,将全部辅助信息和用隐藏秘钥加密后的数据嵌入到每个块的冗余空间中形成新的密文图像,并发送给接收者。对于接收者,若其有隐藏秘钥,则其可以进行数据提取并解密从而获得嵌入的信息;若其有加密秘钥,则其可以通过辅助信息和异或解密来无损恢复原始图像;若其既有隐藏秘钥又有加密秘钥,则嵌入数据不仅能够被正确提取,原始图像也能够被无损恢复。本发明提出的技术方案属于vrae架构,即信息隐藏者在加密图像上进行腾出空间操作。与现有技术相比,本发明技术方案中加密图像的每一个加密块都自适应地进行熵编码或高位零值位平面编码,本发明充分发挥两类压缩编码的优势,规避劣势,在保证图像可逆性前提下能够提升数据嵌入容量,具有十分优越的性能。

2、为实现上述目的,本发明采取如下技术方案:

3、一种基于自适应分块编码的加密图像可逆信息隐藏方法,包括如下步骤:

4、s1、采用加密秘钥对图像进行分块异或加密和块重排,再将加密后的图像发送给云服务器;

5、s2、对加密图像进行分块,并计算每一个分块的预测误差集合和高位连续零值位平面个数;

6、s3、统计所有块的预测误差和高位连续零值位平面个数并分别进行哈夫曼编码;

7、s4、遍历图像每一个块,根据所腾出的可嵌入空间大小来决定该块是进行预测误差编码压缩还是高位零值位平面压缩;

8、s5、将全部辅助信息、部分图像信息和用隐藏秘钥加密后的秘密数据嵌入到每个块的特定位置中形成新的密文图像;

9、s6、根据隐藏秘钥和加密秘钥对接收到的图像分别进行数据提取和图像恢复操作。

10、进一步地,步骤s1具体如下:

11、s1-1、设传输图像x的大小为m×n,像素值为x(i,j),其中1≤i≤m,1≤j≤n。将图像按从上到下、从左到右的顺序分为个大小为t×t的块b(k),

12、

13、s1-2、按照同样的顺序遍历每一个块,对于块的第一行第一列像素,其值保持不变;对于块的第一行或第一列其他像素,其预测值p(i,j)为其前一行或前一列的像素值;对于剩余的像素,其预测值p(i,j)则根据中值边缘预测得到;最后按从上到下、从左到右的顺序收集每一个块中除首个像素剩余的t×t-1个预测误差,每一个块的预测误差序列表示为e(k),

14、

15、s1-3、再次遍历每一个块,对于单个块b(k),用加密秘钥ke生成一个随机整数rk,再按照如下公式对块b(k)进行异或加密得到be(k):

16、be(k)=[b(k)+rk]%256(%是取余符号,表示前式结果与256进行取余运算)

17、将块b(k)替换为be(k),计算be(k)的t×t-1个预测误差,若与原有块b(k)的预测误差值有不同之处,则再次用加密秘钥生成一个随机整数对块be(k)进行异或加密,直到生成的加密块与被替换块的预测误差值完全相同;

18、s1-4、图像x中的每一个块都经过了一轮或多轮的异或加密后,再根据加密秘钥ke对图像中所有块的顺序进行置乱,最终生成了加密图像xe并发送给云服务器。

19、进一步地,步骤s2具体如下:

20、s2-1、收到图像xe后,按照s1-1和s1-2的方式获取每一个块的预测误差;

21、s2-2、根据公式:

22、

23、将每个块的预测误差绝对值由十进制转化为二进制的8个比特来表示,并用s(k)表示该块预测误差的符号;

24、s2-3、对于单个块的el(k),先从最高有效位(msb)位平面开始统计该位平面的t×t-1个比特,若当前的位平面中所有值均为0,则继续比较下一层位平面;若当前位平面中的值不全为0,则停止比较;用符号lrk来表示el(k)中前lrk-msb层位平面中的值均为0。

25、进一步地,步骤s3具体如下:

26、s3-1、统计所有块的e(k)和lrk,其中-255≤e(k)≤255,0≤lrk≤8;

27、s3-2、根据e(k)和lrk每一个值出现的频率分别进行哈夫曼编码,设e(k)中的单个预测误差值为其中对于2t+1个不同的编码生成来表示对于和只用1个哈夫曼编码来表示对于9个不同的lrk分别用9个哈夫曼编码来表示;其中的哈夫曼编码规则为h1,lrk的哈夫曼编码规则为h2。

28、进一步地,步骤s4具体如下:

29、s4-1、遍历每一个块be(k),计算e(k)中t×t-1个预测误差的哈夫曼编码长度总和h1,计算lrk的对应哈夫曼编码长度h2;

30、s4-2、获取该块的lrk,接着遍历该块的el(k)中剩余的(8-lrk)个位平面;若当前位平面内比特值为0或1的数量远小于另外一种(即:0的数量小于1的数量或1的数量小于0的数量),则用fk来记录当前位平面内较少比特(少于设定阀值)的信息从而腾出可嵌入空间;同时也需要用ek来记录该块的el(k)中剩余的(8-lrk)个位平面中哪些可以用于嵌入数据;若当前位平面能嵌入数据,则ek中对应的值为1,否则,则为0,每一个块对应的ek长度为(8-lrk)个比特;

31、s4-3、计算单个块直接使用预测误差编码所腾出的可嵌入空间大小c1=8(t2-1)-h1-8n1,其中n1为该块中预测误差和的个数;再计算单个块直接使用高位零值位平面编码所腾出的可嵌入空间大小c2=[lrk+len(ek=1)-1](t2-1)-len(fk+ek),其中len表示比特长度;

32、s4-4、比较c1与c2的大小,若c1≥c2,该块选用预测误差编码,若c1<c2,该块选用高位零值位平面编码,使用c(k)来记录每一个块的选择情况,选用预测误差编码表示为1,否则为0。

33、进一步地,步骤s5具体如下:

34、s5-1、收集用于进行图像恢复的全部辅助信息inf1,按照顺序主要包括c(k)、哈夫曼编码规则h1和h2,经过哈夫曼编码后的和lrk,部分块中的ek和fk;

35、s5-2、收集部分(可设定比例)使用高位零值位平面编码的块中不可嵌入位平面的比特信息inf2,每一个不可嵌入位平面需要被记录除首个比特剩余的t×t-1个比特;

36、s5-3、将inf1和inf2合并,遍历每一个块,将合并后的信息按照从上到下从左到右的顺序依次嵌入到每一个块中除首个像素的其余像素中;

37、s5-4、当合并后的信息全部嵌入完成,则剩余的块将会被秘密信息以同样的方式嵌入,秘密信息在嵌入之前需要经过隐藏秘钥kd的加密,嵌入完成后形成的图像为xm,并被信息隐藏者发送给接收者。

38、进一步地,步骤s6具体如下:

39、s6-1、接收到含有辅助信息和秘密数据的加密图像xm后,其可以通过所拥有的不同秘钥进行数据提取或图像恢复操作;

40、s6-2、若只有隐藏秘钥kd而没有加密秘钥ke,则能够提取图像中隐藏的秘密信息;

41、s6-3、若接收者只有加密秘钥ke而没有隐藏秘钥kd,则原始图像x可以被无损恢复;

42、s6-4、若接收者既有隐藏秘钥kd又有加密秘钥ke,则不仅能够提取正确的秘密信息,而且还能够无损地恢复原始图像x。

43、步骤s6-3中,恢复原始图像的过程具体如下:

44、s6-3-1、通过(与步骤s6-2中相同的)提取操作获取全部辅助信息,其中c(k)用于确认每一个块的编码类型;

45、s6-3-2、使用哈夫曼编码规则h1和h2将编码后的和lrk进行恢复;

46、s6-3-3、遍历每一个块,对于预测误差编码的块,使用块中的首个像素和预测误差进行其余像素的恢复;对于高位零值位平面编码的块,用lrk确定预测误差块e(k)的前lrk个连续高位位平面均为0、用ek确定剩余8-lrk个位平面是否能够嵌入信息,若当前位平面不能嵌入信息,则用inf2中的信息进行替换;若当前位平面能嵌入信息,则使用fk确认位平面中较少比特(少于设定阀值)的值、数量与位置,从而恢复位平面;还原后的e(k)能还原块中的其余像素值;

47、s6-3-4、当所有块遍历完成后,生成的图像即为原始加密图像xe,再根据加密秘钥ke将加密图像xe中每一个块的顺序进行恢复,并使用异或解密对块中的像素进行解密(异或解密与步骤s1类似),只有当解密后的块中预测误差与原始块相同,解密才算完成,得到原始的图像x。

48、本发明还公开了一种基于自适应分块编码的加密图像可逆信息隐藏系统,基于上述的方法,包括如下模块:

49、加密模块:采用加密秘钥对图像进行分块异或加密和块重排,再将加密后的图像发送给云服务器;

50、分块及计算模块:对加密后的图像进行分块,并计算每一个分块的预测误差集合和高位连续零值位平面个数;

51、统计模块:统计所有块的预测误差和高位连续零值位平面个数并分别进行哈夫曼编码;

52、压缩模块:遍历图像每一个块,根据所腾出的可嵌入空间大小,进行预测误差编码压缩或高位零值位平面压缩;

53、嵌入模块:将全部辅助信息、部分图像信息和用隐藏秘钥加密后的秘密数据嵌入到每个块的特定位置形成新的密文图像;

54、提取和恢复模块:根据隐藏秘钥和加密秘钥对接收到的图像分别进行数据提取和图像恢复操作。

55、与现有技术相比,本发明的有益效果为:

56、1、本发明设计一种自适应的分块编码方法,该方法通过比较每个块采取不同编码所腾出的可嵌入空间大小来选择当前块是进行预测误差编码还是高位零值位平面编码,从而实现更高的嵌入容量。

57、2、本发明在加密后的图像上进行腾出冗余空间操作(vrae架构),不仅提升了图像的有效载荷,还保证了可逆性。

58、综上所述,本发明尽可能地压缩每个划分块,在保证可逆性的基础上增加了图像的有效载荷大小,在实际应用中更加高效。

本文地址:https://www.jishuxx.com/zhuanli/20240905/286453.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。