CN113114869B - 基于msb预测的密文域高容量图像可逆数据隐藏方法 - Google Patents
基于msb预测的密文域高容量图像可逆数据隐藏方法 Download PDFInfo
- Publication number
- CN113114869B CN113114869B CN202110274294.7A CN202110274294A CN113114869B CN 113114869 B CN113114869 B CN 113114869B CN 202110274294 A CN202110274294 A CN 202110274294A CN 113114869 B CN113114869 B CN 113114869B
- Authority
- CN
- China
- Prior art keywords
- pixel point
- image
- pixel
- pixel value
- coordinate position
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
- H04N1/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32267—Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
- H04N1/32272—Encryption or ciphering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
- H04N1/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32347—Reversible embedding, i.e. lossless, invertible, erasable, removable or distorsion-free embedding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于MSB预测的密文域高容量图像可逆数据隐藏方法,其包括预测错误位置图生成、图像加密、密文域图像可逆数据隐藏、隐秘信息提取和原始图像无损恢复四部分;图像加密部分仅需执行异或操作,运算速度快;数据隐藏者根据二值位置图可以直接在密文域图像中嵌入隐秘信息,可有效防止原始灰度图像中的敏感信息被数据隐藏者等第三方泄露;利用相邻像素点之间的相关性对像素值的多位MSB进行预测,在预测准确的像素点的像素值的最高三位二进制比特位中嵌入3位信息,嵌入容量大;接收端可在含隐秘信息的密文域图像中提取出隐秘信息或解密含隐秘信息的密文域图像并无失真地恢复出原始灰度图像或两者都实现。
Description
技术领域
本发明涉及一种数据隐藏技术,尤其是涉及一种基于MSB(Most SignificantBit)预测的密文域高容量图像可逆数据隐藏方法。
背景技术
随着智能终端的快速普及和社交媒体的蓬勃发展,互联网上分享的数字图像呈爆炸式增长。云计算为海量数字图像的存储和处理提供了有效的解决方案。然而,云计算环境本身的结构特点也给隐私安全带来了较大隐患,攻击者有可能绕过云平台的认证机制,通过直接访问下层文件或原始数据的方式获取到用户的数据。确保数字图像隐私安全的最佳方法之一就是对其进行加密处理。用户在上传敏感图像内容之前首先进行加密,云端所有的处理和计算都在密文域进行,并将处理结果提供给使用者,使用者经过解密方可得到明文数据。
但是,加密后的数字图像丧失了原有特性,云端海量密文域数字图像的有效管理成了亟待解决的问题。一种有效解决方式是云服务管理者在加密数字图像中嵌入一些附加消息,如标注或认证数据、作品来源信息、所有者身份信息等,用于管理和认证加密数据。此外,在一些重要的应用场景,如医学诊断、法庭认证、军事图像、遥感图像和指纹图像等敏感领域,不仅需要能够提取嵌入的附加消息,而且还要求无失真地恢复原始图像。密文域可逆数据隐藏在此背景下应运而生,现有的密文域可逆数据隐藏技术可分为三类:第一类是对数字图像进行加密后寻找数据嵌入空间,这类方法嵌入容量较低;第二类是数字图像加密前预留数据嵌入空间,这类方法嵌入容量大且失真低,但缺点是图像加密者和数据嵌入者之间需要复杂协议;第三类是利用同态加密实现密文域图像可逆数据隐藏,但是同态加密易造成密文数据膨胀。为进一步提升密文域可逆数据隐藏技术的嵌入容量,研究者在第二类方法的基础上又提出了像素MSB(Most Significant Bit)预测方法,该方法的优点是图像加密者和数据嵌入者之间不需要复杂协议,但是现有的像素MSB预测方法集中在一位或两位MSB预测,仍没有充分利用载体图像的冗余空间。
发明内容
本发明所要解决的技术问题是提供一种基于MSB预测的密文域高容量图像可逆数据隐藏方法,其能够在密文域图像中对加密像素值进行多位MSB替换以实现数据嵌入,嵌入容量大,在接收端有数据隐藏密钥时能够直接提取出隐秘信息,在接收端有加密密钥时能够解密后通过相邻像素点预测恢复原始灰度图像,在接收端既有加密密钥也有数据隐藏密钥时能够提取出隐秘信息且可无失真地恢复出原始灰度图像。
本发明解决上述技术问题所采用的技术方案为:一种基于MSB预测的密文域高容量图像可逆数据隐藏方法,其特征在于包括预测错误位置图生成、图像加密、密文域图像可逆数据隐藏、隐秘信息提取和原始图像无损恢复四部分;
在预测错误位置图生成中,利用原始灰度图像中的每个像素点的相邻像素点的像素值计算该像素点的预测像素值;计算原始灰度图像中的每个像素点的像素值与预测像素值之间的差值;通过比较原始灰度图像中的每个像素点对应的差值与设定的阈值16,判定原始灰度图像中的每个像素点是否存在预测错误;引入一幅二值位置图用于标记原始灰度图像中存在预测错误的像素点和不存在预测错误即预测准确的像素点,将二值位置图中坐标位置为(1,1)的像素点的像素值直接置为1,而对于二值位置图中除坐标位置为(1,1)的像素点外的任一个像素点,若原始灰度图像中对应坐标位置的像素点存在预测错误,则二值位置图中该像素点的像素值为1,若原始灰度图像中对应坐标位置的像素点不存在预测错误即预测准确,则二值位置图中该像素点的像素值为0;
在图像加密中,根据二值位置图,将原始灰度图像中与二值位置图中像素值为0的每个像素点的坐标位置对应的像素点的像素值与预测像素值之间的差值的5个比特位替换该像素点的像素值的8个比特位表示中的低5位,而对原始灰度图像中与二值位置图中像素值为1的每个像素点的坐标位置对应的像素点不进行处理,得到预处理图像;利用加密密钥生成的第一二值伪随机序列对预处理图像中的每个像素点的像素值的8个比特位进行按位异或加密,得到密文域图像;
在密文域图像可逆数据隐藏中,利用数据隐藏密钥生成的第二二值伪随机序列对待嵌入的隐秘信息进行按位异或加密,得到加密隐秘信息;根据二值位置图中的每个像素点的像素值确定是否对密文域图像中对应坐标位置的像素点进行数据嵌入操作,若二值位置图中的像素点的像素值为0,则利用加密隐秘信息中的三位信息对密文域图像中对应坐标位置的像素点的三位MSB进行替换以完成数据嵌入操作,若二值位置图中的像素点的像素值为1,则对密文域图像中对应坐标位置的像素点不进行数据嵌入操作,得到含隐秘信息的密文域图像;
在隐秘信息提取和原始图像无损恢复中,分三种情况:
第一种情况为接收端仅有数据隐藏密钥,过程为:根据二值位置图中的每个像素点的像素值确定是否对含隐秘信息的密文域图像中对应坐标位置的像素点进行数据提取操作,若二值位置图中的像素点的像素值为0,则对含隐秘信息的密文域图像中对应坐标位置的像素点进行数据提取操作,提取出三位信息,若二值位置图中的像素点的像素值为1,则对含隐秘信息的密文域图像中对应坐标位置的像素点不进行数据提取操作,得到隐秘信息;利用数据隐藏密钥生成的第三二值伪随机序列对提取得到的隐秘信息进行按位异或解密,得到解密隐秘信息,即得到原始的隐秘信息;其中,第三二值伪随机序列与第二二值伪随机序列相同;
第二种情况为接收端仅有加密密钥,过程为:利用加密密钥生成的第四二值伪随机序列对含隐秘信息的密文域图像中的每个像素点的像素值的8个比特位进行按位异或解密,得到解密域图像;根据二值位置图中的每个像素点的像素值确定是否对解密域图像中对应坐标位置的像素点进行恢复操作,若二值位置图中的像素点的像素值为1,则对解密域图像中对应坐标位置的像素点不进行恢复操作,若二值位置图中的像素点的像素值为0,则对解密域图像中对应坐标位置的像素点进行恢复操作,根据解密域图像中对应坐标位置的像素点的像素值的8个比特位表示中的低5位比特位和预测像素值,获取恢复的像素值,得到的恢复图像即为无失真地恢复得到的原始灰度图像;其中,第四二值伪随机序列与第一二值伪随机序列相同;
第三种情况为接收端既有加密密钥也有数据隐藏密钥,首先,按照第一种情况的过程,以相同的方式提取得到解密隐秘信息即原始的隐秘信息;其次,按照第二种情况的过程,以相同的方式无失真地恢复出原始灰度图像。
所述的预测错误位置图生成的具体步骤为:
步骤1_1:设定原始灰度图像的宽度和高度对应为W和H;然后将原始灰度图像中的所有像素点的像素值分成四个集合,分别记为X1、X2、X3、X4,X1={x1,1},X2={x1,2,x1,3,…,x1,W},X3={x2,1,x3,1,…,xH,1},X4={xi,j|i=2,3,…,H,j=2,3,…,W};其中,x1,1表示原始灰度图像中坐标位置为(1,1)的像素点的像素值,x1,2表示原始灰度图像中坐标位置为(1,2)的像素点的像素值,x1,3表示原始灰度图像中坐标位置为(1,3)的像素点的像素值,x1,W表示原始灰度图像中坐标位置为(1,W)的像素点的像素值,x2,1表示原始灰度图像中坐标位置为(2,1)的像素点的像素值,x3,1表示原始灰度图像中坐标位置为(3,1)的像素点的像素值,xH,1表示原始灰度图像中坐标位置为(H,1)的像素点的像素值,xi,j表示原始灰度图像中坐标位置为(i,j)的像素点的像素值,2≤i≤H,2≤j≤W,xu,v表示原始灰度图像中坐标位置为(u,v)的像素点的像素值,1≤u≤H,1≤v≤W,xu,v∈[0,255];
步骤1_2:根据X1、X2、X3、X4,计算原始灰度图像中的每个像素点的预测像素值,将原始灰度图像中坐标位置为(u,v)的像素点的预测像素值记为 然后计算原始灰度图像中的每个像素点的像素值与预测像素值之间的差值,将xu,v与之间的差值记为Δu,v,其中,xu,v-1表示原始灰度图像中坐标位置为(u,v-1)的像素点的像素值,xu-1,v表示原始灰度图像中坐标位置为(u-1,v)的像素点的像素值,xu-1,v-1表示原始灰度图像中坐标位置为(u-1,v-1)的像素点的像素值,符号为向下取整运算符号;
步骤1_3:根据原始灰度图像中的每个像素点的像素值与预测像素值之间的差值,判定原始灰度图像中的每个像素点是否存在预测错误,对于原始灰度图像中坐标位置为(u,v)的像素点,判断|Δu,v|≥16是否成立,若成立,则判定原始灰度图像中坐标位置为(u,v)的像素点存在预测错误;若不成立,则判定原始灰度图像中坐标位置为(u,v)的像素点不存在预测错误即预测准确;其中,符号“| |”为取绝对值符号,|Δu,v|≥16中的数值16为设定的阈值;
步骤1_4:引入一幅二值位置图用于标记原始灰度图像中存在预测错误的像素点和不存在预测错误即预测准确的像素点,将二值位置图中坐标位置为(1,1)的像素点的像素值直接置为1;若原始灰度图像中坐标位置为(u',v')的像素点存在预测错误,则将二值位置图中坐标位置为(u',v')的像素点的像素值置为1;若原始灰度图像中坐标位置为(u',v')的像素点不存在预测错误即预测准确,则将二值位置图中坐标位置为(u',v')的像素点的像素值置为0;其中,二值位置图的宽度和高度对应为W和H,1≤u'≤W,1≤v'≤H且(u',v')不为(1,1)。
所述的图像加密的具体步骤为:
步骤2_1:根据二值位置图,将原始灰度图像中与二值位置图中像素值为0的每个像素点的坐标位置对应的像素点的像素值用8个比特位表示,设定二值位置图中坐标位置为(u,v)的像素点的像素值为0,则将原始灰度图像中坐标位置为(u,v)的像素点的像素值xu,v用8个比特位表示,将xu,v的8个比特位表示中的编号为k的比特位记为bu,v(k),并根据二值位置图,将原始灰度图像中与二值位置图中像素值为0的每个像素点的坐标位置对应的像素点的像素值与预测像素值之间的差值用5个比特位表示,设定二值位置图中坐标位置为(u,v)的像素点的像素值为0,则将原始灰度图像中坐标位置为(u,v)的像素点的像素值xu,v与预测像素值之间的差值Δu,v用5个比特位表示,将Δu,v的5个比特位表示中的编号为k'的比特位记为b'u,v(k'),然后根据二值位置图,将原始灰度图像中与二值位置图中像素值为0的每个像素点的坐标位置对应的像素点的像素值与预测像素值之间的差值的5个比特位替换该像素点的像素值的8个比特位表示中的低5位,而对原始灰度图像中与二值位置图中像素值为1的每个像素点的坐标位置对应的像素点不进行处理,得到预处理图像,将预处理图像中坐标位置为(u,v)的像素点的像素值记为若原始灰度图像中坐标位置为(u,v)的像素点不存在预测错误即预测准确,则为通过Δu,v的5个比特位替换xu,v的8个比特位表示中的低5位得到,若原始灰度图像中坐标位置为(u,v)的像素点存在预测错误,则等于xu,v;其中,1≤u≤H,1≤v≤W,xu,v∈[0,255],k=0,1,2,3,4,5,6,7,符号为向下取整运算符号,mod表示求模操作,k'=0,1,2,3,4,符号“| |”为取绝对值符号,预处理图像的宽度和高度对应为W和H,bu,v(7)表示xu,v的8个比特位表示中的编号为7的比特位,bu,v(6)表示xu,v的8个比特位表示中的编号为6的比特位,bu,v(5)表示xu,v的8个比特位表示中的编号为5的比特位;
步骤2_2:利用加密密钥生成一个第一二值伪随机序列;其中,第一二值伪随机序列的长度为大于或等于H×W×8;
步骤2_3:将预处理图像中当前待处理的像素点定义为当前像素点;
步骤2_5:从第一二值伪随机序列中取出第q位至第q+7位信息;然后利用从第一二值伪随机序列中取出的8位信息对的8个比特位进行按位异或加密,得到当前像素点的加密像素值,记为完成了当前像素点的加密;其中,q的初始值为1,1≤q≤H×W×8-7;
步骤2_6:令q=q+8;然后将预处理图像中下一个待处理的像素点作为当前像素点,再返回步骤2_4继续执行,直至预处理图像中的所有像素点加密完毕,得到密文域图像,密文域图像中坐标位置为(u,v)的像素点的像素值即为其中,q=q+8中的“=”为赋值符号。
所述的密文域图像可逆数据隐藏的具体步骤为:
步骤3_1:利用数据隐藏密钥生成一个第二二值伪随机序列;然后利用第二二值伪随机序列中的每位信息对待嵌入的隐秘信息中的每位信息进行按位异或加密,得到加密隐秘信息;其中,第二二值伪随机序列的长度与待嵌入的隐秘信息的长度一致,待嵌入的隐秘信息的长度等于Q,Q≥3;
步骤3_2:将密文域图像中当前待处理的像素点定义为当前像素点;从加密隐秘信息中取出第g位至第g+2位信息,并定义为当前嵌入信息;其中,g的初始值为1,1≤g≤Q-2;
步骤3_3:设定当前像素点为密文域图像中坐标位置为(u,v)的像素点,将当前像素点的像素值用8个比特位表示,将的8个比特位表示中的编号为k的比特位记为 然后根据二值位置图中坐标位置为(u,v)的像素点的像素值确定是否对当前像素点进行数据嵌入操作,若二值位置图中坐标位置为(u,v)的像素点的像素值为0,则利用当前嵌入信息对当前像素点的三位MSB进行替换以完成数据嵌入操作,将当前像素点经数据嵌入后得到的像素值记为 接着令g=g+3,再执行步骤3_4;若二值位置图中坐标位置为(u,v)的像素点的像素值为1,则对当前像素点不进行数据嵌入操作,再执行步骤3_4;其中,1≤u≤H,1≤v≤W,符号为向下取整运算符号,mod表示求模操作,G(g)表示加密隐秘信息中的第g位信息,G(g+1)表示加密隐秘信息中的第g+1位信息,G(g+2)表示加密隐秘信息中的第g+2位信息,g=g+3中的“=”为赋值符号;
步骤3_4:将密文域图像中下一个待处理的像素点作为当前像素点;将加密隐秘信息中取出的第g位至第g+2位信息作为当前嵌入信息;然后返回步骤3_3继续执行,直至密文域图像中的所有像素点处理完毕,得到含隐秘信息的密文域图像。
所述的隐秘信息提取和原始图像无损恢复分三种情况:
第一种情况为接收端仅有数据隐藏密钥,具体步骤为:
步骤4A_1:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点;
步骤4A_2:设定当前像素点为含隐秘信息的密文域图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为然后根据二值位置图中坐标位置为(u,v)的像素点的像素值确定是否对当前像素点进行数据提取操作,若二值位置图中坐标位置为(u,v)的像素点的像素值为0,则对当前像素点进行数据提取操作,将从当前像素点中提取出的第g位信息、第g+1位信息和第g+2位信息对应记为G*(g)、G*(g+1)、G*(g+2),接着令g=g+3,再执行步骤4A_3;若二值位置图中坐标位置为(u,v)的像素点的像素值为1,则对当前像素点不进行数据提取操作,再执行步骤4A_3;其中,1≤u≤H,1≤v≤W,g的初始值为1,符号为向下取整运算符号,mod表示求模操作,g=g+3中的“=”为赋值符号;
步骤4A_3:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4A_2继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,提取得到隐秘信息;
步骤4A_4:利用数据隐藏密钥生成一个第三二值伪随机序列;然后利用第三二值伪随机序列中的每位信息对提取得到的隐秘信息中的每位信息进行按位异或解密,得到解密隐秘信息,即得到原始的隐秘信息;其中,第三二值伪随机序列与第二二值伪随机序列相同;
第二种情况为接收端仅有加密密钥,具体步骤为:
步骤4B_1:利用加密密钥生成一个第四二值伪随机序列;其中,第四二值伪随机序列与第一二值伪随机序列相同;
步骤4B_2:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点;
步骤4B_3:设定当前像素点为含隐秘信息的密文域图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为然后将用8个比特位表示,将的8个比特位表示中的编号为k的比特位记为 其中,1≤u≤H,1≤v≤W,k=0,1,2,3,4,5,6,7,符号为向下取整运算符号,mod表示求模操作;
步骤4B_4:从第四二值伪随机序列中取出第q位至第q+7位信息;然后利用从第四二值伪随机序列中取出的8位信息对的8个比特位进行按位异或解密,得到当前像素点的解密像素值,记为其中,q的初始值为1,1≤q≤H×W×8-7,
步骤4B_5:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4B_3继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,得到解密域图像,解密域图像中坐标位置为(u,v)的像素点的像素值即为然后将解密域图像中的每个像素点的像素值用8个比特位表示,将的8个比特位表示中的编号为k的比特位记为
步骤4B_6:将解密域图像中的所有像素点的像素值分成四个集合,分别记为X1de、X2de、X3de、X4de, 其中,表示解密域图像中坐标位置为(1,1)的像素点的像素值,表示解密域图像中坐标位置为(1,2)的像素点的像素值,表示解密域图像中坐标位置为(1,3)的像素点的像素值,表示解密域图像中坐标位置为(1,W)的像素点的像素值,表示解密域图像中坐标位置为(2,1)的像素点的像素值,表示解密域图像中坐标位置为(3,1)的像素点的像素值,表示解密域图像中坐标位置为(H,1)的像素点的像素值,表示解密域图像中坐标位置为(i,j)的像素点的像素值,2≤i≤H,2≤j≤W;
步骤4B_7:将解密域图像中当前待处理的像素点定义为当前像素点;
步骤4B_8:设定当前像素点为解密域图像中坐标位置为(u,v)的像素点,当前像素点的像素值为然后根据二值位置图中坐标位置为(u,v)的像素点的像素值确定是否对当前像素点进行恢复操作,若二值位置图中坐标位置为(u,v)的像素点的像素值为1,则对当前像素点不进行恢复操作,其像素值保持不变,将恢复图像中坐标位置为(u,v)的像素点的像素值记为等于若二值位置图中坐标位置为(u,v)的像素点的像素值为0,则对当前像素点进行恢复操作,将恢复图像中坐标位置为(u,v)的像素点的像素值记为等于当前像素点恢复的像素值,若等于1,那么令若等于0,那么令其中,表示的8个比特位表示中的编号为4的比特位,k'=0,1,2,3,4,表示的8个比特位表示中的编号为k'的比特位, 表示当前像素点的预测像素值, 表示恢复图像中坐标位置为(u,v-1)的像素点的像素值,表示恢复图像中坐标位置为(u-1,v)的像素点的像素值,表示恢复图像中坐标位置为(u-1,v-1)的像素点的像素值;
步骤4B_9:将解密域图像中下一个待处理的像素点作为当前像素点,然后返回步骤步骤4B_8继续执行,直至解密域图像中的所有像素点处理完毕,得到恢复图像,该恢复图像即为无失真地恢复得到的原始灰度图像;
第三种情况为接收端既有加密密钥也有数据隐藏密钥,具体步骤为步骤4A_1至步骤4A_4及步骤4B_1至步骤4B_9的结合。
与现有技术相比,本发明的优点在于:
1)本发明方法中的图像加密部分仅需执行异或操作,运算速度快;此外,数据隐藏者根据二值位置图可以直接在密文域图像中嵌入隐秘信息,可以有效防止原始灰度图像中的敏感信息被数据隐藏者等第三方泄露。
2)本发明方法利用相邻像素点之间的相关性对像素值的多位MSB进行预测,在预测准确的像素点的像素值的最高三位二进制比特位中嵌入3位信息,嵌入容量大;此外,该方法容易扩展至4位、甚至5位MSB嵌入。
3)本发明方法中,如果接收端有数据隐藏密钥,则可直接在含隐秘信息的密文域图像中提取出隐秘信息;如果接收端有加密密钥,则可解密含隐秘信息的密文域图像并无失真地恢复出原始灰度图像;如果接收端既有加密密钥也有数据隐藏密钥,则能够提取出隐秘信息且可无失真地恢复出原始灰度图像。
附图说明
图1为本发明方法的总体实现框图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明提出的一种基于MSB预测的密文域高容量图像可逆数据隐藏方法,其总体实现框图如图1所示,其包括预测错误位置图生成、图像加密、密文域图像可逆数据隐藏、隐秘信息提取和原始图像无损恢复四部分。
在预测错误位置图生成中,利用原始灰度图像中的每个像素点的相邻像素点的像素值计算该像素点的预测像素值;计算原始灰度图像中的每个像素点的像素值与预测像素值之间的差值;通过比较原始灰度图像中的每个像素点对应的差值与设定的阈值16,判定原始灰度图像中的每个像素点是否存在预测错误;引入一幅二值位置图用于标记原始灰度图像中存在预测错误的像素点和不存在预测错误即预测准确的像素点,将二值位置图中坐标位置为(1,1)的像素点的像素值直接置为1,而对于二值位置图中除坐标位置为(1,1)的像素点外的任一个像素点,若原始灰度图像中对应坐标位置的像素点存在预测错误,则二值位置图中该像素点的像素值为1,若原始灰度图像中对应坐标位置的像素点不存在预测错误即预测准确,则二值位置图中该像素点的像素值为0。
在图像加密中,根据二值位置图,将原始灰度图像中与二值位置图中像素值为0的每个像素点的坐标位置对应的像素点的像素值与预测像素值之间的差值的5个比特位替换该像素点的像素值的8个比特位表示中的低5位,而对原始灰度图像中与二值位置图中像素值为1的每个像素点的坐标位置对应的像素点不进行处理,得到预处理图像;利用加密密钥生成的第一二值伪随机序列对预处理图像中的每个像素点的像素值的8个比特位进行按位异或加密,得到密文域图像。
在密文域图像可逆数据隐藏中,利用数据隐藏密钥生成的第二二值伪随机序列对待嵌入的隐秘信息进行按位异或加密,得到加密隐秘信息;根据二值位置图中的每个像素点的像素值确定是否对密文域图像中对应坐标位置的像素点进行数据嵌入操作,若二值位置图中的像素点的像素值为0,则利用加密隐秘信息中的三位信息对密文域图像中对应坐标位置的像素点的三位MSB进行替换以完成数据嵌入操作,若二值位置图中的像素点的像素值为1,则对密文域图像中对应坐标位置的像素点不进行数据嵌入操作,得到含隐秘信息的密文域图像。
在隐秘信息提取和原始图像无损恢复中,分三种情况:
第一种情况为接收端仅有数据隐藏密钥,过程为:根据二值位置图中的每个像素点的像素值确定是否对含隐秘信息的密文域图像中对应坐标位置的像素点进行数据提取操作,若二值位置图中的像素点的像素值为0,则对含隐秘信息的密文域图像中对应坐标位置的像素点进行数据提取操作,提取出三位信息,若二值位置图中的像素点的像素值为1,则对含隐秘信息的密文域图像中对应坐标位置的像素点不进行数据提取操作,得到隐秘信息;利用数据隐藏密钥生成的第三二值伪随机序列对提取得到的隐秘信息进行按位异或解密,得到解密隐秘信息,即得到原始的隐秘信息;其中,第三二值伪随机序列与第二二值伪随机序列相同。
第二种情况为接收端仅有加密密钥,过程为:利用加密密钥生成的第四二值伪随机序列对含隐秘信息的密文域图像中的每个像素点的像素值的8个比特位进行按位异或解密,得到解密域图像;根据二值位置图中的每个像素点的像素值确定是否对解密域图像中对应坐标位置的像素点进行恢复操作,若二值位置图中的像素点的像素值为1,则对解密域图像中对应坐标位置的像素点不进行恢复操作,若二值位置图中的像素点的像素值为0,则对解密域图像中对应坐标位置的像素点进行恢复操作,根据解密域图像中对应坐标位置的像素点的像素值的8个比特位表示中的低5位比特位和预测像素值,获取恢复的像素值,得到的恢复图像即为无失真地恢复得到的原始灰度图像;其中,第四二值伪随机序列与第一二值伪随机序列相同。
第三种情况为接收端既有加密密钥也有数据隐藏密钥,首先,按照第一种情况的过程,以相同的方式提取得到解密隐秘信息即原始的隐秘信息;其次,按照第二种情况的过程,以相同的方式无失真地恢复出原始灰度图像。
在本实施例中,预测错误位置图生成的具体步骤为:
步骤1_1:设定原始灰度图像的宽度和高度对应为W和H;然后将原始灰度图像中的所有像素点的像素值分成四个集合,分别记为X1、X2、X3、X4,X1={x1,1},X2={x1,2,x1,3,…,x1,W},X3={x2,1,x3,1,…,xH,1},X4={xi,j|i=2,3,…,H,j=2,3,…,W};其中,x1,1表示原始灰度图像中坐标位置为(1,1)的像素点的像素值,x1,2表示原始灰度图像中坐标位置为(1,2)的像素点的像素值,x1,3表示原始灰度图像中坐标位置为(1,3)的像素点的像素值,x1,W表示原始灰度图像中坐标位置为(1,W)的像素点的像素值,x2,1表示原始灰度图像中坐标位置为(2,1)的像素点的像素值,x3,1表示原始灰度图像中坐标位置为(3,1)的像素点的像素值,xH,1表示原始灰度图像中坐标位置为(H,1)的像素点的像素值,xi,j表示原始灰度图像中坐标位置为(i,j)的像素点的像素值,2≤i≤H,2≤j≤W,xu,v表示原始灰度图像中坐标位置为(u,v)的像素点的像素值,1≤u≤H,1≤v≤W,xu,v∈[0,255]。
步骤1_2:根据X1、X2、X3、X4,计算原始灰度图像中的每个像素点的预测像素值,将原始灰度图像中坐标位置为(u,v)的像素点的预测像素值记为 然后计算原始灰度图像中的每个像素点的像素值与预测像素值之间的差值,将xu,v与之间的差值记为Δu,v,其中,xu,v-1表示原始灰度图像中坐标位置为(u,v-1)的像素点的像素值,xu-1,v表示原始灰度图像中坐标位置为(u-1,v)的像素点的像素值,xu-1,v-1表示原始灰度图像中坐标位置为(u-1,v-1)的像素点的像素值,符号为向下取整运算符号。
步骤1_3:根据原始灰度图像中的每个像素点的像素值与预测像素值之间的差值,判定原始灰度图像中的每个像素点是否存在预测错误,对于原始灰度图像中坐标位置为(u,v)的像素点,判断|Δu,v|≥16是否成立,若成立,则判定原始灰度图像中坐标位置为(u,v)的像素点存在预测错误;若不成立,则判定原始灰度图像中坐标位置为(u,v)的像素点不存在预测错误即预测准确;其中,符号“| |”为取绝对值符号,|Δu,v|≥16中的数值16为设定的阈值。
步骤1_4:引入一幅二值位置图用于标记原始灰度图像中存在预测错误的像素点和不存在预测错误即预测准确的像素点,将二值位置图中坐标位置为(1,1)的像素点的像素值直接置为1;若原始灰度图像中坐标位置为(u',v')的像素点存在预测错误,则将二值位置图中坐标位置为(u',v')的像素点的像素值置为1;若原始灰度图像中坐标位置为(u',v')的像素点不存在预测错误即预测准确,则将二值位置图中坐标位置为(u',v')的像素点的像素值置为0;其中,二值位置图的宽度和高度对应为W和H,1≤u'≤W,1≤v'≤H且(u',v')不为(1,1)。在此,直接将二值位置图中坐标位置为(1,1)的像素点的像素值置为1,而不是根据原始灰度图像中坐标位置为(1,1)的像素点不存在预测错误即预测准确来进行确定,因为后续坐标位置为(1,1)的像素点只参与加密与解密。
在本实施例中,图像加密的具体步骤为:
步骤2_1:根据二值位置图,将原始灰度图像中与二值位置图中像素值为0的每个像素点的坐标位置对应的像素点的像素值用8个比特位表示,设定二值位置图中坐标位置为(u,v)的像素点的像素值为0,则将原始灰度图像中坐标位置为(u,v)的像素点的像素值xu,v用8个比特位表示,将xu,v的8个比特位表示中的编号为k的比特位记为bu,v(k),并根据二值位置图,将原始灰度图像中与二值位置图中像素值为0的每个像素点的坐标位置对应的像素点的像素值与预测像素值之间的差值用5个比特位表示,设定二值位置图中坐标位置为(u,v)的像素点的像素值为0,则将原始灰度图像中坐标位置为(u,v)的像素点的像素值xu,v与预测像素值之间的差值Δu,v用5个比特位表示,将Δu,v的5个比特位表示中的编号为k'的比特位记为b'u,v(k'),然后根据二值位置图,将原始灰度图像中与二值位置图中像素值为0的每个像素点的坐标位置对应的像素点的像素值与预测像素值之间的差值的5个比特位替换该像素点的像素值的8个比特位表示中的低5位,而对原始灰度图像中与二值位置图中像素值为1的每个像素点的坐标位置对应的像素点不进行处理,得到预处理图像,将预处理图像中坐标位置为(u,v)的像素点的像素值记为若原始灰度图像中坐标位置为(u,v)的像素点不存在预测错误即预测准确,则为通过Δu,v的5个比特位替换xu,v的8个比特位表示中的低5位得到,若原始灰度图像中坐标位置为(u,v)的像素点存在预测错误,则等于xu,v;其中,1≤u≤H,1≤v≤W,xu,v∈[0,255],k=0,1,2,3,4,5,6,7,符号为向下取整运算符号,mod表示求模操作,k'=0,1,2,3,4,符号“| |”为取绝对值符号,预处理图像的宽度和高度对应为W和H,bu,v(7)表示xu,v的8个比特位表示中的编号为7的比特位,bu,v(6)表示xu,v的8个比特位表示中的编号为6的比特位,bu,v(5)表示xu,v的8个比特位表示中的编号为5的比特位。
由于判定像素点是否存在预测错误时所设定的阈值为16,因此像素点的像素值与预测像素值之间的差值可以用5个比特位表示,最高位表示差值的符号,低4位表示差值的幅度。
步骤2_2:利用加密密钥生成一个第一二值伪随机序列;其中,第一二值伪随机序列的长度为大于或等于H×W×8。
步骤2_3:将预处理图像中当前待处理的像素点定义为当前像素点。
步骤2_5:从第一二值伪随机序列中取出第q位至第q+7位信息;然后利用从第一二值伪随机序列中取出的8位信息对的8个比特位进行按位异或加密,得到当前像素点的加密像素值,记为完成了当前像素点的加密;其中,q的初始值为1,1≤q≤H×W×8-7。
步骤2_6:令q=q+8;然后将预处理图像中下一个待处理的像素点作为当前像素点,再返回步骤2_4继续执行,直至预处理图像中的所有像素点加密完毕,得到密文域图像,密文域图像中坐标位置为(u,v)的像素点的像素值即为其中,q=q+8中的“=”为赋值符号。
在本实施例中,密文域图像可逆数据隐藏的具体步骤为:
步骤3_1:利用数据隐藏密钥生成一个第二二值伪随机序列;然后利用第二二值伪随机序列中的每位信息对待嵌入的隐秘信息中的每位信息进行按位异或加密,得到加密隐秘信息;其中,第二二值伪随机序列的长度与待嵌入的隐秘信息的长度一致,待嵌入的隐秘信息的长度等于Q,Q≥3。
步骤3_2:将密文域图像中当前待处理的像素点定义为当前像素点;从加密隐秘信息中取出第g位至第g+2位信息,并定义为当前嵌入信息;其中,g的初始值为1,1≤g≤Q-2;在此,密文域图像中的左上角第一个像素点(坐标位置为(1,1)的像素点)不处理,即其像素值保持不变。
步骤3_3:设定当前像素点为密文域图像中坐标位置为(u,v)的像素点,将当前像素点的像素值用8个比特位表示,将的8个比特位表示中的编号为k的比特位记为 然后根据二值位置图中坐标位置为(u,v)的像素点的像素值确定是否对当前像素点进行数据嵌入操作,若二值位置图中坐标位置为(u,v)的像素点的像素值为0,则利用当前嵌入信息对当前像素点的三位MSB进行替换以完成数据嵌入操作,将当前像素点经数据嵌入后得到的像素值记为 接着令g=g+3,再执行步骤3_4;若二值位置图中坐标位置为(u,v)的像素点的像素值为1,则对当前像素点不进行数据嵌入操作,再执行步骤3_4;其中,1≤u≤H,1≤v≤W,符号为向下取整运算符号,mod表示求模操作,G(g)表示加密隐秘信息中的第g位信息,G(g+1)表示加密隐秘信息中的第g+1位信息,G(g+2)表示加密隐秘信息中的第g+2位信息,g=g+3中的“=”为赋值符号。
步骤3_4:将密文域图像中下一个待处理的像素点作为当前像素点;将加密隐秘信息中取出的第g位至第g+2位信息作为当前嵌入信息;然后返回步骤3_3继续执行,直至密文域图像中的所有像素点处理完毕,得到含隐秘信息的密文域图像。
在本实施例中,隐秘信息提取和原始图像无损恢复分三种情况:
第一种情况为接收端仅有数据隐藏密钥,具体步骤为:
步骤4A_1:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点。
步骤4A_2:设定当前像素点为含隐秘信息的密文域图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为然后根据二值位置图中坐标位置为(u,v)的像素点的像素值确定是否对当前像素点进行数据提取操作,若二值位置图中坐标位置为(u,v)的像素点的像素值为0,则对当前像素点进行数据提取操作,将从当前像素点中提取出的第g位信息、第g+1位信息和第g+2位信息对应记为G*(g)、G*(g+1)、G*(g+2),接着令g=g+3,再执行步骤4A_3;若二值位置图中坐标位置为(u,v)的像素点的像素值为1,则对当前像素点不进行数据提取操作,再执行步骤4A_3;其中,1≤u≤H,1≤v≤W,g的初始值为1,符号为向下取整运算符号,mod表示求模操作,g=g+3中的“=”为赋值符号。
步骤4A_3:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4A_2继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,提取得到隐秘信息。
步骤4A_4:利用数据隐藏密钥生成一个第三二值伪随机序列;然后利用第三二值伪随机序列中的每位信息对提取得到的隐秘信息中的每位信息进行按位异或解密,得到解密隐秘信息,即得到原始的隐秘信息;其中,第三二值伪随机序列与第二二值伪随机序列相同。
第二种情况为接收端仅有加密密钥,具体步骤为:
步骤4B_1:利用加密密钥生成一个第四二值伪随机序列;其中,第四二值伪随机序列与第一二值伪随机序列相同。
步骤4B_2:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点。
步骤4B_3:设定当前像素点为含隐秘信息的密文域图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为然后将用8个比特位表示,将的8个比特位表示中的编号为k的比特位记为 其中,1≤u≤H,1≤v≤W,k=0,1,2,3,4,5,6,7,符号为向下取整运算符号,mod表示求模操作。
步骤4B_4:从第四二值伪随机序列中取出第q位至第q+7位信息;然后利用从第四二值伪随机序列中取出的8位信息对的8个比特位进行按位异或解密,得到当前像素点的解密像素值,记为其中,q的初始值为1,1≤q≤H×W×8-7,
步骤4B_5:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4B_3继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,得到解密域图像,解密域图像中坐标位置为(u,v)的像素点的像素值即为然后将解密域图像中的每个像素点的像素值用8个比特位表示,将的8个比特位表示中的编号为k的比特位记为
步骤4B_6:将解密域图像中的所有像素点的像素值分成四个集合,分别记为X1de、X2de、X3de、X4de, 其中,表示解密域图像中坐标位置为(1,1)的像素点的像素值,表示解密域图像中坐标位置为(1,2)的像素点的像素值,表示解密域图像中坐标位置为(1,3)的像素点的像素值,表示解密域图像中坐标位置为(1,W)的像素点的像素值,表示解密域图像中坐标位置为(2,1)的像素点的像素值,表示解密域图像中坐标位置为(3,1)的像素点的像素值,表示解密域图像中坐标位置为(H,1)的像素点的像素值,表示解密域图像中坐标位置为(i,j)的像素点的像素值,2≤i≤H,2≤j≤W。
步骤4B_7:将解密域图像中当前待处理的像素点定义为当前像素点。
步骤4B_8:设定当前像素点为解密域图像中坐标位置为(u,v)的像素点,当前像素点的像素值为然后根据二值位置图中坐标位置为(u,v)的像素点的像素值确定是否对当前像素点进行恢复操作,若二值位置图中坐标位置为(u,v)的像素点的像素值为1,则对当前像素点不进行恢复操作,其像素值保持不变,将恢复图像中坐标位置为(u,v)的像素点的像素值记为等于若二值位置图中坐标位置为(u,v)的像素点的像素值为0,则对当前像素点进行恢复操作,将恢复图像中坐标位置为(u,v)的像素点的像素值记为等于当前像素点恢复的像素值,若等于1,那么令若等于0,那么令其中,表示的8个比特位表示中的编号为4的比特位,k'=0,1,2,3,4,表示的8个比特位表示中的编号为k'的比特位, 表示当前像素点的预测像素值, 表示恢复图像中坐标位置为(u,v-1)的像素点的像素值,表示恢复图像中坐标位置为(u-1,v)的像素点的像素值,表示恢复图像中坐标位置为(u-1,v-1)的像素点的像素值。
步骤4B_9:将解密域图像中下一个待处理的像素点作为当前像素点,然后返回步骤步骤4B_8继续执行,直至解密域图像中的所有像素点处理完毕,得到恢复图像,该恢复图像即为无失真地恢复得到的原始灰度图像。
第三种情况为接收端既有加密密钥也有数据隐藏密钥,具体步骤为步骤4A_1至步骤4A_4及步骤4B_1至步骤4B_9的结合。
Claims (4)
1.一种基于MSB预测的密文域高容量图像可逆数据隐藏方法,其特征在于包括预测错误位置图生成、图像加密、密文域图像可逆数据隐藏、隐秘信息提取和原始图像无损恢复四部分;
在预测错误位置图生成中,利用原始灰度图像中的每个像素点的相邻像素点的像素值计算该像素点的预测像素值;计算原始灰度图像中的每个像素点的像素值与预测像素值之间的差值;通过比较原始灰度图像中的每个像素点对应的差值与设定的阈值16,判定原始灰度图像中的每个像素点是否存在预测错误;引入一幅二值位置图用于标记原始灰度图像中存在预测错误的像素点和不存在预测错误即预测准确的像素点,将二值位置图中坐标位置为(1,1)的像素点的像素值直接置为1,而对于二值位置图中除坐标位置为(1,1)的像素点外的任一个像素点,若原始灰度图像中对应坐标位置的像素点存在预测错误,则二值位置图中该像素点的像素值为1,若原始灰度图像中对应坐标位置的像素点不存在预测错误即预测准确,则二值位置图中该像素点的像素值为0;
在图像加密中,根据二值位置图,将原始灰度图像中与二值位置图中像素值为0的每个像素点的坐标位置对应的像素点的像素值与预测像素值之间的差值的5个比特位替换该像素点的像素值的8个比特位表示中的低5位,而对原始灰度图像中与二值位置图中像素值为1的每个像素点的坐标位置对应的像素点不进行处理,得到预处理图像;利用加密密钥生成的第一二值伪随机序列对预处理图像中的每个像素点的像素值的8个比特位进行按位异或加密,得到密文域图像;
在密文域图像可逆数据隐藏中,利用数据隐藏密钥生成的第二二值伪随机序列对待嵌入的隐秘信息进行按位异或加密,得到加密隐秘信息;根据二值位置图中的每个像素点的像素值确定是否对密文域图像中对应坐标位置的像素点进行数据嵌入操作,若二值位置图中的像素点的像素值为0,则利用加密隐秘信息中的三位信息对密文域图像中对应坐标位置的像素点的三位MSB进行替换以完成数据嵌入操作,若二值位置图中的像素点的像素值为1,则对密文域图像中对应坐标位置的像素点不进行数据嵌入操作,得到含隐秘信息的密文域图像;
在隐秘信息提取和原始图像无损恢复中,分三种情况:
第一种情况为接收端仅有数据隐藏密钥,过程为:根据二值位置图中的每个像素点的像素值确定是否对含隐秘信息的密文域图像中对应坐标位置的像素点进行数据提取操作,若二值位置图中的像素点的像素值为0,则对含隐秘信息的密文域图像中对应坐标位置的像素点进行数据提取操作,提取出三位信息,若二值位置图中的像素点的像素值为1,则对含隐秘信息的密文域图像中对应坐标位置的像素点不进行数据提取操作,得到隐秘信息;利用数据隐藏密钥生成的第三二值伪随机序列对提取得到的隐秘信息进行按位异或解密,得到解密隐秘信息,即得到原始的隐秘信息;其中,第三二值伪随机序列与第二二值伪随机序列相同;
第二种情况为接收端仅有加密密钥,过程为:利用加密密钥生成的第四二值伪随机序列对含隐秘信息的密文域图像中的每个像素点的像素值的8个比特位进行按位异或解密,得到解密域图像;根据二值位置图中的每个像素点的像素值确定是否对解密域图像中对应坐标位置的像素点进行恢复操作,若二值位置图中的像素点的像素值为1,则对解密域图像中对应坐标位置的像素点不进行恢复操作,若二值位置图中的像素点的像素值为0,则对解密域图像中对应坐标位置的像素点进行恢复操作,根据解密域图像中对应坐标位置的像素点的像素值的8个比特位表示中的低5位比特位和预测像素值,获取恢复的像素值,得到的恢复图像即为无失真地恢复得到的原始灰度图像;其中,第四二值伪随机序列与第一二值伪随机序列相同;
第三种情况为接收端既有加密密钥也有数据隐藏密钥,首先,按照第一种情况的过程,以相同的方式提取得到解密隐秘信息即原始的隐秘信息;其次,按照第二种情况的过程,以相同的方式无失真地恢复出原始灰度图像;
所述的预测错误位置图生成的具体步骤为:
步骤1_1:设定原始灰度图像的宽度和高度对应为W和H;然后将原始灰度图像中的所有像素点的像素值分成四个集合,分别记为X1、X2、X3、X4,X1={x1,1},X2={x1,2,x1,3,…,x1,W},X3={x2,1,x3,1,…,xH,1},X4={xi,j|i=2,3,…,H,j=2,3,…,W};其中,x1,1表示原始灰度图像中坐标位置为(1,1)的像素点的像素值,x1,2表示原始灰度图像中坐标位置为(1,2)的像素点的像素值,x1,3表示原始灰度图像中坐标位置为(1,3)的像素点的像素值,x1,W表示原始灰度图像中坐标位置为(1,W)的像素点的像素值,x2,1表示原始灰度图像中坐标位置为(2,1)的像素点的像素值,x3,1表示原始灰度图像中坐标位置为(3,1)的像素点的像素值,xH,1表示原始灰度图像中坐标位置为(H,1)的像素点的像素值,xi,j表示原始灰度图像中坐标位置为(i,j)的像素点的像素值,2≤i≤H,2≤j≤W,xu,v表示原始灰度图像中坐标位置为(u,v)的像素点的像素值,1≤u≤H,1≤v≤W,xu,v∈[0,255];
步骤1_2:根据X1、X2、X3、X4,计算原始灰度图像中的每个像素点的预测像素值,将原始灰度图像中坐标位置为(u,v)的像素点的预测像素值记为 然后计算原始灰度图像中的每个像素点的像素值与预测像素值之间的差值,将xu,v与之间的差值记为Δu,v,其中,xu,v-1表示原始灰度图像中坐标位置为(u,v-1)的像素点的像素值,xu-1,v表示原始灰度图像中坐标位置为(u-1,v)的像素点的像素值,xu-1,v-1表示原始灰度图像中坐标位置为(u-1,v-1)的像素点的像素值,符号为向下取整运算符号;
步骤1_3:根据原始灰度图像中的每个像素点的像素值与预测像素值之间的差值,判定原始灰度图像中的每个像素点是否存在预测错误,对于原始灰度图像中坐标位置为(u,v)的像素点,判断|Δu,v|≥16是否成立,若成立,则判定原始灰度图像中坐标位置为(u,v)的像素点存在预测错误;若不成立,则判定原始灰度图像中坐标位置为(u,v)的像素点不存在预测错误即预测准确;其中,符号“||”为取绝对值符号,|Δu,v|≥16中的数值16为设定的阈值;
步骤1_4:引入一幅二值位置图用于标记原始灰度图像中存在预测错误的像素点和不存在预测错误即预测准确的像素点,将二值位置图中坐标位置为(1,1)的像素点的像素值直接置为1;若原始灰度图像中坐标位置为(u',v')的像素点存在预测错误,则将二值位置图中坐标位置为(u',v')的像素点的像素值置为1;若原始灰度图像中坐标位置为(u',v')的像素点不存在预测错误即预测准确,则将二值位置图中坐标位置为(u',v')的像素点的像素值置为0;其中,二值位置图的宽度和高度对应为W和H,1≤u'≤W,1≤v'≤H且(u',v')不为(1,1)。
2.根据权利要求1所述的基于MSB预测的密文域高容量图像可逆数据隐藏方法,其特征在于所述的图像加密的具体步骤为:
步骤2_1:根据二值位置图,将原始灰度图像中与二值位置图中像素值为0的每个像素点的坐标位置对应的像素点的像素值用8个比特位表示,设定二值位置图中坐标位置为(u,v)的像素点的像素值为0,则将原始灰度图像中坐标位置为(u,v)的像素点的像素值xu,v用8个比特位表示,将xu,v的8个比特位表示中的编号为k的比特位记为bu,v(k),并根据二值位置图,将原始灰度图像中与二值位置图中像素值为0的每个像素点的坐标位置对应的像素点的像素值与预测像素值之间的差值用5个比特位表示,设定二值位置图中坐标位置为(u,v)的像素点的像素值为0,则将原始灰度图像中坐标位置为(u,v)的像素点的像素值xuv与预测像素值之间的差值Δu,v用5个比特位表示,将Δu,v的5个比特位表示中的编号为k'的比特位记为b'u,v(k'),然后根据二值位置图,将原始灰度图像中与二值位置图中像素值为0的每个像素点的坐标位置对应的像素点的像素值与预测像素值之间的差值的5个比特位替换该像素点的像素值的8个比特位表示中的低5位,而对原始灰度图像中与二值位置图中像素值为1的每个像素点的坐标位置对应的像素点不进行处理,得到预处理图像,将预处理图像中坐标位置为(u,v)的像素点的像素值记为若原始灰度图像中坐标位置为(u,v)的像素点不存在预测错误即预测准确,则为通过Δu,v的5个比特位替换xu,v的8个比特位表示中的低5位得到,若原始灰度图像中坐标位置为(u,v)的像素点存在预测错误,则等于xu,v;其中,1≤u≤H,1≤v≤W,xu,v∈[0,255],k=0,1,2,3,4,5,6,7,符号为向下取整运算符号,mod表示求模操作,k'=0,1,2,3,4,符号“||”为取绝对值符号,预处理图像的宽度和高度对应为W和H,bu,v(7)表示xu,v的8个比特位表示中的编号为7的比特位,bu,v(6)表示xu,v的8个比特位表示中的编号为6的比特位,bu,v(5)表示xu,v的8个比特位表示中的编号为5的比特位;
步骤2_2:利用加密密钥生成一个第一二值伪随机序列;其中,第一二值伪随机序列的长度为大于或等于H×W×8;
步骤2_3:将预处理图像中当前待处理的像素点定义为当前像素点;
步骤2_5:从第一二值伪随机序列中取出第q位至第q+7位信息;然后利用从第一二值伪随机序列中取出的8位信息对的8个比特位进行按位异或加密,得到当前像素点的加密像素值,记为完成了当前像素点的加密;其中,q的初始值为1,1≤q≤H×W×8-7;
3.根据权利要求2所述的基于MSB预测的密文域高容量图像可逆数据隐藏方法,其特征在于所述的密文域图像可逆数据隐藏的具体步骤为:
步骤3_1:利用数据隐藏密钥生成一个第二二值伪随机序列;然后利用第二二值伪随机序列中的每位信息对待嵌入的隐秘信息中的每位信息进行按位异或加密,得到加密隐秘信息;其中,第二二值伪随机序列的长度与待嵌入的隐秘信息的长度一致,待嵌入的隐秘信息的长度等于Q,Q≥3;
步骤3_2:将密文域图像中当前待处理的像素点定义为当前像素点;从加密隐秘信息中取出第g位至第g+2位信息,并定义为当前嵌入信息;其中,g的初始值为1,1≤g≤Q-2;
步骤3_3:设定当前像素点为密文域图像中坐标位置为(u,v)的像素点,将当前像素点的像素值用8个比特位表示,将的8个比特位表示中的编号为k的比特位记为 然后根据二值位置图中坐标位置为(u,v)的像素点的像素值确定是否对当前像素点进行数据嵌入操作,若二值位置图中坐标位置为(u,v)的像素点的像素值为0,则利用当前嵌入信息对当前像素点的三位MSB进行替换以完成数据嵌入操作,将当前像素点经数据嵌入后得到的像素值记为 接着令g=g+3,再执行步骤3_4;若二值位置图中坐标位置为(u,v)的像素点的像素值为1,则对当前像素点不进行数据嵌入操作,再执行步骤3_4;其中,1≤u≤H,1≤v≤W,符号为向下取整运算符号,mod表示求模操作,G(g)表示加密隐秘信息中的第g位信息,G(g+1)表示加密隐秘信息中的第g+1位信息,G(g+2)表示加密隐秘信息中的第g+2位信息,g=g+3中的“=”为赋值符号;
步骤3_4:将密文域图像中下一个待处理的像素点作为当前像素点;将加密隐秘信息中取出的第g位至第g+2位信息作为当前嵌入信息;然后返回步骤3_3继续执行,直至密文域图像中的所有像素点处理完毕,得到含隐秘信息的密文域图像。
4.根据权利要求3所述的基于MSB预测的密文域高容量图像可逆数据隐藏方法,其特征在于所述的隐秘信息提取和原始图像无损恢复分三种情况:
第一种情况为接收端仅有数据隐藏密钥,具体步骤为:
步骤4A_1:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点;
步骤4A_2:设定当前像素点为含隐秘信息的密文域图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为然后根据二值位置图中坐标位置为(u,v)的像素点的像素值确定是否对当前像素点进行数据提取操作,若二值位置图中坐标位置为(u,v)的像素点的像素值为0,则对当前像素点进行数据提取操作,将从当前像素点中提取出的第g位信息、第g+1位信息和第g+2位信息对应记为G*(g)、G*(g+1)、G*(g+2),接着令g=g+3,再执行步骤4A_3;若二值位置图中坐标位置为(u,v)的像素点的像素值为1,则对当前像素点不进行数据提取操作,再执行步骤4A_3;其中,1≤u≤H,1≤v≤W,g的初始值为1,符号为向下取整运算符号,mod表示求模操作,g=g+3中的“=”为赋值符号;
步骤4A_3:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4A_2继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,提取得到隐秘信息;
步骤4A_4:利用数据隐藏密钥生成一个第三二值伪随机序列;然后利用第三二值伪随机序列中的每位信息对提取得到的隐秘信息中的每位信息进行按位异或解密,得到解密隐秘信息,即得到原始的隐秘信息;其中,第三二值伪随机序列与第二二值伪随机序列相同;
第二种情况为接收端仅有加密密钥,具体步骤为:
步骤4B_1:利用加密密钥生成一个第四二值伪随机序列;其中,第四二值伪随机序列与第一二值伪随机序列相同;
步骤4B_2:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点;
步骤4B_3:设定当前像素点为含隐秘信息的密文域图像中坐标位置为(u,v)的像素点,并将当前像素点的像素值记为然后将用8个比特位表示,将的8个比特位表示中的编号为k的比特位记为 其中,1≤u≤H,1≤v≤W,k=0,1,2,3,4,5,6,7,符号为向下取整运算符号,mod表示求模操作;
步骤4B_4:从第四二值伪随机序列中取出第q位至第q+7位信息;然后利用从第四二值伪随机序列中取出的8位信息对的8个比特位进行按位异或解密,得到当前像素点的解密像素值,记为其中,q的初始值为1,1≤q≤H×W×8-7,
步骤4B_5:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4B_3继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,得到解密域图像,解密域图像中坐标位置为(u,v)的像素点的像素值即为然后将解密域图像中的每个像素点的像素值用8个比特位表示,将的8个比特位表示中的编号为k的比特位记为
步骤4B_6:将解密域图像中的所有像素点的像素值分成四个集合,分别记为X1de、X2de、X3de、X4de, 其中,表示解密域图像中坐标位置为(1,1)的像素点的像素值,表示解密域图像中坐标位置为(1,2)的像素点的像素值,表示解密域图像中坐标位置为(1,3)的像素点的像素值,表示解密域图像中坐标位置为(1,W)的像素点的像素值,表示解密域图像中坐标位置为(2,1)的像素点的像素值,表示解密域图像中坐标位置为(3,1)的像素点的像素值,表示解密域图像中坐标位置为(H,1)的像素点的像素值,表示解密域图像中坐标位置为(i,j)的像素点的像素值,2≤i≤H,2≤j≤W;
步骤4B_7:将解密域图像中当前待处理的像素点定义为当前像素点;
步骤4B_8:设定当前像素点为解密域图像中坐标位置为(u,v)的像素点,当前像素点的像素值为然后根据二值位置图中坐标位置为(u,v)的像素点的像素值确定是否对当前像素点进行恢复操作,若二值位置图中坐标位置为(u,v)的像素点的像素值为1,则对当前像素点不进行恢复操作,其像素值保持不变,将恢复图像中坐标位置为(u,v)的像素点的像素值记为 等于若二值位置图中坐标位置为(u,v)的像素点的像素值为0,则对当前像素点进行恢复操作,将恢复图像中坐标位置为(u,v)的像素点的像素值记为 等于当前像素点恢复的像素值,若等于1,那么令若等于0,那么令其中,表示的8个比特位表示中的编号为4的比特位,k'=0,1,2,3,4,表示的8个比特位表示中的编号为k'的比特位, 表示当前像素点的预测像素值, 表示恢复图像中坐标位置为(u,v-1)的像素点的像素值,表示恢复图像中坐标位置为(u-1,v)的像素点的像素值,表示恢复图像中坐标位置为(u-1,v-1)的像素点的像素值;
步骤4B_9:将解密域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4B_8继续执行,直至解密域图像中的所有像素点处理完毕,得到恢复图像,该恢复图像即为无失真地恢复得到的原始灰度图像;
第三种情况为接收端既有加密密钥也有数据隐藏密钥,具体步骤为步骤4A_1至步骤4A_4及步骤4B_1至步骤4B_9的结合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110274294.7A CN113114869B (zh) | 2021-03-15 | 2021-03-15 | 基于msb预测的密文域高容量图像可逆数据隐藏方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110274294.7A CN113114869B (zh) | 2021-03-15 | 2021-03-15 | 基于msb预测的密文域高容量图像可逆数据隐藏方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113114869A CN113114869A (zh) | 2021-07-13 |
CN113114869B true CN113114869B (zh) | 2023-02-28 |
Family
ID=76711433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110274294.7A Active CN113114869B (zh) | 2021-03-15 | 2021-03-15 | 基于msb预测的密文域高容量图像可逆数据隐藏方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113114869B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113766084B (zh) * | 2021-08-10 | 2022-08-16 | 西安电子科技大学 | 一种增强图像平滑度的可逆信息隐藏方法、系统 |
CN114760391B (zh) * | 2022-04-24 | 2023-07-25 | 安徽大学绿色产业创新研究院 | 一种基于双层嵌入的高嵌入率的可逆数据隐藏方法 |
CN114996745B (zh) * | 2022-07-29 | 2022-11-22 | 湖南工商大学 | 基于舆情事件智能搜寻的媒体资产管理系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109348230A (zh) * | 2018-11-14 | 2019-02-15 | 宁波工程学院 | 一种密文域高容量图像可逆数据隐藏方法 |
CN109803142A (zh) * | 2019-01-08 | 2019-05-24 | 宁波工程学院 | 一种基于邻域预测的加密域图像可逆数据隐藏方法 |
CN110753226A (zh) * | 2019-09-25 | 2020-02-04 | 宁波工程学院 | 一种高容量密文域图像可逆数据隐藏方法 |
CN112202984A (zh) * | 2020-09-25 | 2021-01-08 | 中国人民武装警察部队工程大学 | 一种基于纠错冗余的密文域可逆信息隐藏方法 |
-
2021
- 2021-03-15 CN CN202110274294.7A patent/CN113114869B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109348230A (zh) * | 2018-11-14 | 2019-02-15 | 宁波工程学院 | 一种密文域高容量图像可逆数据隐藏方法 |
CN109803142A (zh) * | 2019-01-08 | 2019-05-24 | 宁波工程学院 | 一种基于邻域预测的加密域图像可逆数据隐藏方法 |
CN110753226A (zh) * | 2019-09-25 | 2020-02-04 | 宁波工程学院 | 一种高容量密文域图像可逆数据隐藏方法 |
CN112202984A (zh) * | 2020-09-25 | 2021-01-08 | 中国人民武装警察部队工程大学 | 一种基于纠错冗余的密文域可逆信息隐藏方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113114869A (zh) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Puteaux et al. | An efficient MSB prediction-based method for high-capacity reversible data hiding in encrypted images | |
CN110753226B (zh) | 一种高容量密文域图像可逆数据隐藏方法 | |
Yu et al. | Reversible data hiding with hierarchical embedding for encrypted images | |
CN113114869B (zh) | 基于msb预测的密文域高容量图像可逆数据隐藏方法 | |
Mohammadi et al. | A high-capacity reversible data hiding in encrypted images employing local difference predictor | |
Chen et al. | Multi-MSB compression based reversible data hiding scheme in encrypted images | |
CN109348230B (zh) | 一种密文域高容量图像可逆数据隐藏方法 | |
Huang et al. | High-capacity reversible data hiding in encrypted image based on specific encryption process | |
Chang et al. | Privacy-preserving reversible information hiding based on arithmetic of quadratic residues | |
CN109803142B (zh) | 一种基于邻域预测的加密域图像可逆数据隐藏方法 | |
CN109800585B (zh) | 一种图像插值空间完全可逆可分离密文域信息隐藏算法 | |
Dragoi et al. | On the security of reversible data hiding in encrypted images by MSB prediction | |
CN111970507B (zh) | 基于像素差值编码的密文域图像的可逆数据隐藏方法 | |
Yi et al. | Parametric reversible data hiding in encrypted images using adaptive bit-level data embedding and checkerboard based prediction | |
CN111861844A (zh) | 一种基于图像分块认证的可逆水印方法 | |
CN109547663B (zh) | 一种结合密码学的改进lsb图像隐写方法 | |
Anushiadevi et al. | Separable reversible data hiding in an encrypted image using the adjacency pixel difference histogram | |
Chen et al. | Error-free separable reversible data hiding in encrypted images using linear regression and prediction error map | |
Nunna et al. | Secure data transfer through internet using cryptography and image steganography | |
JP4025283B2 (ja) | 符号埋込方法、識別情報復元方法及び装置 | |
Gao et al. | High-performance reversible data hiding in encrypted images with adaptive Huffman code | |
Zhang et al. | Vector-based efficient data hiding in encrypted images via multi-MSB replacement | |
Li et al. | Attack and improvement of the joint fingerprinting and decryption method for vector quantization images | |
Al-Kadei | Two-level hiding an encrypted image | |
Ma et al. | Security analysis of a reversible watermarking algorithm for encrypted images in wavelet domain |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |