CN110753226B - 一种高容量密文域图像可逆数据隐藏方法 - Google Patents
一种高容量密文域图像可逆数据隐藏方法 Download PDFInfo
- Publication number
- CN110753226B CN110753226B CN201910911670.1A CN201910911670A CN110753226B CN 110753226 B CN110753226 B CN 110753226B CN 201910911670 A CN201910911670 A CN 201910911670A CN 110753226 B CN110753226 B CN 110753226B
- Authority
- CN
- China
- Prior art keywords
- pixel point
- image
- value
- pixel
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000002441 reversible effect Effects 0.000 title claims abstract description 22
- 238000000605 extraction Methods 0.000 claims abstract description 10
- 238000011084 recovery Methods 0.000 claims abstract description 10
- 238000013075 data extraction Methods 0.000 claims description 19
- 241000287196 Asthenes Species 0.000 claims description 7
- 238000010586 diagram Methods 0.000 claims description 6
- 230000007306 turnover Effects 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/467—Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Image Processing (AREA)
- Facsimile Transmission Control (AREA)
Abstract
本发明公开了一种高容量密文域图像可逆数据隐藏方法,其包括二值位置图生成、图像加密、密文域图像可逆数据隐藏、隐秘信息提取和原始图像无损恢复;第一部分,利用相邻像素预测当前像素值,再根据预测值的差异,将图像中的所有像素点区分为预测错误和预测准确两类,并用二值位置图进行标记;第二部分,利用加密密钥生成的二值伪随机序列对灰度图像加密;第三部分,利用数据隐藏密钥生成的二值伪随机序列对隐秘信息加密,再根据二值位置图,对密文域图像中标记为预测准确的像素点进行三层MSB替换以完成数据嵌入;第四部分,利用加密密钥可无损恢复原始图像,利用数隐藏密钥可准确提取隐秘信息;优点是在密文域图像的三层MSB位嵌入信息,嵌入容量高。
Description
技术领域
本发明涉及一种密文域数据隐藏技术,尤其是涉及一种高容量密文域图像可逆数据隐藏方法。
背景技术
随着移动互联网的发展和智能终端的普及,数字图像呈***式增长。云计算为海量数字图像的存储和处理提供了有效的解决方案。然而,云计算环境本身的结构特点也给隐私安全带来了较大隐患,攻击者有可能绕过云平台的认证机制,通过直接访问下层文件或原始数据的方式获取到用户的数据。确保数字图像隐私安全的最佳方法之一就是对其进行加密处理。用户在上传敏感内容之前首先进行加密,云端所有的处理和计算都在密文域进行,并将处理结果提供给使用者,使用者经过解密方可得到明文数据。
但是,加密后的数字图像丧失了原有特性,云端海量密文图像的有效管理成了亟待解决的问题。一种有效解决方式是云服务管理者在加密图像中嵌入一些附加消息,如标注或认证数据、作品来源信息、所有者身份信息等,用于管理和认证加密数据。此外,在一些重要的应用场景,如医学诊断、法庭认证、军事图像、遥感图像和指纹图像等敏感领域,不仅需要能够提取嵌入的附加消息,还要求无失真地恢复原始图像。密文域可逆数据隐藏在此背景下应运而生,现有的密文域可逆数据隐藏技术可分为三类:第一类是对图像进行加密后寻找数据嵌入空间,这类方法普遍嵌入容量较低,且会发生数据提取出错;第二类是图像加密前预留数据嵌入空间,这类方法嵌入容量大且失真低,但缺点是图像加密者和数据嵌入者之间需要复杂的协议;第三类是利用同态加密实现密文域图像可逆数据隐藏,但是同态加密易造成密文数据膨胀。
发明内容
本发明所要解决的技术问题是提供一种基于三层MSB(Most Significant Bit)预测的高容量密文域图像可逆数据隐藏方法,其能够在密文域图像中进行隐秘信息嵌入,且嵌入容量大,在接收端有加密密钥时能够直接解密获得原始图像,在接收端有数据隐藏密钥时能够直接提取出隐秘信息,在接收端既有加密密钥也有数据隐藏密钥时能够提取出隐秘信息且可无失真地恢复出原始图像。
本发明解决上述技术问题所采用的技术方案为:一种高容量密文域图像可逆数据隐藏方法,其特征在于包括二值位置图生成、图像加密、密文域图像可逆数据隐藏、隐秘信息提取和原始图像无损恢复四部分;
在二值位置图生成部分中,利用原始灰度图像中的每个像素点的相邻像素点的像素值计算该像素点的预测像素值;再通过比较原始灰度图像中的每个像素点的像素值、高位翻转后的翻转值和预测像素值之间的差异,将原始灰度图像中的所有像素点分为预测错误的像素点和预测准确的像素点两类,并引入二值位置图进行标记;
在图像加密部分中,利用加密密钥生成的第一二值伪随机序列对原始灰度图像中的每个像素点进行加密,得到密文域图像;
在密文域图像可逆数据隐藏部分中,先利用数据隐藏密钥生成的第二二值伪随机序列对待嵌入的隐秘信息进行加密,得到加密隐秘信息;然后根据二值位置图对密文域图像中与标记为预测准确的像素点对应的像素值进行数据嵌入操作,得到含隐秘信息的密文域图像;
在隐秘信息提取和原始图像无损恢复部分中,分三种情况:
第一种情况为接收端仅有加密密钥,先利用加密密钥生成的第三二值伪随机序列对含隐秘信息的密文域图像中的每个像素点进行解密,得到解密域图像;再利用解密域图像中的已解密的相邻像素点的像素值,计算解密域图像中的每个与标记为预测准确的像素点对应的预测像素值;并根据解密域图像中的与标记为预测准确的像素点对应的像素值和预测像素值,获得原始灰度图像中对应像素点的像素值;
第二种情况为接收端仅有数据隐藏密钥,先从含隐秘信息的密文域图像中与标记为预测准确的像素点对应的像素值中提取出三位嵌入信息,得到隐秘信息;然后利用数据隐藏密钥生成的第四二值伪随机序列对提取的隐秘信息进行解密,得到解密隐秘信息,即得到原始隐秘信息;
第三种情况为接收端既有加密密钥也有数据隐藏密钥,首先,按照第二种情况的过程,以相同的方式提取得到解密隐秘信息即原始隐秘信息;其次,按照第一种情况的过程,以相同的方式无失真地恢复出原始灰度图像。
所述的二值位置图生成部分的具体步骤为:
步骤1_1:设定原始灰度图像的大小为H×W;然后将原始灰度图像中的所有像素点的像素值分成四个集合,分别记为XI、XII、XIII和XIV,XI={x1,1},XII={x1,2,x1,3,...,x1,W},XIII={x2,1,x3,1,...,xH,1},XIV={xi,j|i=2,3,...,H,j=2,3,...,W};其中,x1,1表示原始灰度图像中坐标位置为(1,1)的像素点的像素值,x1,2,x1,3,...,x1,W对应表示原始灰度图像中坐标位置为(1,2)、(1,3)、…、(1,W)的像素点的像素值,x2,1,x3,1,...,xH,1对应表示原始灰度图像中坐标位置为(2,1)、(3,1)、…、(H,1)的像素点的像素值,xi,j表示原始灰度图像中坐标位置为(i,j)的像素点的像素值,xu,v∈[0,255],xu,v表示原始灰度图像中坐标位置为(u,v)的像素点的像素值,1≤u≤H,1≤v≤W;
步骤1_2:将原始灰度图像中的每个像素点的像素值用8个比特位表示,将xu,v的8个比特位表示的第k个比特位记为bu,v(k),然后对原始灰度图像中的每个像素点的像素值的8个比特位表示中的最高三个比特位执行不同的翻转操作,得到原始灰度图像中的每个像素点的像素值对应的7个不同的翻转值,将xu,v对应的7个不同的翻转值对应记为 其中,k=0,1,...,7,符号为向下取整运算符号,mod表示求模操作,bu,v(7)表示xu,v的8个比特位表示的第7个比特位,bu,v(6)表示xu,v的8个比特位表示的第6个比特位,bu,v(5)表示xu,v的8个比特位表示的第5个比特位,b′u,v(7)表示bu,v(7)的翻转值,若bu,v(7)=1则令b′u,v(7)=0,若bu,v(7)=0则令b′u,v(7)=1,b′u,v(6)表示bu,v(6)的翻转值,若bu,v(6)=1则令b′u,v(6)=0,若bu,v(6)=0则令b′u,v(6)=1,b′u,v(5)表示bu,v(5)的翻转值,若bu,v(5)=1则令b′u,v(5)=0,若bu,v(5)=0则令b′u,v(5)=1;
步骤1_3:计算原始灰度图像中的每个像素点的预测像素值,将原始灰度图像中坐标位置为(u,v)的像素点的预测像素值记为 然后计算原始灰度图像中的每个像素点的像素值与预测像素值之间的差值,将xu,v与之间的差值记为Δor,再计算原始灰度图像中的每个像素点的预测像素值与对应的各个不同的翻转值之间的差值,将与xu,v对应的第p个翻转值之间的差值记为 其中,xu,v-1表示原始灰度图像中坐标位置为(u,v-1)的像素点的像素值,xu-1,v表示原始灰度图像中坐标位置为(u-1,v)的像素点的像素值,xu-1,v-1表示原始灰度图像中坐标位置为(u-1,v-1)的像素点的像素值,ω1、ω2、ω3均为加权系数,ω1+ω2+ω3=1,符号“| |”为取绝对值符号,p=1,2,...,7;
步骤1_4:判定原始灰度图像中的每个像素点是否存在预测错误,并引入一幅二值位置图记录下存在预测错误的像素点的坐标位置,对于原始灰度图像中坐标位置为(u,v)的像素点,若则判定原始灰度图像中坐标位置为(u,v)的像素点存在预测错误,并将二值位置图中坐标位置为(u,v)的值标记为1;若则判定原始灰度图像中坐标位置为(u,v)的像素点不存在预测错误即预测准确,并将二值位置图中坐标位置为(u,v)的值标记为0;直至原始灰度图像中的所有像素点处理完毕,完成了二值位置图的生成;其中,二值位置图的大小为H×W,min( )为取最小值函数,表示与xu,v对应的第1个翻转值之间的差值,表示与xu,v对应的第2个翻转值之间的差值,表示与xu,v对应的第3个翻转值之间的差值,表示与xu,v对应的第4个翻转值之间的差值,表示与xu,v对应的第5个翻转值之间的差值,表示与xu,v对应的第6个翻转值之间的差值,表示与xu,v对应的第7个翻转值之间的差值。
所述的图像加密部分的具体步骤为:
步骤2_1:利用加密密钥生成一个第一二值伪随机序列;其中,第一二值伪随机序列的长度为大于或等于H×W×8;
步骤2_2:将原始灰度图像中当前待处理的像素点定义为当前像素点;其中,原始灰度图像的大小为H×W;
步骤2_3:设定当前像素点为原始灰度图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为xu,v;然后将xu,v用8个比特位表示,将xu,v的8个比特位表示的第k个比特位记为bu,v(k),其中,1≤u≤H,1≤v≤W,xu,v∈[0,255],k=0,1,...,7,符号为向下取整运算符号,mod表示求模操作;
步骤2_4:从第一二值伪随机序列中取出第q位至第q+7位信息;然后利用从第一二值伪随机序列中取出的8位信息对xu,v的8个比特位进行按位异或加密,得到加密像素值,记为其中,q的初始值为1,1≤q≤H×W×8-7;
步骤2_5:令q=q+8;然后将原始灰度图像中下一个待处理的像素点作为当前像素点,再返回步骤2_3继续执行,直至原始灰度图像中的所有像素点加密完毕,得到密文域图像;其中,q=q+8中的“=”为赋值符号。
所述的密文域图像可逆数据隐藏部分的具体步骤为:
步骤3_1:利用数据隐藏密钥生成一个第二二值伪随机序列;然后利用第二二值伪随机序列中的每位信息对待嵌入的隐秘信息中的每位信息进行按位异或加密,得到加密隐秘信息;其中,第二二值伪随机序列的长度与待嵌入的隐秘信息的长度一致,待嵌入的隐秘信息的长度等于Q,Q≥1;
步骤3_2:将密文域图像中当前待处理的像素点定义为当前像素点;从加密隐秘信息中取出第g位至第g+2位信息,并定义为当前嵌入信息;其中,g的初始值为1,1≤g≤Q-2;
步骤3_3:设定当前像素点为密文域图像中坐标位置为(u,v)的像素点;然后根据二值位置图中坐标位置为(u,v)的值确定是否对当前像素点进行数据嵌入操作,若二值位置图中坐标位置为(u,v)的值为0,则利用当前嵌入信息对当前像素点的三层MSB进行替换以完成数据嵌入,将当前像素点经数据嵌入后得到的像素值记为 接着令g=g+3,再执行步骤3_4;若二值位置图中坐标位置为(u,v)的值为1,则不对当前像素点进行数据嵌入操作,再执行步骤3_4;其中,1≤u≤H,1≤v≤W,原始灰度图像的大小为H×W,G(g)表示加密隐秘信息中的第g位信息,G(g+1)表示加密隐秘信息中的第g+1位信息,G(g+2)表示加密隐秘信息中的第g+2位信息,表示当前像素点的8个比特位的第k个比特位,的值为利用从第一二值伪随机序列中取出的8位信息中的第k位信息对bu,v(k)进行按位异或得到,g=g+3中的“=”为赋值符号;
步骤3_4:将密文域图像中下一个待处理的像素点作为当前像素点,将加密隐秘信息中取出的第g位至第g+2位信息作为当前嵌入信息,然后返回步骤3_3继续执行,直至密文域图像中的所有像素点处理完毕,得到含隐秘信息的密文域图像。
所述的隐秘信息提取和原始图像无损恢复部分分三种情况:
第一种情况为接收端仅有加密密钥,具体步骤为:
步骤4A_1:利用加密密钥生成一个第三二值伪随机序列;其中,第三二值伪随机序列与第一二值伪随机序列相同;
步骤4A_2:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点;
步骤4A_3:设定当前像素点为含隐秘信息的密文域图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为然后将用8个比特位表示,将的8个比特位表示的第k个比特位记为 其中,1≤u≤H,1≤v≤W,原始灰度图像的大小为H×W,k=0,1,...,7,符号为向下取整运算符号,mod表示求模操作;
步骤4A_4:从第三二值伪随机序列中取出第q位至第q+7位信息;然后利用从第三二值伪随机序列中取出的8位信息对的8个比特位进行按位异或解密,得到解密像素值,记为其中,q的初始值为1,1≤q≤H×W×8-7,
步骤4A_5:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4A_3继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,得到解密域图像;
步骤4A_6:将解密域图像中的所有像素点的像素值分成四个集合,分别记为 和 其中,表示解密域图像中坐标位置为(1,1)的像素点的像素值,对应表示解密域图像中坐标位置为(1,2)、(1,3)、…、(1,W)的像素点的像素值,对应表示解密域图像中坐标位置为(2,1)、(3,1)、…、(H,1)的像素点的像素值,表示解密域图像中坐标位置为(i,j)的像素点的像素值;
步骤4A_7:计算解密域图像中的每个像素点的预测像素值,将解密域图像中坐标位置为(u,v)的像素点的预测像素值记为 其中,表示解密域图像中坐标位置为(u,v-1)的像素点的像素值,表示解密域图像中坐标位置为(u-1,v)的像素点的像素值,表示解密域图像中坐标位置为(u-1,v-1)的像素点的像素值,ω1、ω2、ω3均为加权系数,ω1+ω2+ω3=1;
第二种情况为接收端仅有数据隐藏密钥,具体步骤为:
步骤4B_1:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点;
步骤4B_2:设定当前像素点为含隐秘信息的密文域图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为然后根据二值位置图中坐标位置为(u,v)的值确定是否对当前像素点进行数据提取操作,若二值位置图中坐标位置为(u,v)的值为0,则对当前像素点进行数据提取操作,将从当前像素点中提取出的第g位信息、第g+1位信息和第g+2位信息对应记为G*(g)、G*(g+1)、G*(g+2), 接着令g=g+3,再执行步骤4B_3;若二值位置图中坐标位置为(u,v)的值为1,则对当前像素点不进行数据提取操作,再执行步骤4B_3;其中,1≤u≤H,1≤v≤W,原始灰度图像的大小为H×W,g的初始值为1,符号为向下取整运算符号,mod表示求模操作,g=g+3中的“=”为赋值符号;
步骤4B_3:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4B_2继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,提取得到隐秘信息;
步骤4B_4:利用数据隐藏密钥生成一个第四二值伪随机序列;然后利用第四二值伪随机序列中的每位信息对提取的隐秘信息中的每位信息进行按位异或解密,得到解密隐秘信息,即得到原始隐秘信息;其中,第四二值伪随机序列与第二二值伪随机序列相同;
第三种情况为接收端既有加密密钥也有数据隐藏密钥,具体步骤为:
步骤4C_1:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点;
步骤4C_2:设定当前像素点为含隐秘信息的密文域图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为然后根据二值位置图中坐标位置为(u,v)的值确定是否对当前像素点进行数据提取操作,若二值位置图中坐标位置为(u,v)的值为0,则对当前像素点进行数据提取操作,将从当前像素点中提取出的第g位信息、第g+1位信息和第g+2位信息对应记为G*(g)、G*(g+1)、G*(g+2), 接着令g=g+3,再执行步骤4C_3;若二值位置图中坐标位置为(u,v)的值为1,则对当前像素点不进行数据提取操作,再执行步骤4C_3;其中,1≤u≤H,1≤v≤W,原始灰度图像的大小为H×W,g的初始值为1,符号为向下取整运算符号,mod表示求模操作,g=g+3中的“=”为赋值符号;
步骤4C_3:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4C_2继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,提取得到隐秘信息;
步骤4C_4:利用数据隐藏密钥生成一个第四二值伪随机序列;然后利用第四二值伪随机序列中的每位信息对提取的隐秘信息中的每位信息进行按位异或解密,得到解密隐秘信息,即得到原始隐秘信息;其中,第四二值伪随机序列与第二二值伪随机序列相同;
步骤4C_5:利用加密密钥生成一个第三二值伪随机序列;其中,第三二值伪随机序列与第一二值伪随机序列相同;
步骤4C_6:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点;
步骤4C_7:设定当前像素点为含隐秘信息的密文域图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为然后将用8个比特位表示,将的8个比特位表示的第k个比特位记为 其中,1≤u≤H,1≤v≤W,原始灰度图像的大小为H×W,k=0,1,...,7,符号为向下取整运算符号,mod表示求模操作;
步骤4C_8:从第三二值伪随机序列中取出第q位至第q+7位信息;然后利用从第三二值伪随机序列中取出的8位信息对的8个比特位进行按位异或解密,得到解密像素值,记为其中,q的初始值为1,1≤q≤H×W×8-7,
步骤4C_9:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4C_7继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,得到解密域图像;
步骤4C_10:将解密域图像中的所有像素点的像素值分成四个集合,分别记为 和 其中,表示解密域图像中坐标位置为(1,1)的像素点的像素值,对应表示解密域图像中坐标位置为(1,2)、(1,3)、…、(1,W)的像素点的像素值,对应表示解密域图像中坐标位置为(2,1)、(3,1)、…、(H,1)的像素点的像素值,表示解密域图像中坐标位置为(i,j)的像素点的像素值;
步骤4C_11:计算解密域图像中的每个像素点的预测像素值,将解密域图像中坐标位置为(u,v)的像素点的预测像素值记为 其中,表示解密域图像中坐标位置为(u,v-1)的像素点的像素值,表示解密域图像中坐标位置为(u-1,v)的像素点的像素值,表示解密域图像中坐标位置为(u-1,v-1)的像素点的像素值,ω1、ω2、ω3均为加权系数,ω1+ω2+ω3=1;
与现有技术相比,本发明的优点在于:
1)本发明方法中的图像加密部分仅需执行异或操作,运算速度快;此外,数据隐藏者根据二值位置图可以直接在密文域图像中嵌入隐秘信息,可以有效防止原始图像中敏感信息被数据隐藏者等第三方泄露。
2)本发明方法利用相邻像素点之间的相关性对MSB进行预测,在预测准确的像素值的最高三位二进制比特位中嵌入3位信息,嵌入容量大。
3)本发明方法中,如果接收端有数据隐藏密钥,则可直接在含隐秘信息的密文域图像中提取出隐秘信息;如果接收端有加密密钥,则可解密含隐秘信息的密文域图像并无失真地恢复出原始灰度图像;如果接收端既有加密密钥也有数据隐藏密钥,则能够提取出隐秘信息且可无失真地恢复出原始图像。
附图说明
图1为本发明方法的总体实现框图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明提出的一种高容量密文域图像可逆数据隐藏方法,其总体实现框图如图1所示,其包括二值位置图生成、图像加密、密文域图像可逆数据隐藏、隐秘信息提取和原始图像无损恢复四部分。
在二值位置图生成部分中,利用原始灰度图像中的每个像素点的相邻像素点的像素值计算该像素点的预测像素值;再通过比较原始灰度图像中的每个像素点的像素值、高位翻转后的翻转值和预测像素值之间的差异,将原始灰度图像中的所有像素点分为预测错误的像素点和预测准确的像素点两类,并引入二值位置图进行标记。
在图像加密部分中,利用加密密钥生成的第一二值伪随机序列对原始灰度图像中的每个像素点进行加密,得到密文域图像。
在密文域图像可逆数据隐藏部分中,先利用数据隐藏密钥生成的第二二值伪随机序列对待嵌入的隐秘信息进行加密,得到加密隐秘信息;然后根据二值位置图对密文域图像中与标记为预测准确的像素点对应的像素值进行数据嵌入操作,得到含隐秘信息的密文域图像。
在隐秘信息提取和原始图像无损恢复部分中,分三种情况:
第一种情况为接收端仅有加密密钥,先利用加密密钥生成的第三二值伪随机序列对含隐秘信息的密文域图像中的每个像素点进行解密,得到解密域图像;再利用解密域图像中的已解密的相邻像素点的像素值,计算解密域图像中的每个与标记为预测准确的像素点对应的预测像素值;并根据解密域图像中的与标记为预测准确的像素点对应的像素值和预测像素值,获得原始灰度图像中对应像素点的像素值。
第二种情况为接收端仅有数据隐藏密钥,先从含隐秘信息的密文域图像中与标记为预测准确的像素点对应的像素值中提取出三位嵌入信息,得到隐秘信息;然后利用数据隐藏密钥生成的第四二值伪随机序列对提取的隐秘信息进行解密,得到解密隐秘信息,即得到原始隐秘信息。
第三种情况为接收端既有加密密钥也有数据隐藏密钥,首先,按照第二种情况的过程,以相同的方式提取得到解密隐秘信息即原始隐秘信息;其次,按照第一种情况的过程,以相同的方式无失真地恢复出原始灰度图像。
在本实施例中,二值位置图生成部分的具体步骤为:
步骤1_1:设定原始灰度图像的大小为H×W;然后将原始灰度图像中的所有像素点的像素值分成四个集合,分别记为XI、XII、XIII和XIV,XI={x1,1},XII={x1,2,x1,3,...,x1,W},XIII={x2,1,x3,1,...,xH,1},XIV={xi,j|i=2,3,...,H,j=2,3,...,W};其中,x1,1表示原始灰度图像中坐标位置为(1,1)的像素点的像素值,x1,2,x1,3,...,x1,W对应表示原始灰度图像中坐标位置为(1,2)、(1,3)、…、(1,W)的像素点的像素值,x2,1,x3,1,...,xH,1对应表示原始灰度图像中坐标位置为(2,1)、(3,1)、…、(H,1)的像素点的像素值,xi,j表示原始灰度图像中坐标位置为(i,j)的像素点的像素值,xu,v∈[0,255],xu,v表示原始灰度图像中坐标位置为(u,v)的像素点的像素值,1≤u≤H,1≤v≤W。
步骤1_2:将原始灰度图像中的每个像素点的像素值用8个比特位表示,将xu,v的8个比特位表示的第k个比特位记为bu,v(k),然后对原始灰度图像中的每个像素点的像素值的8个比特位表示中的最高三个比特位执行不同的翻转操作,得到原始灰度图像中的每个像素点的像素值对应的7个不同的翻转值,将xu,v对应的7个不同的翻转值对应记为 其中,k=0,1,...,7,符号为向下取整运算符号,mod表示求模操作,bu,v(7)表示xu,v的8个比特位表示的第7个比特位,bu,v(6)表示xu,v的8个比特位表示的第6个比特位,bu,v(5)表示xu,v的8个比特位表示的第5个比特位,b′u,v(7)表示bu,v(7)的翻转值,若bu,v(7)=1则令b′u,v(7)=0,若bu,v(7)=0则令b′u,v(7)=1,b′u,v(6)表示bu,v(6)的翻转值,若bu,v(6)=1则令b′u,v(6)=0,若bu,v(6)=0则令b′u,v(6)=1,b′u,v(5)表示bu,v(5)的翻转值,若bu,v(5)=1则令b′u,v(5)=0,若bu,v(5)=0则令b′u,v(5)=1。
步骤1_3:计算原始灰度图像中的每个像素点的预测像素值,将原始灰度图像中坐标位置为(u,v)的像素点的预测像素值记为 XI中的像素值在数据嵌入阶段将保持不变,XII、XIII和XIV中的像素值均由其相邻像素值预测得到一个预测像素值;然后计算原始灰度图像中的每个像素点的像素值与预测像素值之间的差值,将xu,v与之间的差值记为Δor,再计算原始灰度图像中的每个像素点的预测像素值与对应的各个不同的翻转值之间的差值,将与xu,v对应的第p个翻转值之间的差值记为 其中,xu,v-1表示原始灰度图像中坐标位置为(u,v-1)的像素点的像素值,xu-1,v表示原始灰度图像中坐标位置为(u-1,v)的像素点的像素值,xu-1,v-1表示原始灰度图像中坐标位置为(u-1,v-1)的像素点的像素值,ω1、ω2、ω3均为加权系数,ω1+ω2+ω3=1,在本实施例中取ω1=0.2、ω2=0.4、ω3=0.4,符号“| |”为取绝对值符号,p=1,2,...,7。
步骤1_4:判定原始灰度图像中的每个像素点是否存在预测错误,并引入一幅二值位置图记录下存在预测错误的像素点的坐标位置,对于原始灰度图像中坐标位置为(u,v)的像素点,若则判定原始灰度图像中坐标位置为(u,v)的像素点存在预测错误,并将二值位置图中坐标位置为(u,v)的值标记为1;若则判定原始灰度图像中坐标位置为(u,v)的像素点不存在预测错误即预测准确,并将二值位置图中坐标位置为(u,v)的值标记为0;直至原始灰度图像中的所有像素点处理完毕,完成了二值位置图的生成;其中,二值位置图的大小为H×W,引入二值位置图是为了确保原始灰度图像能无损地被恢复,min( )为取最小值函数,表示与xu,v对应的第1个翻转值之间的差值,表示与xu,v对应的第2个翻转值之间的差值,表示与xu,v对应的第3个翻转值之间的差值,表示与xu,v对应的第4个翻转值之间的差值,表示与xu,v对应的第5个翻转值之间的差值,表示与xu,v对应的第6个翻转值之间的差值,表示与xu,v对应的第7个翻转值之间的差值。
在本实施例中,图像加密部分的具体步骤为:
步骤2_1:利用加密密钥生成一个第一二值伪随机序列;其中,第一二值伪随机序列的长度为大于或等于H×W×8;在此,加密密钥可以自行设定,可以是文本,也可以是数值等。
步骤2_2:将原始灰度图像中当前待处理的像素点定义为当前像素点;其中,原始灰度图像的大小为H×W。
步骤2_3:设定当前像素点为原始灰度图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为xu,v;然后将xu,v用8个比特位表示,将xu,v的8个比特位表示的第k个比特位记为bu,v(k),其中,1≤u≤H,1≤v≤W,xu,v∈[0,255],k=0,1,…,7,符号为向下取整运算符号,mod表示求模操作。
步骤2_4:从第一二值伪随机序列中取出第q位至第q+7位信息;然后利用从第一二值伪随机序列中取出的8位信息对xu,v的8个比特位进行按位异或加密,得到加密像素值,记为 其中,q的初始值为1,1≤q≤H×W×8-7,为的第k个比特位,的值为利用从第一二值伪随机序列中取出的8位信息中的第k位信息对bu,v(k)进行按位异或得到。
步骤2_5:令q=q+8;然后将原始灰度图像中下一个待处理的像素点作为当前像素点,再返回步骤2_3继续执行,直至原始灰度图像中的所有像素点加密完毕,得到密文域图像;其中,q=q+8中的“=”为赋值符号。
在本实施例中,密文域图像可逆数据隐藏部分的具体步骤为:
步骤3_1:利用数据隐藏密钥生成一个第二二值伪随机序列;然后利用第二二值伪随机序列中的每位信息对待嵌入的隐秘信息中的每位信息进行按位异或加密,得到加密隐秘信息;其中,第二二值伪随机序列的长度与待嵌入的隐秘信息的长度一致,待嵌入的隐秘信息的长度等于Q,Q≥1;在此,数据隐藏密钥可以自行设定,可以是文本,也可以是数值等。
步骤3_2:将密文域图像中当前待处理的像素点定义为当前像素点;从加密隐秘信息中取出第g位至第g+2位信息,并定义为当前嵌入信息;其中,g的初始值为1,1≤g≤Q-2。
步骤3_3:设定当前像素点为密文域图像中坐标位置为(u,v)的像素点;然后根据二值位置图中坐标位置为(u,v)的值确定是否对当前像素点进行数据嵌入操作,若二值位置图中坐标位置为(u,v)的值为0,则利用当前嵌入信息对当前像素点的三层MSB进行替换以完成数据嵌入,将当前像素点经数据嵌入后得到的像素值记为 接着令g=g+3,再执行步骤3_4;若二值位置图中坐标位置为(u,v)的值为1,则不对当前像素点进行数据嵌入操作,再执行步骤3_4;其中,1≤u≤H,1≤v≤W,原始灰度图像的大小为H×W,G(g)表示加密隐秘信息中的第g位信息,G(g+1)表示加密隐秘信息中的第g+1位信息,G(g+2)表示加密隐秘信息中的第g+2位信息,表示当前像素点的8个比特位的第k个比特位,的值为利用从第一二值伪随机序列中取出的8位信息中的第k位信息对bu,v(k)进行按位异或得到,g=g+3中的“=”为赋值符号。
步骤3_4:将密文域图像中下一个待处理的像素点作为当前像素点,将加密隐秘信息中取出的第g位至第g+2位信息作为当前嵌入信息,然后返回步骤3_3继续执行,直至密文域图像中的所有像素点处理完毕,得到含隐秘信息的密文域图像。
在本实施例中,隐秘信息提取和原始图像无损恢复部分分三种情况:
第一种情况为接收端仅有加密密钥,具体步骤为:
步骤4A_1:利用加密密钥生成一个第三二值伪随机序列;其中,第三二值伪随机序列与第一二值伪随机序列相同。
步骤4A_2:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点。
步骤4A_3:设定当前像素点为含隐秘信息的密文域图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为然后将用8个比特位表示,将的8个比特位表示的第k个比特位记为 其中,1≤u≤H,1≤v≤W,原始灰度图像的大小为H×W,k=0,1,...,7,符号为向下取整运算符号,mod表示求模操作。
步骤4A_4:从第三二值伪随机序列中取出第q位至第q+7位信息;然后利用从第三二值伪随机序列中取出的8位信息对的8个比特位进行按位异或解密,得到解密像素值,记为 其中,q的初始值为1,1≤q≤H×W×8-7, 为的第k个比特位,的值为利用从第三二值伪随机序列中取出的8位信息中的第k位信息对进行按位异或得到。
步骤4A_5:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4A_3继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,得到解密域图像。
步骤4A_6:将解密域图像中的所有像素点的像素值分成四个集合,分别记为 和 其中,表示解密域图像中坐标位置为(1,1)的像素点的像素值,对应表示解密域图像中坐标位置为(1,2)、(1,3)、…、(1,W)的像素点的像素值,对应表示解密域图像中坐标位置为(2,1)、(3,1)、…、(H,1)的像素点的像素值,表示解密域图像中坐标位置为(i,j)的像素点的像素值。
步骤4A_7:计算解密域图像中的每个像素点的预测像素值,将解密域图像中坐标位置为(u,v)的像素点的预测像素值记为 其中,表示解密域图像中坐标位置为(u,v-1)的像素点的像素值,表示解密域图像中坐标位置为(u-1,v)的像素点的像素值,表示解密域图像中坐标位置为(u-1,v-1)的像素点的像素值,ω1、ω2、ω3均为加权系数,ω1+ω2+ω3=1,在本实施例中取ω1=0.2、ω2=0.4、ω3=0.4。
步骤4A_8:计算解密域图像中的每个像素点的预测像素值对应的8个差值,将对应的第p个差值记为 其中,p=1,2,...,7,符号“| |”为取绝对值符号,为了准确恢复在数据嵌入过程中修改的MSB值,令 均为引用的中间变量。
第二种情况为接收端仅有数据隐藏密钥,具体步骤为:
步骤4B_1:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点。
步骤4B_2:设定当前像素点为含隐秘信息的密文域图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为然后根据二值位置图中坐标位置为(u,v)的值确定是否对当前像素点进行数据提取操作,若二值位置图中坐标位置为(u,v)的值为0,则对当前像素点进行数据提取操作,将从当前像素点中提取出的第g位信息、第g+1位信息和第g+2位信息对应记为G*(g)、G*(g+1)、G*(g+2), 接着令g=g+3,再执行步骤4B_3;若二值位置图中坐标位置为(u,v)的值为1,则对当前像素点不进行数据提取操作,再执行步骤4B_3;其中,1≤u≤H,1≤v≤W,原始灰度图像的大小为H×W,g的初始值为1,符号为向下取整运算符号,mod表示求模操作,g=g+3中的“=”为赋值符号。
步骤4B_3:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4B_2继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,提取得到隐秘信息。
步骤4B_4:利用数据隐藏密钥生成一个第四二值伪随机序列;然后利用第四二值伪随机序列中的每位信息对提取的隐秘信息中的每位信息进行按位异或解密,得到解密隐秘信息,即得到原始隐秘信息;其中,第四二值伪随机序列与第二二值伪随机序列相同。
第三种情况为接收端既有加密密钥也有数据隐藏密钥,具体步骤为:
步骤4C_1:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点。
步骤4C_2:设定当前像素点为含隐秘信息的密文域图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为然后根据二值位置图中坐标位置为(u,v)的值确定是否对当前像素点进行数据提取操作,若二值位置图中坐标位置为(u,v)的值为0,则对当前像素点进行数据提取操作,将从当前像素点中提取出的第g位信息、第g+1位信息和第g+2位信息对应记为G*(g)、G*(g+1)、G*(g+2), 接着令g=g+3,再执行步骤4C_3;若二值位置图中坐标位置为(u,v)的值为1,则对当前像素点不进行数据提取操作,再执行步骤4C_3;其中,1≤u≤H,1≤v≤W,原始灰度图像的大小为H×W,g的初始值为1,符号为向下取整运算符号,mod表示求模操作,g=g+3中的“=”为赋值符号。
步骤4C_3:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4C_2继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,提取得到隐秘信息。
步骤4C_4:利用数据隐藏密钥生成一个第四二值伪随机序列;然后利用第四二值伪随机序列中的每位信息对提取的隐秘信息中的每位信息进行按位异或解密,得到解密隐秘信息,即得到原始隐秘信息;其中,第四二值伪随机序列与第二二值伪随机序列相同。
步骤4C_5:利用加密密钥生成一个第三二值伪随机序列;其中,第三二值伪随机序列与第一二值伪随机序列相同。
步骤4C_6:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点。
步骤4C_7:设定当前像素点为含隐秘信息的密文域图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为然后将用8个比特位表示,将的8个比特位表示的第k个比特位记为 其中,1≤u≤H,1≤v≤W,原始灰度图像的大小为H×W,k=0,1,...,7,符号为向下取整运算符号,mod表示求模操作。
步骤4C_8:从第三二值伪随机序列中取出第q位至第q+7位信息;然后利用从第三二值伪随机序列中取出的8位信息对的8个比特位进行按位异或解密,得到解密像素值,记为 其中,q的初始值为1,1≤q≤H×W×8-7, 为的第k个比特位,的值为利用从第三二值伪随机序列中取出的8位信息中的第k位信息对进行按位异或得到。
步骤4C_9:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4C_7继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,得到解密域图像。
步骤4C_10:将解密域图像中的所有像素点的像素值分成四个集合,分别记为 和 其中,表示解密域图像中坐标位置为(1,1)的像素点的像素值,对应表示解密域图像中坐标位置为(1,2)、(1,3)、…、(1,W)的像素点的像素值,对应表示解密域图像中坐标位置为(2,1)、(3,1)、…、(H,1)的像素点的像素值,表示解密域图像中坐标位置为(i,j)的像素点的像素值。
步骤4C_11:计算解密域图像中的每个像素点的预测像素值,将解密域图像中坐标位置为(u,v)的像素点的预测像素值记为 其中,表示解密域图像中坐标位置为(u,v-1)的像素点的像素值,表示解密域图像中坐标位置为(u-1,v)的像素点的像素值,表示解密域图像中坐标位置为(u-1,v-1)的像素点的像素值,ω1、ω2、ω3均为加权系数,ω1+ω2+ω3=1,在本实施例中取ω1=0.2、ω2=0.4、ω3=0.4。
步骤4C_12:计算解密域图像中的每个像素点的预测像素值对应的8个差值,将对应的第p个差值记为 其中,p=1,2,...,7,符号“| |”为取绝对值符号,为了准确恢复在数据嵌入过程中修改的MSB值,令 均为引用的中间变量。
Claims (4)
1.一种高容量密文域图像可逆数据隐藏方法,其特征在于包括二值位置图生成、图像加密、密文域图像可逆数据隐藏、隐秘信息提取和原始图像无损恢复四部分;
在二值位置图生成部分中,利用原始灰度图像中的每个像素点的相邻像素点的像素值计算该像素点的预测像素值;再通过比较原始灰度图像中的每个像素点的像素值、高位翻转后的翻转值和预测像素值之间的差异,将原始灰度图像中的所有像素点分为预测错误的像素点和预测准确的像素点两类,并引入二值位置图进行标记;
在图像加密部分中,利用加密密钥生成的第一二值伪随机序列对原始灰度图像中的每个像素点进行加密,得到密文域图像;
在密文域图像可逆数据隐藏部分中,先利用数据隐藏密钥生成的第二二值伪随机序列对待嵌入的隐秘信息进行加密,得到加密隐秘信息;然后根据二值位置图对密文域图像中与标记为预测准确的像素点对应的像素值进行数据嵌入操作,得到含隐秘信息的密文域图像;
在隐秘信息提取和原始图像无损恢复部分中,分三种情况:
第一种情况为接收端仅有加密密钥,先利用加密密钥生成的第三二值伪随机序列对含隐秘信息的密文域图像中的每个像素点进行解密,得到解密域图像;再利用解密域图像中的已解密的相邻像素点的像素值,计算解密域图像中的每个与标记为预测准确的像素点对应的预测像素值;并根据解密域图像中的与标记为预测准确的像素点对应的像素值和预测像素值,获得原始灰度图像中对应像素点的像素值;
第二种情况为接收端仅有数据隐藏密钥,先从含隐秘信息的密文域图像中与标记为预测准确的像素点对应的像素值中提取出三位嵌入信息,得到隐秘信息;然后利用数据隐藏密钥生成的第四二值伪随机序列对提取的隐秘信息进行解密,得到解密隐秘信息,即得到原始隐秘信息;
第三种情况为接收端既有加密密钥也有数据隐藏密钥,首先,按照第二种情况的过程,以相同的方式提取得到解密隐秘信息即原始隐秘信息;其次,按照第一种情况的过程,以相同的方式无失真地恢复出原始灰度图像;
所述的二值位置图生成部分的具体步骤为:
步骤1_1:设定原始灰度图像的大小为H×W;然后将原始灰度图像中的所有像素点的像素值分成四个集合,分别记为XI、XII、XIII和XIV,XI={x1,1},XII={x1,2,x1,3,…,x1,W},XIII={x2,1,x3,1,…,xH,1},XIV={xi,j|i=2,3,...,H,j=2,3,...,W};其中,x1,1表示原始灰度图像中坐标位置为(1,1)的像素点的像素值,x1,2,x1,3,…,x1,W对应表示原始灰度图像中坐标位置为(1,2)、(1,3)、…、(1,W)的像素点的像素值,x2,1,x3,1,…,xH,1对应表示原始灰度图像中坐标位置为(2,1)、(3,1)、…、(H,1)的像素点的像素值,xi,j表示原始灰度图像中坐标位置为(i,j)的像素点的像素值,xu,v∈[0,255],xu,v表示原始灰度图像中坐标位置为(u,v)的像素点的像素值,1≤u≤H,1≤v≤W;
步骤1_2:将原始灰度图像中的每个像素点的像素值用8个比特位表示,将xu,v的8个比特位表示的第k个比特位记为bu,v(k),然后对原始灰度图像中的每个像素点的像素值的8个比特位表示中的最高三个比特位执行不同的翻转操作,得到原始灰度图像中的每个像素点的像素值对应的7个不同的翻转值,将xu,v对应的7个不同的翻转值对应记为 其中,k=0,1,…,7,符号为向下取整运算符号,mod表示求模操作,bu,v(7)表示xu,v的8个比特位表示的第7个比特位,bu,v(6)表示xu,v的8个比特位表示的第6个比特位,bu,v(5)表示xu,v的8个比特位表示的第5个比特位,b′u,v(7)表示bu,v(7)的翻转值,若bu,v(7)=1则令b′u,v(7)=0,若bu,v(7)=0则令b′u,v(7)=1,b′u,v(6)表示bu,v(6)的翻转值,若bu,v(6)=1则令b′u,v(6)=0,若bu,v(6)=0则令b′u,v(6)=1,b′u,v(5)表示bu,v(5)的翻转值,若bu,v(5)=1则令b′u,v(5)=0,若bu,v(5)=0则令b′u,v(5)=1;
步骤1_3:计算原始灰度图像中的每个像素点的预测像素值,将原始灰度图像中坐标位置为(u,v)的像素点的预测像素值记为 然后计算原始灰度图像中的每个像素点的像素值与预测像素值之间的差值,将xu,v与之间的差值记为Δor,再计算原始灰度图像中的每个像素点的预测像素值与对应的各个不同的翻转值之间的差值,将与xu,v对应的第p个翻转值之间的差值记为 其中,xu,v-1表示原始灰度图像中坐标位置为(u,v-1)的像素点的像素值,xu-1,v表示原始灰度图像中坐标位置为(u-1,v)的像素点的像素值,xu-1,v-1表示原始灰度图像中坐标位置为(u-1,v-1)的像素点的像素值,ω1、ω2、ω3均为加权系数,ω1+ω2+ω3=1,符号“||”为取绝对值符号,p=1,2,...,7;
步骤1_4:判定原始灰度图像中的每个像素点是否存在预测错误,并引入一幅二值位置图记录下存在预测错误的像素点的坐标位置,对于原始灰度图像中坐标位置为(u,v)的像素点,若则判定原始灰度图像中坐标位置为(u,v)的像素点存在预测错误,并将二值位置图中坐标位置为(u,v)的值标记为1;若则判定原始灰度图像中坐标位置为(u,v)的像素点不存在预测错误即预测准确,并将二值位置图中坐标位置为(u,v)的值标记为0;直至原始灰度图像中的所有像素点处理完毕,完成了二值位置图的生成;其中,二值位置图的大小为H×W,min()为取最小值函数,表示与xu,v对应的第1个翻转值之间的差值,表示与xu,v对应的第2个翻转值之间的差值,表示与xu,v对应的第3个翻转值之间的差值,表示与xu,v对应的第4个翻转值之间的差值,表示与xu,v对应的第5个翻转值之间的差值,表示与xu,v对应的第6个翻转值之间的差值,表示与xu,v对应的第7个翻转值之间的差值。
2.根据权利要求1所述的一种高容量密文域图像可逆数据隐藏方法,其特征在于所述的图像加密部分的具体步骤为:
步骤2_1:利用加密密钥生成一个第一二值伪随机序列;其中,第一二值伪随机序列的长度为大于或等于H×W×8;
步骤2_2:将原始灰度图像中当前待处理的像素点定义为当前像素点;其中,原始灰度图像的大小为H×W;
步骤2_3:设定当前像素点为原始灰度图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为xu,v;然后将xu,v用8个比特位表示,将xu,v的8个比特位表示的第k个比特位记为bu,v(k),其中,1≤u≤H,1≤v≤W,xu,v∈[0,255],k=0,1,…,7,符号为向下取整运算符号,mod表示求模操作;
步骤2_4:从第一二值伪随机序列中取出第q位至第q+7位信息;然后利用从第一二值伪随机序列中取出的8位信息对xu,v的8个比特位进行按位异或加密,得到加密像素值,记为其中,q的初始值为1,1≤q≤H×W×8-7;
步骤2_5:令q=q+8;然后将原始灰度图像中下一个待处理的像素点作为当前像素点,再返回步骤2_3继续执行,直至原始灰度图像中的所有像素点加密完毕,得到密文域图像;其中,q=q+8中的“=”为赋值符号。
3.根据权利要求2所述的一种高容量密文域图像可逆数据隐藏方法,其特征在于所述的密文域图像可逆数据隐藏部分的具体步骤为:
步骤3_1:利用数据隐藏密钥生成一个第二二值伪随机序列;然后利用第二二值伪随机序列中的每位信息对待嵌入的隐秘信息中的每位信息进行按位异或加密,得到加密隐秘信息;其中,第二二值伪随机序列的长度与待嵌入的隐秘信息的长度一致,待嵌入的隐秘信息的长度等于Q,Q≥1;
步骤3_2:将密文域图像中当前待处理的像素点定义为当前像素点;从加密隐秘信息中取出第g位至第g+2位信息,并定义为当前嵌入信息;其中,g的初始值为1,1≤g≤Q-2;
步骤3_3:设定当前像素点为密文域图像中坐标位置为(u,v)的像素点;然后根据二值位置图中坐标位置为(u,v)的值确定是否对当前像素点进行数据嵌入操作,若二值位置图中坐标位置为(u,v)的值为0,则利用当前嵌入信息对当前像素点的三层MSB进行替换以完成数据嵌入,将当前像素点经数据嵌入后得到的像素值记为 接着令g=g+3,再执行步骤3_4;若二值位置图中坐标位置为(u,v)的值为1,则不对当前像素点进行数据嵌入操作,再执行步骤3_4;其中,1≤u≤H,1≤v≤W,原始灰度图像的大小为H×W,G(g)表示加密隐秘信息中的第g位信息,G(g+1)表示加密隐秘信息中的第g+1位信息,G(g+2)表示加密隐秘信息中的第g+2位信息,表示当前像素点的8个比特位的第k个比特位,的值为利用从第一二值伪随机序列中取出的8位信息中的第k位信息对bu,v(k)进行按位异或得到,g=g+3中的“=”为赋值符号;
步骤3_4:将密文域图像中下一个待处理的像素点作为当前像素点,将加密隐秘信息中取出的第g位至第g+2位信息作为当前嵌入信息,然后返回步骤3_3继续执行,直至密文域图像中的所有像素点处理完毕,得到含隐秘信息的密文域图像。
4.根据权利要求3所述的一种高容量密文域图像可逆数据隐藏方法,其特征在于所述的隐秘信息提取和原始图像无损恢复部分分三种情况:
第一种情况为接收端仅有加密密钥,具体步骤为:
步骤4A_1:利用加密密钥生成一个第三二值伪随机序列;其中,第三二值伪随机序列与第一二值伪随机序列相同;
步骤4A_2:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点;
步骤4A_3:设定当前像素点为含隐秘信息的密文域图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为然后将用8个比特位表示,将的8个比特位表示的第k个比特位记为其中,1≤u≤H,1≤v≤W,原始灰度图像的大小为H×W,k=0,1,…,7,符号为向下取整运算符号,mod表示求模操作;
步骤4A_4:从第三二值伪随机序列中取出第q位至第q+7位信息;然后利用从第三二值伪随机序列中取出的8位信息对的8个比特位进行按位异或解密,得到解密像素值,记为其中,q的初始值为1,1≤q≤H×W×8-7,
步骤4A_5:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4A_3继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,得到解密域图像;
步骤4A_6:将解密域图像中的所有像素点的像素值分成四个集合,分别记为 和 其中,表示解密域图像中坐标位置为(1,1)的像素点的像素值,对应表示解密域图像中坐标位置为(1,2)、(1,3)、…、(1,W)的像素点的像素值,对应表示解密域图像中坐标位置为(2,1)、(3,1)、…、(H,1)的像素点的像素值,表示解密域图像中坐标位置为(i,j)的像素点的像素值;
步骤4A_7:计算解密域图像中的每个像素点的预测像素值,将解密域图像中坐标位置为(u,v)的像素点的预测像素值记为 其中,表示解密域图像中坐标位置为(u,v-1)的像素点的像素值,表示解密域图像中坐标位置为(u-1,v)的像素点的像素值,表示解密域图像中坐标位置为(u-1,v-1)的像素点的像素值,ω1、ω2、ω3均为加权系数,ω1+ω2+ω3=1;
第二种情况为接收端仅有数据隐藏密钥,具体步骤为:
步骤4B_1:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点;
步骤4B_2:设定当前像素点为含隐秘信息的密文域图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为然后根据二值位置图中坐标位置为(u,v)的值确定是否对当前像素点进行数据提取操作,若二值位置图中坐标位置为(u,v)的值为0,则对当前像素点进行数据提取操作,将从当前像素点中提取出的第g位信息、第g+1位信息和第g+2位信息对应记为G*(g)、G*(g+1)、G*(g+2), 接着令g=g+3,再执行步骤4B_3;若二值位置图中坐标位置为(u,v)的值为1,则对当前像素点不进行数据提取操作,再执行步骤4B_3;其中,1≤u≤H,1≤v≤W,原始灰度图像的大小为H×W,g的初始值为1,符号为向下取整运算符号,mod表示求模操作,g=g+3中的“=”为赋值符号;
步骤4B_3:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4B_2继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,提取得到隐秘信息;
步骤4B_4:利用数据隐藏密钥生成一个第四二值伪随机序列;然后利用第四二值伪随机序列中的每位信息对提取的隐秘信息中的每位信息进行按位异或解密,得到解密隐秘信息,即得到原始隐秘信息;其中,第四二值伪随机序列与第二二值伪随机序列相同;
第三种情况为接收端既有加密密钥也有数据隐藏密钥,具体步骤为:
步骤4C_1:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点;
步骤4C_2:设定当前像素点为含隐秘信息的密文域图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为然后根据二值位置图中坐标位置为(u,v)的值确定是否对当前像素点进行数据提取操作,若二值位置图中坐标位置为(u,v)的值为0,则对当前像素点进行数据提取操作,将从当前像素点中提取出的第g位信息、第g+1位信息和第g+2位信息对应记为G*(g)、G*(g+1)、G*(g+2), 接着令g=g+3,再执行步骤4C_3;若二值位置图中坐标位置为(u,v)的值为1,则对当前像素点不进行数据提取操作,再执行步骤4C_3;其中,1≤u≤H,1≤v≤W,原始灰度图像的大小为H×W,g的初始值为1,符号为向下取整运算符号,mod表示求模操作,g=g+3中的“=”为赋值符号;
步骤4C_3:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4C_2继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,提取得到隐秘信息;
步骤4C_4:利用数据隐藏密钥生成一个第四二值伪随机序列;然后利用第四二值伪随机序列中的每位信息对提取的隐秘信息中的每位信息进行按位异或解密,得到解密隐秘信息,即得到原始隐秘信息;其中,第四二值伪随机序列与第二二值伪随机序列相同;
步骤4C_5:利用加密密钥生成一个第三二值伪随机序列;其中,第三二值伪随机序列与第一二值伪随机序列相同;
步骤4C_6:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点;
步骤4C_7:设定当前像素点为含隐秘信息的密文域图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为然后将用8个比特位表示,将的8个比特位表示的第k个比特位记为其中,1≤u≤H,1≤v≤W,原始灰度图像的大小为H×W,k=0,1,…,7,符号为向下取整运算符号,mod表示求模操作;
步骤4C_8:从第三二值伪随机序列中取出第q位至第q+7位信息;然后利用从第三二值伪随机序列中取出的8位信息对的8个比特位进行按位异或解密,得到解密像素值,记为其中,q的初始值为1,1≤q≤H×W×8-7,
步骤4C_9:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4C_7继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,得到解密域图像;
步骤4C_10:将解密域图像中的所有像素点的像素值分成四个集合,分别记为 和 其中,表示解密域图像中坐标位置为(1,1)的像素点的像素值,对应表示解密域图像中坐标位置为(1,2)、(1,3)、…、(1,W)的像素点的像素值,对应表示解密域图像中坐标位置为(2,1)、(3,1)、…、(H,1)的像素点的像素值,表示解密域图像中坐标位置为(i,j)的像素点的像素值;
步骤4C_11:计算解密域图像中的每个像素点的预测像素值,将解密域图像中坐标位置为(u,v)的像素点的预测像素值记为 其中,表示解密域图像中坐标位置为(u,v-1)的像素点的像素值,表示解密域图像中坐标位置为(u-1,v)的像素点的像素值,表示解密域图像中坐标位置为(u-1,v-1)的像素点的像素值,ω1、ω2、ω3均为加权系数,ω1+ω2+ω3=1;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910911670.1A CN110753226B (zh) | 2019-09-25 | 2019-09-25 | 一种高容量密文域图像可逆数据隐藏方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910911670.1A CN110753226B (zh) | 2019-09-25 | 2019-09-25 | 一种高容量密文域图像可逆数据隐藏方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110753226A CN110753226A (zh) | 2020-02-04 |
CN110753226B true CN110753226B (zh) | 2023-03-14 |
Family
ID=69277048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910911670.1A Active CN110753226B (zh) | 2019-09-25 | 2019-09-25 | 一种高容量密文域图像可逆数据隐藏方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110753226B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111970507B (zh) * | 2020-08-26 | 2022-02-18 | 安徽大学 | 基于像素差值编码的密文域图像的可逆数据隐藏方法 |
CN112184841B (zh) * | 2020-09-27 | 2024-06-07 | 陕西师范大学 | 块替换生成式信息隐藏及恢复方法、设备及介质 |
CN112311954B (zh) * | 2020-10-29 | 2022-05-20 | 杭州电子科技大学 | 一种基于补码标记与位图嵌入的密文域可逆信息隐藏方法 |
CN112911290B (zh) * | 2021-01-29 | 2022-11-01 | 华侨大学 | 一种基于预测差值压缩编码的密文图像可逆数据隐藏方法 |
CN113114869B (zh) * | 2021-03-15 | 2023-02-28 | 宁波工程学院 | 基于msb预测的密文域高容量图像可逆数据隐藏方法 |
CN113382127B (zh) * | 2021-06-10 | 2023-06-20 | 绍兴聚量数据技术有限公司 | 一种弹性选择和游程编码的加密图像可逆信息隐藏方法 |
CN114760391B (zh) * | 2022-04-24 | 2023-07-25 | 安徽大学绿色产业创新研究院 | 一种基于双层嵌入的高嵌入率的可逆数据隐藏方法 |
CN115811577A (zh) * | 2022-12-09 | 2023-03-17 | 探长信息技术(苏州)有限公司 | 一种用于通信柜的视频远程监测*** |
CN116226891B (zh) * | 2023-05-08 | 2023-09-01 | 宁波财经学院 | 一种人脸图像数据加密方法 |
CN117676032B (zh) * | 2023-11-24 | 2024-06-04 | 广东技术师范大学 | 一种密文二值图像的多方可逆信息隐藏方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9319556B2 (en) * | 2011-08-31 | 2016-04-19 | Konica Minolta Laboratory U.S.A., Inc. | Method and apparatus for authenticating printed documents that contains both dark and halftone text |
US9639912B2 (en) * | 2014-12-30 | 2017-05-02 | University Of Macau | Method for reversible image data hiding |
CN108629728A (zh) * | 2018-05-06 | 2018-10-09 | 北京工业大学 | 一种高容量二值图像信息隐藏方法 |
CN109348230B (zh) * | 2018-11-14 | 2020-12-01 | 宁波工程学院 | 一种密文域高容量图像可逆数据隐藏方法 |
CN109803142B (zh) * | 2019-01-08 | 2021-04-13 | 宁波工程学院 | 一种基于邻域预测的加密域图像可逆数据隐藏方法 |
-
2019
- 2019-09-25 CN CN201910911670.1A patent/CN110753226B/zh active Active
Non-Patent Citations (1)
Title |
---|
邓敏.基于加密图像的高容量可逆信息隐藏算法研究.2018,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN110753226A (zh) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110753226B (zh) | 一种高容量密文域图像可逆数据隐藏方法 | |
Yi et al. | Separable and reversible data hiding in encrypted images using parametric binary tree labeling | |
Puteaux et al. | An efficient MSB prediction-based method for high-capacity reversible data hiding in encrypted images | |
CN109348230B (zh) | 一种密文域高容量图像可逆数据隐藏方法 | |
CN109803142B (zh) | 一种基于邻域预测的加密域图像可逆数据隐藏方法 | |
Chen et al. | Secret sharing based reversible data hiding in encrypted images with multiple data-hiders | |
Zhang | Reversible data hiding in encrypted image | |
CN113114869B (zh) | 基于msb预测的密文域高容量图像可逆数据隐藏方法 | |
CN107809644B (zh) | 一种双重加密的加密域图像可逆数据隐藏方法 | |
CN109800585B (zh) | 一种图像插值空间完全可逆可分离密文域信息隐藏算法 | |
CN109617682B (zh) | 一种基于直方图左右移位的密文域可逆信息隐藏方法 | |
Dragoi et al. | On the security of reversible data hiding in encrypted images by MSB prediction | |
Qian et al. | Block cipher based separable reversible data hiding in encrypted images | |
Yi et al. | Parametric reversible data hiding in encrypted images using adaptive bit-level data embedding and checkerboard based prediction | |
CN103778590A (zh) | 利用数字图像存储和传输信息的方法和装置 | |
Malik et al. | Reversible data hiding in homomorphically encrypted image using interpolation technique | |
Nunna et al. | Secure data transfer through internet using cryptography and image steganography | |
Horng et al. | Blockchain‐based reversible data hiding for securing medical images | |
Prasad et al. | A secure fragile watermarking scheme for protecting integrity of digital images | |
CN111970507A (zh) | 基于像素差值编码的密文域图像的可逆数据隐藏方法 | |
Gao et al. | High-performance reversible data hiding in encrypted images with adaptive Huffman code | |
CN105872305B (zh) | 一种完全可分离的加密域图像可逆数据隐藏方法 | |
CN113055153A (zh) | 一种基于全同态加密算法的数据加密方法、***和介质 | |
Wang et al. | On the multi-level embedding of crypto-image reversible data hiding | |
Agarwal et al. | Encrypted transfer of confidential information using steganography and identity verification using face data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 315016 Zhejiang Province, Ningbo city Haishu District cypress Road No. 89 Applicant after: Ningbo University of Technology Address before: 315016, Fenghua Road, Jiangbei District, Zhejiang, Ningbo 201 Applicant before: Ningbo University of Technology |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |