一种基于块容量标签的大容量加密图像信息隐藏方法技术

技术编号:33645869 阅读:63 留言:0更新日期:2022-06-02 20:22
本发明专利技术公开了一种基于块容量标签的大容量加密图像信息隐藏方法,其在秘密数据隐藏阶段,对原始图像中的预测像素点进行处理,内容所有者先对由所有预测像素点构成的区域进行分块,并置乱所有图像块,获取置乱后的每个图像块的块容量标签;然后对置乱后的每个图像块中的每个预测像素点的预测误差值的绝对值进行修正,再进行加密;根据块容量标签在加密图像中嵌入第一附加信息和第二附加信息;数据隐藏者在嵌有附加信息的加密图像中提取出标签原值序列,根据标签原值序列嵌入秘密数据;在秘密数据提取和图像还原阶段,接收者提取出第一附加信息、第二附加信息、秘密数据,并恢复图像;优点是其在获得更大的嵌入容量的同时,可以无损地恢复原始图像。以无损地恢复原始图像。以无损地恢复原始图像。

【技术实现步骤摘要】
一种基于块容量标签的大容量加密图像信息隐藏方法


[0001]本专利技术涉及一种图像信息隐藏技术,尤其是涉及一种基于块容量标签的大容量加密图像信息隐藏方法。

技术介绍

[0002]随着网络通信技术和数字图像处理技术的快速发展,图像的传输和交换比以往更加方便,但随之而来的安全问题也越来越多。当信息(如数字图像)在互联网上传输时,存在隐私泄露、信息篡改、信息伪造等重大安全风险,比如:当发送方将消息发出后,不法分子通过技术手段获取通信内容,或者对消息进行恶意篡改后再发送给接收方,使得接收方得到错误的信息而造成巨大的损失。因此,用户的图像数据的安全问题已成为学术界和业界的一个重要问题。
[0003]初级阶段,研究人员使用加密技术将原始信息打乱成无实际意义的乱码,从而保护信息不会受到未经授权的用户或者攻击者的访问和攻击。随着云存储与大数据技术的兴起,许多用户会将图像上传到云服务器,出于对于服务商的不信任,会在上传之前对图像进行加密,然后再上传到云服务器,因此云服务器需要具备对加密信号进行变换、压缩、特征提取、数据隐藏等所需计算的能力,这也称为“加密域信号处理”。而云存储服务提供商则希望在图像中嵌入附加信息以便于实现图像管理、图像检索、版权保护等需求。针对云端应用,密文图像的可逆信息隐藏技术引起了大量研究人员的关注,希望将信息嵌入密文图像中进行传输,这样在保证嵌入信息安全的同时也可以较好地保护载体图像。因此,各种为实现不同目的的密文图像信息隐藏方法值得研究。

技术实现思路

[0004]本专利技术所要解决的技术问题是提供一种基于块容量标签的大容量加密图像信息隐藏方法,其在获得更大的嵌入容量的同时,可以无损地恢复原始图像。
[0005]本专利技术解决上述技术问题所采用的技术方案为:一种基于块容量标签的大容量加密图像信息隐藏方法,其特征在于包括秘密数据隐藏、秘密数据提取和图像还原两部分;
[0006]所述的秘密数据隐藏的具体过程为:
[0007]步骤1_1:内容所有者将原始图像中的所有像素点分为参考像素点和预测像素点两类,原始图像中的第1列像素点和第1行像素点为参考像素点、而其余所有像素点为预测像素点;然后将原始图像输入到MED预测器中,MED预测器输出原始图像中的每个预测像素点的预测值;再计算原始图像中的每个预测像素点的预测误差值的绝对值,将原始图像中坐标位置为(i,j)的预测像素点的预测误差值的绝对值记为|e(i,j)|,其中,2≤i≤M,2≤j≤N,M表示原始图像的宽度,N表示原始图像的高度,e(i,j)表示原始图像中坐标位置为(i,j)的预测像素点的预测误差值,符号“| |”为取绝对值符号,p(i,j)表示原始图像中坐标位置为(i,j)的预测像素点的像素值,表示原始图像中坐标位置为
(i,j)的预测像素点的预测值;
[0008]步骤1_2:将原始图像中由所有预测像素点构成的区域划分成Num
block
个尺寸大小为m
×
n的互不重叠的图像块;然后使用一个置乱密钥K
scr
生成一个长度为Num
block
的第一置乱随机序列,第一置乱随机序列中的随机数为1到Num
block
之间的正整数且不重复;再根据第一置乱随机序列置乱原始图像中的所有图像块,得到置乱图像;其中,符号
“”
为向下取整运算符号,m
×
n为2
×
2或3
×
3或4
×
4或5
×
5,置乱密钥K
scr
为一个随机正整数,置乱图像的宽度为M且高度为N;
[0009]步骤1_3:在置乱图像中的每个图像块中的所有预测像素点的预测误差值的绝对值中找出最大值,将在置乱图像中的第k个图像块中的所有预测像素点的预测误差值的绝对值中找出的最大值记为|e
k,max
|;然后根据在置乱图像中的每个图像块中的所有预测像素点的预测误差值的绝对值中找出的最大值,计算置乱图像中的每个图像块的块容量标签,将置乱图像中的第k个图像块的块容量标签记为L
k
,α为在取值区间[0,7]内满足|e
k,max
|<2
α
条件的最小整数;其中,1≤k≤Num
block
,α为引入的中间变量;
[0010]步骤1_4:根据置乱图像中的每个图像块的块容量标签及每个图像块中的每个预测像素点的预测误差值的符号对置乱图像中的每个图像块中的每个预测像素点的预测误差值的绝对值进行修正,得到修正图像,具体过程为:对于置乱图像中的第k个图像块中坐标位置为(a,b)的预测像素点,将该预测像素点的预测误差值e
k
(a,b)的绝对值|e
k
(a,b)|转化成8位二进制形式,若该预测像素点的预测误差值e
k
(a,b)的符号为正号,则将该预测像素点的预测误差值e
k
(a,b)的绝对值|e
k
(a,b)|的8位二进制形式中从左到右且从1开始计数的第L
k
+1位二进制数修改为0后,作为修正图像中的第k个图像块中坐标位置为(a,b)的像素点的像素值的8位二进制形式;若该预测像素点的预测误差值e
k
(a,b)的符号为负号,则将该预测像素点的预测误差值e
k
(a,b)的绝对值|e
k
(a,b)|的8位二进制形式中从左到右且从1开始计数的第L
k
+1位二进制数修改为1后,作为修正图像中的第k个图像块中坐标位置为(a,b)的像素点的像素值的8位二进制形式;其中,(a,b)表示图像块中的像素点在块内的坐标位置,1≤a≤m,1≤b≤n,修正图像的宽度为M且高度为N;
[0011]步骤1_5:使用一个第一加密密钥K
enc1
生成一个维数为M
×
N的伪随机矩阵作为第一流密码;然后利用第一流密码对修正图像中的每个像素点进行加密,得到加密图像,将加密图像中坐标位置为(i',j')的像素点的像素值记为像中坐标位置为(i',j')的像素点的像素值记为其中,第一加密密钥K
enc1
为一个随机正整数,K
enc1
与K
scr
的值相同,1≤i'≤M,1≤j'≤N,表示修正图像中坐标位置为(i',j')的像素点的像素值,符号
“”
表示异或操作符号,S(i',j')表示第一流密码中下标位置为(i',j')的元素的值;
[0012]步骤1_6:利用算术编码将置乱图像中的所有图像块的块容量标签按图像块的块索引号的先后顺序排列构成的标签序列转换为标签二进制序列;然后将标签二进制序列的长度表示成长度二进制序列,该长度二进制序列包含log2(M
×
N)位二进制数;接着将长度
二进制序列与标签二进制序列按先后顺序联合起来构成的二进制序列作本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于块容量标签的大容量加密图像信息隐藏方法,其特征在于包括秘密数据隐藏、秘密数据提取和图像还原两部分;所述的秘密数据隐藏的具体过程为:步骤1_1:内容所有者将原始图像中的所有像素点分为参考像素点和预测像素点两类,原始图像中的第1列像素点和第1行像素点为参考像素点、而其余所有像素点为预测像素点;然后将原始图像输入到MED预测器中,MED预测器输出原始图像中的每个预测像素点的预测值;再计算原始图像中的每个预测像素点的预测误差值的绝对值,将原始图像中坐标位置为(i,j)的预测像素点的预测误差值的绝对值记为|e(i,j)|,其中,2≤i≤M,2≤j≤N,M表示原始图像的宽度,N表示原始图像的高度,e(i,j)表示原始图像中坐标位置为(i,j)的预测像素点的预测误差值,符号“| |”为取绝对值符号,p(i,j)表示原始图像中坐标位置为(i,j)的预测像素点的像素值,表示原始图像中坐标位置为(i,j)的预测像素点的预测值;步骤1_2:将原始图像中由所有预测像素点构成的区域划分成Num
block
个尺寸大小为m
×
n的互不重叠的图像块;然后使用一个置乱密钥K
scr
生成一个长度为Num
block
的第一置乱随机序列,第一置乱随机序列中的随机数为1到Num
block
之间的正整数且不重复;再根据第一置乱随机序列置乱原始图像中的所有图像块,得到置乱图像;其中,符号为向下取整运算符号,m
×
n为2
×
2或3
×
3或4
×
4或5
×
5,置乱密钥K
scr
为一个随机正整数,置乱图像的宽度为M且高度为N;步骤1_3:在置乱图像中的每个图像块中的所有预测像素点的预测误差值的绝对值中找出最大值,将在置乱图像中的第k个图像块中的所有预测像素点的预测误差值的绝对值中找出的最大值记为|e
k,max
|;然后根据在置乱图像中的每个图像块中的所有预测像素点的预测误差值的绝对值中找出的最大值,计算置乱图像中的每个图像块的块容量标签,将置乱图像中的第k个图像块的块容量标签记为L
k
,α为在取值区间[0,7]内满足|e
k,max
|<2
α
条件的最小整数;其中,1≤k≤Num
block
,α为引入的中间变量;步骤1_4:根据置乱图像中的每个图像块的块容量标签及每个图像块中的每个预测像素点的预测误差值的符号对置乱图像中的每个图像块中的每个预测像素点的预测误差值的绝对值进行修正,得到修正图像,具体过程为:对于置乱图像中的第k个图像块中坐标位置为(a,b)的预测像素点,将该预测像素点的预测误差值e
k
(a,b)的绝对值|e
k
(a,b)|转化成8位二进制形式,若该预测像素点的预测误差值e
k
(a,b)的符号为正号,则将该预测像素点的预测误差值e
k
(a,b)的绝对值|e
k
(a,b)|的8位二进制形式中从左到右且从1开始计数的第L
k
+1位二进制数修改为0后,作为修正图像中的第k个图像块中坐标位置为(a,b)的像素点的像素值的8位二进制形式;若该预测像素点的预测误差值e
k
(a,b)的符号为负号,则将该预测像素点的预测误差值e
k
(a,b)的绝对值|e
k
(a,b)|的8位二进制形式中从左到右且从1开始计数的第L
k
+1位二进制数修改为1后,作为修正图像中的第k个图像块中坐标位置为(a,
b)的像素点的像素值的8位二进制形式;其中,(a,b)表示图像块中的像素点在块内的坐标位置,1≤a≤m,1≤b≤n,修正图像的宽度为M且高度为N;步骤1_5:使用一个第一加密密钥K
enc1
生成一个维数为M
×
N的伪随机矩阵作为第一流密码;然后利用第一流密码对修正图像中的每个像素点进行加密,得到加密图像,将加密图像中坐标位置为(i',j')的像素点的像素值记为中坐标位置为(i',j')的像素点的像素值记为其中,第一加密密钥K
enc1
为一个随机正整数,K
enc1
与K
scr
的值相同,1≤i'≤M,1≤j'≤N,表示修正图像中坐标位置为(i',j')的像素点的像素值,符号表示异或操作符号,S(i',j')表示第一流密码中下标位置为(i',j')的元素的值;步骤1_6:利用算术编码将置乱图像中的所有图像块的块容量标签按图像块的块索引号的先后顺序排列构成的标签序列转换为标签二进制序列;然后将标签二进制序列的长度表示成长度二进制序列,该长度二进制序列包含log2(M
×
N)位二进制数;接着将长度二进制序列与标签二进制序列按先后顺序联合起来构成的二进制序列作为第一附加信息;步骤1_7:将加密图像中与原始图像中的所有图像块构成的区域对应的区域作为嵌入区域,将嵌入区域划分成Num
block
个尺寸大小为m
×
n的互不重叠的图像块,将置乱图像中的每个图像块的块容量标签作为加密图像中对应图像块的块容量标签;并将第一附加信息从左到右依次划分成Num
f1
个8位的第一子信息,将第一附加信息在第一子信息划分完毕后多出的二进制位构成末子信息;然后按Z字型扫描方式的顺序对嵌入区域中的每个图像块进行块索引号标记;接着按块索引号从小到大的顺序,并按Z字型扫描方式的顺序对每个图像块中的所有像素点进行先后排序,将嵌入区域中的所有图像块中的所有像素点排列构成第一像素集合,第一像素集合中包含有Num
block
×
m
×
n个像素点;其中,Num
f1
>1,末子信息包含的二进制位的总个数小于8,块索引号按序从1至Num
block
进行标记;步骤1_8:按先后顺序依次遍历第一像素集合中的前Num
f1
+1个像素点中的每个像素点,设定当前遍历的像素点所在的图像块为加密图像中的第k个图像块,那么当L
k
不为8时提取出当前遍历的像素点的像素值的8位二进制形式中从左到右且从1开始计数的第L
k
+1位至第8位,并按从左到右的顺序存储到第二附加信息中;然后将Num
f1
个第一子信息一一对应嵌入第一像素集合中的第1个至第Num
f1
个像素点中,将末子信息嵌入第一像素集合中的第Num
f1
+1个像素点中;其中,第二附加信息的初始值为空;步骤1_9:从第一像素集合中的第Num
f1
+2个像素点开始按先后顺序依次遍历后续像素点,并按从左到右的顺序依次从第二附加信息中提取连续的二进制位,判断当前遍历的像素点所在的图像块的块容量标签是否为0,如果是,则对当前遍历的像素点不进行处理,继续遍历下一个像素点;否则,根据当前遍历的像素点所在的图像块的块容量标签,确定当前需从第二附加信息中提取连续的二进制位的位数L
f2
,若第二附加信息中未被提取的二进制位的位数大于L
f2
,那么从第二附加信息中提取出连续的L
f2
位二进制位并嵌入当前遍历的像素点中,再继续遍历下一个像素点;若第二附加信息中未被提取的二进制位的位数等于L
f2
,那么从第二附加信息中提取出连续的L
f2
位二进制位并嵌入当前遍历的像素点中,再执行步骤1_10;若第二附加信息中未被提取的二进制位的位数小于L
f2
,那么从第二附加信息中提取出未被提取的二进制位全部嵌入当前遍历的像素点中,再执行步骤1_10;其中,L
f2
的值与当前遍历的像素点所在的图像块的块容量标签的值相同;
步骤1_10:在步骤1_9执行完毕后得到嵌有附加信息的加密图像,然后判断第一像素集合中的第Num
f1
+2个像素点开始的所有像素点是否已全部处理完毕,如果是,则结束秘密数据隐藏过程以及不执行秘密数据提取和图像还原过程;否则,执行步骤1_11;步骤1_11:数据隐藏者生成一个一维的伪随机二进制序列作为秘密数据,并使用一个第二加密密钥K
enc2
生成一个与秘密数据相同长度的伪随机二进制序列作为第二流密码;然后利用第二流密码对秘密数据进行按位异或加密,得到加密秘密数据;其中,第二加密密钥为一个正整数;步骤1_12:将嵌有附加信息的加密图像中与加密图像中的嵌入区域相对应的区域划分成Num
block
个尺寸大小为m
×
n的互不重叠的图像块;然后按Z字型扫描方式的顺序对该区域中的每个图像块进行块索引号标记;接着按块索引号从小到大的顺序,并按Z字型扫描方式的顺序对每个图像块中的所有像素点进行先后排序,将该区域中的所有图像块中的所有像素点排列构成第二像素集合,第二像素集合中包含有Num
block
×
m
×
n个像素点;再从第二像素集合中的所有像素点的像素值的8位二进制形式构成的序列中提取出前log2(M
×
N)位二进制数,并转换为一个正整数,该正整数作为待提取的标签二进制序列的长度,记为length1;之后从第二像素集合中的所有像素点的像素值的8位二进制形式构成的序列中自第log2(M
×
N)+1位二进制数开始提取出length1位二进制数,将提取出的length1位二进制数构成的二进制序列作为提取的标签二进制序列;最后利用算术编码将提取的标签二进制序列恢复成标签原值序列;其中,块索引号按序从1至Num
block
进行标记;步骤1_13:在步骤1_12的基础上,将第二像素集合中的第Num
f1
+2+length2个像素点作为第一起始像素点,设定第一起始像素点所在的图像块为嵌有附加信息的加密图像中的第k个图像块,将标签原值序列中从左到右且从1开始计数的第k个标签原值作为第一起始标签原值,从第一起始标签原值开始按先后顺序依次遍历后续标签原值,判断当前遍历的标签原值是否为0,若为0,则对第二像素集合中从第一起始像素点开始的属于当前遍历的标签原值所对应的图像块的像素点不进行处理,继续遍历下一个标签原值;若不为0,则将第二像素集合中从第一起始像素点开始的属于当前遍历的标签原值所对应的图像块的像素点提取出构成一个子集,按先后顺序依次遍历该子集中的每个像素点,同时从加密秘密数据中未被提取过的数据中按从左到右的顺序依次提取出连续的L
cur
位二进制数并嵌入当前遍历的像素点中,在该子集中的所有像素点全部处理完毕之后,继续遍历下一个标签原值;直至从第一起始像素点开始的所有像素点处理完毕或标签原值序列中的所有标签原值遍历完毕,结束加密秘密数据的嵌入过程,得到嵌有秘密数据的加密图像;其中,length2为引入的长度变量,length2=8
×
Num
label

Sum
label
,Num
label
表示标签原值序列中值不为8的标签原值的个数,Sum
label
表示标签原值序列中值不为8的标签原值的值之和,L
cur
表示当前遍历的标签原值的值;所述的秘密数据提取和图像还原的具体过程为:步骤2_1:接收者将嵌有秘密数据的加密图像中与原始图像中的所有图像块构成的区域相对应的区域划分成Num
block
个尺寸大小为m
×
n的互不重叠的图像块;然后按Z字型扫描方式的顺序对该区域中的每个图像...

【专利技术属性】
技术研发人员:金丹徐达文
申请(专利权)人:宁波工程学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1