一种密文域高容量图像可逆数据隐藏方法与流程

文档序号:16889435发布日期:2019-02-15 22:56阅读:488来源:国知局
一种密文域高容量图像可逆数据隐藏方法与流程

本发明涉及一种数据隐藏技术,尤其是涉及一种密文域高容量图像可逆数据隐藏方法。



背景技术:

云计算平台下,多媒体内容的提供者不必同时是存储者和处理者。在这种工作模式中,用户数据在很大程度上处于“失控”状态。确保多媒体数据安全性的最佳方法之一就是对多媒体数据进行加密处理。用户在上传敏感内容之前首先进行加密,云端所有的处理和计算都在密文域进行,并将处理结果提供给使用者,使用者经过解密方可得到明文数据。

在很多应用场景,某些没有解密权限的云服务管理者需在加密载体中嵌入一些附加消息,如标注或认证数据、作品来源信息、所有者身份信息等,用于管理和认证加密数据。同时,在一些重要的应用场合,如医学诊断、法庭认证、军事图像、遥感图像和指纹图像等敏感领域往往需要在提取附加消息后能精确地恢复原宿主信息。现有的加密域可逆数据隐藏技术可分为三类:第一类是对图像进行加密后寻找数据嵌入空间,这类方法普遍嵌入容量较低,且会发生数据提取出错;第二类是图像加密前预留数据嵌入空间,这类方法嵌入容量大且失真低,但缺点是图像加密者和数据嵌入者之间需要复杂的协议;第三类是利用同态加密实现密文域图像可逆数据隐藏,但是同态加密易造成密文数据膨胀。



技术实现要素:

本发明所要解决的技术问题是提供一种密文域高容量图像可逆数据隐藏方法,其能够在密文域图像中进行数据嵌入,且嵌入容量大,在接收端有加密密钥时能够直接解密获得原始图像,在接收端有数据隐藏密钥时能够直接提取出隐秘信息,在接收端既有加密密钥也有数据隐藏密钥时能够提取出隐秘信息且可无失真地恢复出原始图像。

本发明解决上述技术问题所采用的技术方案为:一种密文域高容量图像可逆数据隐藏方法,其特征在于包括预测错误检测、图像加密、密文域图像可逆数据隐藏、隐秘信息提取和原始图像无损恢复四部分;

在预测错误检测部分中,先将待处理的灰度图像中的所有像素点分为采样像素点和非采样像素点两类;然后利用所有采样像素点的像素值计算每个非采样像素点的预测值;再根据所有非采样像素点的像素值和预测值,将所有非采样像素点分别标记为预测错误的非采样像素点和标记为预测准确的非采样像素点两类,得到标记后的灰度图像;

在图像加密部分中,利用加密密钥生成的第一二值伪随机序列对标记后的灰度图像中的每个像素点进行加密,得到密文域图像;

在密文域图像可逆数据隐藏部分中,先利用数据隐藏密钥生成的第二二值伪随机序列对待嵌入的隐秘信息进行加密,得到加密隐秘信息;然后利用加密隐秘信息对密文域图像中的每个标记为预测准确的非采样像素点进行数据嵌入,得到含隐秘信息的密文域图像;

在隐秘信息提取和原始图像无损恢复部分中,分三种情况:

第一种情况为接收端仅有加密密钥,先利用加密密钥生成的第三二值伪随机序列对含隐秘信息的密文域图像中的每个像素点进行解密,得到解密域图像;然后利用解密域图像中的所有采样像素点的像素值,计算解密域图像中的每个标记为预测准确的非采样像素点的预测值;再根据解密域图像中的采样像素点和标记为预测错误的非采样像素点各自的像素值,获得原始灰度图像中对应像素点的像素值;并根据解密域图像中的标记为预测准确的非采样像素点的像素值和预测值,获得原始灰度图像中对应像素点的像素值;

第二种情况为接收端仅有数据隐藏密钥,先从含隐秘信息的密文域图像中的每个标记为预测准确的非采样像素点中提取出两位嵌入信息,得到隐秘信息;然后利用数据隐藏密钥生成的第四二值伪随机序列对提取的隐秘信息进行解密,得到解密隐秘信息,即得到原始隐秘信息;

第三种情况为接收端既有加密密钥也有数据隐藏密钥,首先,按照第二种情况的过程,以相同的方式提取得到解密隐秘信息即原始隐秘信息;其次,按照第一种情况的过程,以相同的方式无失真地恢复出原始灰度图像。

所述的预测错误检测部分的具体步骤为:

步骤1_1:将待处理的灰度图像中的每个像素点确定为采样像素点或非采样像素点;对于待处理的灰度图像中的任一个像素点,若该像素点的坐标位置为(2n-1,2m-1),则将该像素点确定为采样像素点;将待处理的灰度图像中除采样像素点外的所有像素点确定为非采样像素点;其中,n和m为正整数,n表示待处理的灰度图像的宽度,m表示待处理的灰度图像的高度,符号为向下取整运算符号;

步骤1_2:采用插值技术,利用待处理的灰度图像中的所有采样像素点的像素值,计算待处理的灰度图像中的每个非采样像素点的预测值;

步骤1_3:对待处理的灰度图像中的每个非采样像素点进行标记,标记为预测错误或预测准确;对于待处理的灰度图像中的任一个非采样像素点,将该非采样像素点的像素值的二进制数的最高比特位取反,得到该非采样像素点的像素值对应的第一修正值;将该非采样像素点的像素值的二进制数的次高比特位取反,得到该非采样像素点的像素值对应的第二修正值;将该非采样像素点的像素值的二进制数的最高比特位和次高比特位同时取反,得到该非采样像素点的像素值对应的第三修正值;然后计算该非采样像素点的像素值与预测值的差值的绝对值、该非采样像素点的像素值对应的第一修正值与预测值的差值的绝对值、该非采样像素点的像素值对应的第二修正值与预测值的差值的绝对值、该非采样像素点的像素值对应的第三修正值与预测值的差值的绝对值,若该非采样像素点的坐标位置为(x,y),则将上述4个绝对值依次对应记为i0(x,y)、i1(x,y)、i2(x,y)、i3(x,y);再判断i0(x,y)≥i1(x,y)或i0(x,y)≥i2(x,y)或i0(x,y)≥i3(x,y)是否成立,若成立,则将该非采样像素点标记为预测错误,否则,将该非采样像素点标记为预测准确;在待处理的灰度图像中的所有非采样像素点标记完毕后,得到标记后的灰度图像;其中,1≤x≤n,1≤y≤m。

所述的图像加密部分的具体步骤为:

步骤2_1:利用加密密钥生成一个第一二值伪随机序列;其中,第一二值伪随机序列的长度为大于或等于n×m×8,n表示待处理的灰度图像的宽度,m表示待处理的灰度图像的高度;

步骤2_2:将标记后的灰度图像中当前待处理的像素点定义为当前像素点;

步骤2_3:从第一二值伪随机序列中取出第p位至第p+7位信息;然后利用取出的8位信息对当前像素点的像素值的二进制数的8位比特位进行按位异或加密,以完成当前像素点的加密;其中,p的初始值为1,1≤p≤n×m×8-7;

步骤2_4:令p=p+8,并将标记后的灰度图像中下一个待处理的像素点作为当前像素点,然后返回步骤2_3继续执行,直至标记后的灰度图像中的所有像素点加密完毕,得到密文域图像;其中,p=p+8中的“=”为赋值符号。

所述的密文域图像可逆数据隐藏部分的具体步骤为:

步骤3_1:利用数据隐藏密钥生成一个第二二值伪随机序列;然后利用第二二值伪随机序列中的每位信息对待嵌入的隐秘信息中的每位信息进行按位异或加密,得到加密隐秘信息;其中,第二二值伪随机序列的长度等于q,q表示待嵌入的隐秘信息的长度,q≥2f,f表示密文域图像中标记为预测准确的非采样像素点的总个数;

步骤3_2:将密文域图像中当前待处理的像素点定义为当前像素点;从加密隐秘信息中取出第q位至第q+1位信息,并定义为当前嵌入信息;其中,q的初始值为1,1≤q≤q-1;

步骤3_3:判断当前像素点是否为标记为预测准确的非采样像素点,如果是,则利用当前嵌入信息对当前像素点进行数据嵌入,若当前像素点的坐标位置为(x,y),则将当前像素点经数据嵌入后的像素值记为i′cur(x,y),然后令q=q+2,再执行步骤3_4;否则,对当前像素点不进行数据嵌入,然后执行步骤3_4;其中,1≤x≤n,1≤y≤m,w(q)表示加密隐秘信息中的第q位,w(q+1)表示加密隐秘信息中的第q+1位信息,bcur,(x,y)(k)表示当前像素点的像素值的二进制数的第k位比特位,q=q+2中的“=”为赋值符号;

步骤3_4:将密文域图像中下一个待处理的像素点作为当前像素点,将加密隐秘信息中的第q位至第q+1位信息作为当前嵌入信息,然后返回步骤3_3继续执行,直至密文域图像中的所有像素点处理完毕,得到含隐秘信息的密文域图像。

所述的隐秘信息提取和原始图像无损恢复部分分三种情况:

第一种情况为接收端仅有加密密钥,具体步骤为:

步骤4a_1:利用加密密钥生成一个第三二值伪随机序列;其中,第三二值伪随机序列的长度为大于或等于n×m×8;

步骤4a_2:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点;

步骤4a_3:从第三二值伪随机序列中取出第p位至第p+7位信息;然后利用取出的8位信息对当前像素点的像素值的二进制数的8位比特位进行按位异或解密,以完成当前像素点的解密;其中,p的初始值为1,1≤p≤n×m×8-7;

步骤4a_4:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4a_3继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,得到解密域图像;

步骤4a_5:采用与步骤1_2中相同的插值技术,利用解密域图像中的采样像素点的像素值,计算解密域图像中的每个标记为预测准确的非采样像素点的预测值;

步骤4a_6:无失真恢复出原始灰度图像,将原始灰度图像中坐标位置为(x,y)的像素点的像素值记为iorg(x,y),若解密域图像中坐标位置为(x,y)的像素点为采样像素点或标记为预测错误的非采样像素点,则令iorg(x,y)=ijm(x,y);若解密域图像中坐标位置为(x,y)的像素点为标记为预测准确的非采样像素点,则令令ipre(x,y)表示解密域图像中坐标位置为(x,y)的像素点的预测值,当与ipre(x,y)的差值的绝对值小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值时令与ipre(x,y)的差值的绝对值小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值时令与ipre(x,y)的差值的绝对值小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值时令与ipre(x,y)的差值的绝对值小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值时令其中,1≤x≤n,1≤y≤m,ijm(x,y)表示解密域图像中坐标位置为(x,y)的像素点的像素值,均为引入的中间变量,bjm,(x,y)(k)表示解密域图像中坐标位置为(x,y)的像素点的像素值的二进制数的第k位比特位,iorg(x,y)=ijm(x,y)、中的“=”为赋值符号;

第二种情况为接收端仅有数据隐藏密钥,具体步骤为:

步骤4b_1:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点;

步骤4b_2:判断当前像素点是否为标记为预测准确的非采样像素点,如果是,则对当前像素点进行嵌入信息的提取,若当前像素点的坐标位置为(x,y),且提取出的两位嵌入信息分别为第q位和第q+1位,对应记为则有然后令q=q+2,再执行步骤4b_3;否则,对当前像素点不进行处理,然后执行步骤4b_3;其中,1≤x≤n,1≤y≤m,q的初始值为1,1≤q≤q-1,符号为向下取整运算符号,i′ew,cur(x,y)表示当前像素点的像素值,mod()为求模操作函数,q=q+2中的“=”为赋值符号;

步骤4b_3:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4b_2继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,提取得到隐秘信息;

步骤4b_4:利用数据隐藏密钥生成一个第四二值伪随机序列;然后利用第四二值伪随机序列中的每位信息对提取的隐秘信息中的每位信息进行按位异或解密,得到解密隐秘信息,即得到原始隐秘信息;其中,第四二值伪随机序列的长度等于q;

第三种情况为接收端既有加密密钥也有数据隐藏密钥,具体步骤为步骤4b_1至步骤4b_4及步骤4a_1至步骤4a_6的结合。

与现有技术相比,本发明的优点在于:

1)本发明方法可以直接在密文域图像中嵌入隐秘信息,即数据隐藏者不知道原始灰度图像内容,因此可以有效地解决原始灰度图像内容安全和隐私泄露问题;而且原始灰度图像加密和密文域图像可逆数据隐藏都不会造成图像数据的膨胀。

2)本发明方法在密文域图像可逆数据隐藏部分中,在密文域图像中的每个标记为预测准确的非采样像素点的像素值的二进制数的最高两位比特位中嵌入2位信息,嵌入容量大。

3)本发明方法的实用性强,如果接收端有数据隐藏密钥,则可直接在含隐秘信息的密文域图像中提取出隐秘信息;如果接收端有加密密钥,则可直接解密获得原始灰度图像;如果接收端同时有数据隐藏密钥和加密密钥,则能够提取出隐秘信息,且可无失真地恢复出原始灰度图像。

附图说明

图1为本发明方法的总体实现框图。

具体实施方式

以下结合附图实施例对本发明作进一步详细描述。

本发明提出的一种密文域高容量图像可逆数据隐藏方法,如图所示,其包括预测错误检测、图像加密、密文域图像可逆数据隐藏、隐秘信息提取和原始图像无损恢复四部分。在预测错误检测部分中,先将待处理的灰度图像中的所有像素点分为采样像素点和非采样像素点两类;然后利用所有采样像素点的像素值计算每个非采样像素点的预测值;再根据所有非采样像素点的像素值和预测值,将所有非采样像素点分别标记为预测错误的非采样像素点和标记为预测准确的非采样像素点两类,得到标记后的灰度图像。在图像加密部分中,利用加密密钥生成的第一二值伪随机序列对标记后的灰度图像中的每个像素点进行加密,得到密文域图像。在密文域图像可逆数据隐藏部分中,先利用数据隐藏密钥生成的第二二值伪随机序列对待嵌入的隐秘信息进行加密,得到加密隐秘信息;然后利用加密隐秘信息对密文域图像中的每个标记为预测准确的非采样像素点进行数据嵌入,得到含隐秘信息的密文域图像。在隐秘信息提取和原始图像无损恢复部分中,分三种情况:第一种情况为接收端仅有加密密钥,先利用加密密钥生成的第三二值伪随机序列对含隐秘信息的密文域图像中的每个像素点进行解密,得到解密域图像;然后利用解密域图像中的所有采样像素点的像素值,计算解密域图像中的每个标记为预测准确的非采样像素点的预测值;再根据解密域图像中的采样像素点和标记为预测错误的非采样像素点各自的像素值,获得原始灰度图像中对应像素点的像素值;并根据解密域图像中的标记为预测准确的非采样像素点的像素值和预测值,获得原始灰度图像中对应像素点的像素值。第二种情况为接收端仅有数据隐藏密钥,先从含隐秘信息的密文域图像中的每个标记为预测准确的非采样像素点中提取出两位嵌入信息,得到隐秘信息;然后利用数据隐藏密钥生成的第四二值伪随机序列对提取的隐秘信息进行解密,得到解密隐秘信息,即得到原始隐秘信息。第三种情况为接收端既有加密密钥也有数据隐藏密钥,首先,按照第二种情况的过程,以相同的方式提取得到解密隐秘信息即原始隐秘信息;其次,按照第一种情况的过程,以相同的方式无失真地恢复出原始灰度图像;具体过程为:先从含隐秘信息的密文域图像中的每个标记为预测准确的非采样像素点中提取出两位嵌入信息,得到隐秘信息;然后利用数据隐藏密钥生成的第四二值伪随机序列对提取的隐秘信息进行解密,得到解密隐秘信息,即得到原始隐秘信息;接着利用加密密钥生成的第三二值伪随机序列对含隐秘信息的密文域图像中的每个像素点进行解密,得到解密域图像;之后利用解密域图像中的所有采样像素点的像素值,计算解密域图像中的每个标记为预测准确的非采样像素点的预测值;再根据解密域图像中的采样像素点和标记为预测错误的非采样像素点各自的像素值,获得原始灰度图像中对应像素点的像素值;并根据解密域图像中的标记为预测准确的非采样像素点的像素值和预测值,获得原始灰度图像中对应像素点的像素值,至此无失真地恢复得到了原始灰度图像。

在本实施例中,预测错误检测部分的具体步骤为:

步骤1_1:将待处理的灰度图像中的每个像素点确定为采样像素点或非采样像素点;对于待处理的灰度图像中的任一个像素点,若该像素点的坐标位置为(2n-1,2m-1),则将该像素点确定为采样像素点;将待处理的灰度图像中除采样像素点外的所有像素点确定为非采样像素点;其中,n和m为正整数,n表示待处理的灰度图像的宽度,m表示待处理的灰度图像的高度,符号为向下取整运算符号。

步骤1_2:采用现有的插值技术,利用待处理的灰度图像中的所有采样像素点的像素值,计算待处理的灰度图像中的每个非采样像素点的预测值。

步骤1_3:由于本发明的密文域图像可逆数据隐藏部分中是通过msb(最高有效位)替换实现的,因此在数据嵌入后原始msb值将丢失,为了恢复原始图像,利用采样像素点的像素值来预测非采样像素点的预测值,为了无损地恢复,需要检测可能的预测错误。对待处理的灰度图像中的每个非采样像素点进行标记,标记为预测错误或预测准确;对于待处理的灰度图像中的任一个非采样像素点,将该非采样像素点的像素值的二进制数的最高比特位取反,得到该非采样像素点的像素值对应的第一修正值;并将该非采样像素点的像素值的二进制数的次高比特位取反,得到该非采样像素点的像素值对应的第二修正值;将该非采样像素点的像素值的二进制数的最高比特位和次高比特位同时取反,得到该非采样像素点的像素值对应的第三修正值;然后计算该非采样像素点的像素值与预测值的差值的绝对值、该非采样像素点的像素值对应的第一修正值与预测值的差值的绝对值、该非采样像素点的像素值对应的第二修正值与预测值的差值的绝对值、该非采样像素点的像素值对应的第三修正值与预测值的差值的绝对值,若该非采样像素点的坐标位置为(x,y),则将上述4个绝对值依次对应记为i0(x,y)、i1(x,y)、i2(x,y)、i3(x,y);再判断i0(x,y)≥i1(x,y)或i0(x,y)≥i2(x,y)或i0(x,y)≥i3(x,y)是否成立,若成立,则将该非采样像素点标记为预测错误,否则,将该非采样像素点标记为预测准确;在待处理的灰度图像中的所有非采样像素点标记完毕后,得到标记后的灰度图像;其中,1≤x≤n,1≤y≤m。

在本实施例中,图像加密部分的具体步骤为:

步骤2_1:利用加密密钥生成一个第一二值伪随机序列;其中,第一二值伪随机序列的长度为大于或等于n×m×8,n表示待处理的灰度图像的宽度,m表示待处理的灰度图像的高度;在此,加密密钥可自行给定。

步骤2_2:将标记后的灰度图像中当前待处理的像素点定义为当前像素点。

步骤2_3:从第一二值伪随机序列中取出第p位至第p+7位信息;然后利用取出的8位信息对当前像素点的像素值的二进制数的8位比特位进行按位异或加密,以完成当前像素点的加密;其中,p的初始值为1,1≤p≤n×m×8-7。

步骤2_4:令p=p+8,并将标记后的灰度图像中下一个待处理的像素点作为当前像素点,然后返回步骤2_3继续执行,直至标记后的灰度图像中的所有像素点加密完毕,得到密文域图像;其中,p=p+8中的“=”为赋值符号。

在本实施例中,密文域图像可逆数据隐藏部分的具体步骤为:

步骤3_1:利用数据隐藏密钥生成一个第二二值伪随机序列;然后利用第二二值伪随机序列中的每位信息对待嵌入的隐秘信息中的每位信息进行按位异或加密,得到加密隐秘信息;其中,第二二值伪随机序列的长度等于q,q表示待嵌入的隐秘信息的长度,q≥2f,f表示密文域图像中标记为预测准确的非采样像素点的总个数;在此,数据隐藏密钥可自行给定。

步骤3_2:将密文域图像中当前待处理的像素点定义为当前像素点;从加密隐秘信息中取出第q位至第q+1位信息,并定义为当前嵌入信息;其中,q的初始值为1,1≤q≤q-1。

步骤3_3:判断当前像素点是否为标记为预测准确的非采样像素点,如果是,则利用当前嵌入信息对当前像素点进行数据嵌入,若当前像素点的坐标位置为(x,y),则将当前像素点经数据嵌入后的像素值记为i′cur(x,y),然后令q=q+2,再执行步骤3_4;否则,对当前像素点不进行数据嵌入,然后执行步骤3_4;其中,1≤x≤n,1≤y≤m,w(q)表示加密隐秘信息中的第q位,w(q+1)表示加密隐秘信息中的第q+1位信息,bcur,(x,y)(k)表示当前像素点的像素值的二进制数的第k位比特位,q=q+2中的“=”为赋值符号。

步骤3_4:将密文域图像中下一个待处理的像素点作为当前像素点,将加密隐秘信息中的第q位至第q+1位信息作为当前嵌入信息,然后返回步骤3_3继续执行,直至密文域图像中的所有像素点处理完毕,得到含隐秘信息的密文域图像。

在本实施例中,隐秘信息提取和原始图像无损恢复部分分三种情况:

第一种情况为接收端仅有加密密钥,具体步骤为:

步骤4a_1:利用加密密钥生成一个第三二值伪随机序列;其中,第三二值伪随机序列的长度为大于或等于n×m×8;由于加密密钥是发送端发送给接收端的,因此利用同一个加密密钥生成的第三二值伪随机序列与第一二值伪随机序列是相同的。

步骤4a_2:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点。

步骤4a_3:从第三二值伪随机序列中取出第p位至第p+7位信息;然后利用取出的8位信息对当前像素点的像素值的二进制数的8位比特位进行按位异或解密,以完成当前像素点的解密;其中,p的初始值为1,1≤p≤n×m×8-7。

步骤4a_4:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4a_3继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,得到解密域图像。

步骤4a_5:由于在密文域图像可逆数据隐藏部分中对标记为预测准确的非采样像素点的像素值的二进制数的最高两位比特位进行了修改,因此标记为预测准确的非采样像素点经解密后的像素值的二进制数的最高两位比特位与原始的灰度图像中对应像素点的像素值的二进制数的最高两位比特位不相同,为此还需要对标记为预测准确的非采样像素点经解密后的像素值的二进制数的最高两位比特位进行预测;由于在密文域图像可逆数据隐藏部分中采样像素点的像素值没有发生变化,因此仍然可以利用采样像素点的像素值来预测标记为预测准确的非采样像素点的预测值。采用与步骤1_2中相同的插值技术,利用解密域图像中的采样像素点的像素值,计算解密域图像中的每个标记为预测准确的非采样像素点的预测值。

步骤4a_6:无失真恢复出原始灰度图像,将原始灰度图像中坐标位置为(x,y)的像素点的像素值记为iorg(x,y),若解密域图像中坐标位置为(x,y)的像素点为采样像素点或标记为预测错误的非采样像素点,则令iorg(x,y)=ijm(x,y);若解密域图像中坐标位置为(x,y)的像素点为标记为预测准确的非采样像素点,则令令ipre(x,y)表示解密域图像中坐标位置为(x,y)的像素点的预测值,当与ipre(x,y)的差值的绝对值小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值时令与ipre(x,y)的差值的绝对值小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值时令与ipre(x,y)的差值的绝对值小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值时令与ipre(x,y)的差值的绝对值小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值时令其中,1≤x≤n,1≤y≤m,ijm(x,y)表示解密域图像中坐标位置为(x,y)的像素点的像素值,均为引入的中间变量,bjm,(x,y)(k)表示解密域图像中坐标位置为(x,y)的像素点的像素值的二进制数的第k位比特位,iorg(x,y)=ijm(x,y)、中的“=”为赋值符号。

第二种情况为接收端仅有数据隐藏密钥,具体步骤为:

步骤4b_1:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点。

步骤4b_2:判断当前像素点是否为标记为预测准确的非采样像素点,如果是,则对当前像素点进行嵌入信息的提取,若当前像素点的坐标位置为(x,y),且提取出的两位嵌入信息分别为第q位和第q+1位,对应记为则有然后令q=q+2,再执行步骤4b_3;否则,对当前像素点不进行处理,然后执行步骤4b_3;其中,1≤x≤n,1≤y≤m,q的初始值为1,1≤q≤q-1,符号为向下取整运算符号,i′ew,cur(x,y)表示当前像素点的像素值,mod()为求模操作函数,q=q+2中的“=”为赋值符号。

步骤4b_3:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4b_2继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,提取得到隐秘信息。

步骤4b_4:利用数据隐藏密钥生成一个第四二值伪随机序列;然后利用第四二值伪随机序列中的每位信息对提取的隐秘信息中的每位信息进行按位异或解密,得到解密隐秘信息,即得到原始隐秘信息;其中,第四二值伪随机序列的长度等于q;由于数据隐藏密钥是发送端发送给接收端的,因此利用同一个数据隐藏密钥生成的第四二值伪随机序列与第二二值伪随机序列是相同的。

第三种情况为接收端既有加密密钥也有数据隐藏密钥,具体步骤为步骤4b_1至步骤4b_4及步骤4a_1至步骤4a_6的结合。即具体步骤为:

步骤4c_1:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点。

步骤4c_2:判断当前像素点是否为标记为预测准确的非采样像素点,如果是,则对当前像素点进行嵌入信息的提取,若当前像素点的坐标位置为(x,y),且提取出的两位嵌入信息分别为第q位和第q+1位,对应记为则有然后令q=q+2,再执行步骤4c_3;否则,对当前像素点不进行处理,然后执行步骤4c_3;其中,1≤x≤n,1≤y≤m,q的初始值为1,1≤q≤q-1,符号为向下取整运算符号,i′ew,cur(x,y)表示当前像素点的像素值,mod()为求模操作函数,q=q+2中的“=”为赋值符号。

步骤4c_3:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4c_2继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,提取得到隐秘信息。

步骤4c_4:利用数据隐藏密钥生成一个第四二值伪随机序列;然后利用第四二值伪随机序列中的每位信息对提取的隐秘信息中的每位信息进行按位异或解密,得到解密隐秘信息,即得到原始隐秘信息;其中,第四二值伪随机序列的长度等于q;由于数据隐藏密钥是发送端发送给接收端的,因此利用同一个数据隐藏密钥生成的第四二值伪随机序列与第二二值伪随机序列是相同的。

步骤4c_5:利用加密密钥生成一个第三二值伪随机序列;其中,第三二值伪随机序列的长度为大于或等于n×m×8;由于加密密钥是发送端发送给接收端的,因此利用同一个加密密钥生成的第三二值伪随机序列与第一二值伪随机序列是相同的。

步骤4c_6:将含隐秘信息的密文域图像中当前待处理的像素点定义为当前像素点。

步骤4c_7:从第三二值伪随机序列中取出第p位至第p+7位信息;然后利用取出的8位信息对当前像素点的像素值的二进制数的8位比特位进行按位异或解密,以完成当前像素点的解密;其中,p的初始值为1,1≤p≤n×m×8-7。

步骤4c_8:将含隐秘信息的密文域图像中下一个待处理的像素点作为当前像素点,然后返回步骤4c_7继续执行,直至含隐秘信息的密文域图像中的所有像素点处理完毕,得到解密域图像。

步骤4c_9:采用与步骤1_2中相同的插值技术,利用解密域图像中的采样像素点的像素值,计算解密域图像中的每个标记为预测准确的非采样像素点的预测值。

步骤4c_10:无失真恢复出原始灰度图像,将原始灰度图像中坐标位置为(x,y)的像素点的像素值记为iorg(x,y),若解密域图像中坐标位置为(x,y)的像素点为采样像素点或标记为预测错误的非采样像素点,则令iorg(x,y)=ijm(x,y);若解密域图像中坐标位置为(x,y)的像素点为标记为预测准确的非采样像素点,则令令ipre(x,y)表示解密域图像中坐标位置为(x,y)的像素点的预测值,当与ipre(x,y)的差值的绝对值小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值时令与ipre(x,y)的差值的绝对值小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值时令与ipre(x,y)的差值的绝对值小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值时令与ipre(x,y)的差值的绝对值小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值且小于与ipre(x,y)的差值的绝对值时令其中,1≤x≤n,1≤y≤m,ijm(x,y)表示解密域图像中坐标位置为(x,y)的像素点的像素值,均为引入的中间变量,bjm,(x,y)(k)表示解密域图像中坐标位置为(x,y)的像素点的像素值的二进制数的第k位比特位,iorg(x,y)=ijm(x,y)、中的“=”为赋值符号。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1