一种高容量二值图像信息隐藏方法与流程

文档序号:15617284发布日期:2018-10-09 21:40阅读:579来源:国知局

本发明属于信息安全、密码学和数字图像处理等交叉学科领域,主体内容为一种针对二值图像的大容量、高隐蔽性、高安全性的信息隐藏方法。



背景技术:

随着互联网以及多媒体技术的快速发展,全球信息数字化进程日益加快,在信息安全领域中基于数字图像的数字隐藏技术成为研究重点。现在很多重要的文件资料经常被扫描为数字化文档以二值图像的形式进行保存并在网络上传输,如手写签名、各种证书、合同票据、机要文件等,另一方面各种重要的历史文献、孤本书稿也以二值图像的形式进行保存。与彩色图像、灰度图像相比较,这些二值图像往往具有较高的价值,所以对二值图像的保护显得格外重要。信息隐藏是一种有效的防伪鉴权、保护数字文件的方法。本发明属于信息隐藏、隐水印和盲水印范畴,根据二值图像特点将秘密信息嵌入载体图像,载体图像的观感及包含的信息不受影响,秘密信息隐蔽性良好。在提取过程中不需要原图像等辅助信息,应用安全性高且便捷。

二值图像的构成与彩色图像、灰度图像有较大的区别,像素点只有黑白两种像素值(即“0”和“1”两种),图像的冗余特别小。如果随意修改其像素值,图像会发生很大的变化,留下明显的修改痕迹。传统的压缩替换、变换域等方法不再适用,面对二值图像的信息隐藏除了需要解决不可见性的挑战外,还需要处理因图像冗余数据量小带来的容量问题和安全问题。所以,同彩色和灰度图像相比,二值图像的信息隐藏难度更大。

现针对二值图像的信息隐藏技术有多种,但已有的二值图像信息隐藏算法在容量、不可见性以及计算量等方面存在许多的局限性。如jung等人发表在informationsciences上的“datahidingmethodinbinaryimagesbasedonblockmaskingforkeyauthentication”,基于一组密钥对来确定像素块是否可以隐藏秘密信息,该方案嵌入后的载体图像实现了较好的视觉效果,但容量很低,每块像素嵌入率低于0.03。tseng等人发表在ieeetransactionsoncommunications上的“asecuredatahidingschemefortwobinaryimages”,通过改变图像分块后的块内黑白像素数量来嵌入秘密信息,会出现“黑白孤岛点”现象。yoo等人发表在journalofsoftwareengineering&applications上的“datahidingmethodwithqualitycontrolforbinaryimages”,通过获取图像奇偶性进行分块,选取可嵌入的奇偶性矩阵块进行像素修改嵌入,使得奇偶性矩阵块所代表的信息和嵌入信息相异或。但计算过程复杂且容量有限。xu等人在journalofcomputerapplications上发表的reversiblebinaryimagedatahidingbyhistogrammodification,把游程长度变化看作直方图调整,从而组合了游程编码和直方图调整两种技术实现信息隐藏,嵌入后载密图像的失真度较高,不可见性较差。



技术实现要素:

鉴于已有的二值图像信息隐藏算法各方面的局限性,本发明提出一种基于块分类及像素连通性的信息隐藏方法。该方法具有较高的容量和较好的视觉不可见性,同时通过混沌系统预处理提高整体的安全性。

为实现以上特性,本发明的主体技术方案为:在嵌入水印之前对水印进行秘密信息的预处理以增加安全性,使用logistic一维混沌系统产生实数混沌序列。将非周期、不相关的实数序列二进制化,记录量化位置截去序列初始和结尾部分,得到二进制混沌序列。在这一过程中使用的五个密钥特征值作为一个密钥组保存下来。将待嵌入的秘密信息与二进制混沌序列进行逐位异或运算,得到置乱后的秘密信息。之后将载密图像进行分块,通过考虑像素块之间的连通性确认像素块的可翻转性,以确保可翻转块位于视觉不敏感的区域,这一过程中计算翻转前后“竖直水平(ir)”、“直角(ir)”“中心到外围(c)”三种连通性值,确定翻转前后保持连通性不变的像素块为可翻转块。然后通过翻转像素块中的外围像素来嵌入信息,这一过程中通过调节像素块整体加权的和来选择翻转的像素点完成嵌入过程。在水印提取部分,将载密图像分块,计算像素块的可翻转性,对可翻转像素块计算加权总和,依次读取各像素块中的信息,取得无序的秘密序列。最后通过密钥生成混沌序列与无序秘密序列进行异或计算,得到真实的秘密信息。

与现有技术相比,本发明具有以下优点:本发明综合考虑了二值图像的特征和人眼视觉特性,融合像素的连通性策略和logistic映射混沌系统,实现二值图像的秘密信息嵌入与提取。实验证明:与现有方法相比,本发明具有较高的嵌入容量和较好的不可见性,且有很好的安全性和抗破译性。

附图说明

图1为本发明方法的流程图;

图2为置乱预处理示意图:(a)为表示置乱前秘密信息,(b)为置乱后秘密信息;

图3为像素块连通性示意图;

图4为可翻转像素块示意图;

图5为本发明应用实例实验结果:使用的四张测试图像依次为a、b、c、d,其中(a1)、(b1)、(c1)、(d1)分别为未载密的测试图像,(a2)、(b2)、(c2)、(d2)分别为对应的嵌入秘密信息后的测试图像;

图6为不同方法的嵌入容量对比图;

具体实施方式

下面结合文章附图和具体的方法实施方式对本发明进行进一步说明。

本发明的流程图如图1所示,一种高容量二值图像信息隐藏方法,该方法具体包括以下流程:

步骤一:秘密信息的置乱预处理;

先选取合适的嵌入信息,嵌入信息为合适的授权信息序列或者包含版权信息的水印图像。采用二值图像信息隐藏方法提取过程中不需要原始载体图像,实现盲提取。侵权者存在取得嵌入提取算法的可能性,为提高算法安全性,先对秘密信息预先进行置乱加密处理。即使攻击者取得载密图像及提取方法,在没有解密密钥的情况下也无法提取秘密信息,安全性更高。

本算法使用典型且被广泛研究的logistic映射是一种一维混沌系统,通过反复迭代产生性能较好的混沌序列,对秘密信息进行处理。logistic映射对初始状态具有敏感的依赖性,对于只有微小差别的初值,在迭代了一定次数之后会产生出差异极大的混沌序列,可以根据秘密信息快速生成非周期、不收敛、不相关的实数混沌序列,{x(n)}表示该序列,序列每项的生成方程定义如下:

xn+1=μxn(1-xn)(1)

其中:n为迭代次数,与序列长度相同,xn∈(0,1),μ为可调的控制参数,用于调节混沌序列的震荡周期,μ∈(0,4]。当3.5699456<μ≤4时,由该映射产生的序列呈现出混沌态。由方程初始值x0根据μ进行logistic映射产生序列实数序列{x(n)},保存的密钥为(μ,x0)。

为使秘密信息易于嵌入到载体中并进一步提高安全性,使密码分析更加困难,将混沌实数序列顺利转化为混沌01序列。过程如下:

1)使用l位二进制数表示xn,即xn=wkwk-1…w2w1,其中k表示位数,k=1,2,…,l-1,l,wk为每一位二进制数,取值为0或1。

2)对于实数混沌序列{x(n)},统一将其实数值量化后得到的第k位二进数wk作为二进制量化序列{w(k)},wk取值为0或1。

3)在使用二进制序列作加密运算的时候截掉序列的初始和结尾部分提高抗破译能力。序列{w(k)}的长度为l,任意去两个整数z1,z2(1<z1,z2<l),截取两个截点之间的二进制伪随机序列{w(k)}为加密密钥序列,序列的长度为z1-z2+1。这样得到的二进制混沌序列不仅依赖于控制参数μ和方程初始值x0,还依赖于量化截点n1、n2和来量化位置k。这样加密密钥为{μ,x0,z1,z2,k},安全性更高。待嵌入的秘密信息以及置乱后的秘密信息如图2中的(b)所示,秘密信息为120×120的二值水印图像。

步骤二:翻转位置选取;

通过对载体图像的像素值进行更改来嵌入秘密信息。因为二值图像只具有“0”和“1”两个像素值,像素值的改变易被发现,会破坏载密图像的视觉隐蔽性。所以信息嵌入时不能孤立地考虑单一像素或几个像素点,必须考虑到翻转像素对其邻域的影响。根据人眼的视觉特性(humanvisualsystem,hvs),可翻转的像素区域应在视觉不敏感的边缘区域,即黑白像素相连的边界处。像素的翻转应该考虑到载密图像的块连通性与平滑性的变化情况。如huijuanyang,alex.c.kot等人的文章“datahidingfortextdocumentimageauthenticationbyconnectivity-preserving”,就通过考虑二值图像的像素连通情况,构造模型来计算像素和其邻域的连通度,在空间域寻找视觉影响较小的像素进行翻转。基于这一原理设计信息隐藏算法。不同之处在于,本算法以n×n像素块中的非中心像素为一组(取n=3进行计算,n≥3即可),翻转其中的像素以实现信息嵌入,显著提高嵌入容量(在水印嵌入和提取过程中有更明确的体现)。为了扩大嵌入容量以及进一步减少载密图像嵌入信息后的失真,使用3×3的像素块来替代单一像素点,寻找像素块间的连通关系,以确定待修改的像素区域。具体方法如下:

记中心像素块为p,其相邻的8个像素块为w1,w2,...,w8。p及w1,w2,...,w8均包含3×3个像素点,如图3所示,其中(i,j)表示像素块位于第i行第j列。p和w1,w2,...,w8表示像素块p及w1,w2,...,w8的中间像素。假设“1”带代表黑像素,“0”代表白像素。通过计算更改中心像素块后3种连通性变化来确定像素是否能够进行翻转。

1)“vh”连通性转变值是水平和竖直方向上的转变次数,记为nvhm和nvhb,计算

公式为:

其中分别表示对p、w取反,“·”表示“逻辑与”运算。

2)“ir”连通性转变值是直角转变次数,记为nir,计算公式为:

3)“c”连通性转变值是中心像素到外围像素的转变次数,记为nc,计算公式为:

4)可翻转像素块的确定,如果翻转前后的“vh”值、“ir”值和“c”值都保持不

变,则像素块p具有可翻转性。“vh”和“ir”保持不变,确保了翻转像素块不会

破坏邻域像素块的连通性,“c”保持不变避免翻转处于顶角的像素块。

在嵌入过程中,在n取3的情况下,通过翻转1或2个像素来进项隐藏3比特秘密信息,而经过计算翻转1个像素的情况居多,提高了嵌入信息的容量。

步骤三:秘密信息嵌入;

在这一步骤中通过改变具有可翻转性的3×3像素块中的8个边界像素值来将秘密信息嵌入到载体图像中。给定一个宽为w0,长为h0的载体图像c,将图像分为m个3×3的像素块。如图4所示,对于可翻转的像素块ci(0<i≤m),其中心像素gi定义为不进行修改的关键像素点,gi的8个邻域像素为非关键像素,表示为q1,q2,…,q8。

设全部经过预处理的秘密信息序列为{r(n)},n为序列长度,q1,q2,...,q8被用来携带r比特秘密信息,其中r=log2(n×n-1)=log2(3×3-1)=3,设要嵌入的r位秘密信息的二进制表示为s1,s2,...,sr。计算像素块的加权总值w和嵌入差值v如下:

v=(s1s2...sr)2-w(7)

其中“mod”表示取余,(s1s2...sr)2表示二进制转换。

为了提高嵌入信息的不可见性,嵌入过程中应尽可能少地修改ci中的像素。如果v=0,则与(s1s2...sr)2的值相等,ci中的像素不需要修改。v≠0时修改ci中的非关键像素,如果将像素qi从0翻转到1,则w的值增加i。所以整个嵌入过程如下所示:

1)根据步骤二计算翻转前后nvhw,nvhb,nir,nc若发生变化则没有秘密信息嵌入,否则进行信息嵌入。

2)将r比特信息嵌入到块ci中,若v=0,则ci所有像素均保持不变。

3)若v≠0,则修改ci的像素以使w增加v。翻转像素对w的改变可分为以下几种:

a)翻转qv=0的点使w增加v。

b)翻转的点使w减少2r-v。

c)同时翻转qx=0,qy=0,其中x=(v×z)mod2r,y=[v×(1-z)]mod2r,z∈(1,2,...,2r),使w增加v。

4)重复步骤1)到3)直到载体图像的所有像素块处理完成。

步骤四:秘密信息提取

本方法的秘密信息提取过程不需要原始载体图像,只需要嵌入了秘密信息的图像即可完成信息的盲提取。将已嵌入秘密信息的载体图像分为若干个大小为n×n的像素块,对每个像素块计算中心像素翻转前后的nvhw,nvhb,nir,nc,以确定像素块是否具有可翻转性。对于不具有可翻转性的像素块进行跳过处理,具有可翻转性的像素块计算其中非关键像素的像素值加权总和w,将w转化为二进制,得到其中包含的r位秘密信息。完成载密图像的所有像素块的计算,得到整体的秘密信息序列{r(n)},n为序列长度。

通过以上过程得到的{r(n)}序列为经过置换预处理的秘密信息,信息是处于加密状态的,即使提取算法被破解,信息仍旧具有安全性。这时通过密钥组{μ,x0,k,z1,z2},按照步骤一的过程使用logistic混乱系统得到二进制混沌序列{w(n)},n的长度与上文中的n相同,再对提取出的置乱后序列{r(n)}和{w(n)}进行逐位异或计算,最终得到嵌入的秘密信息。

提取的过程只涉及到对载密图像像素的计算,提取过程快速且不易产生错误,得到的秘密信息损失极低,同时多密钥的引入及高复杂度混沌序列的使用提高了秘密信息的安全性,加大了密码分析的难度。

方法测试

本实验中使用测试图像a、b、c、d四幅二值图像作为载密图像进行实验。每张二值图像的分辨率为512×512,测试图像具有完整的区块、清晰的黑白线条,符合典型的二值图像特征。实验中使用的秘密信息为长度从200到80000比特的随机01序列,包含了不同大小的秘密信息段。除了对本方法的实验外,本发明对比了venkatesan等人及tseng等人的方法,使用的载密图像和秘密信息与本方法一致。

测试一:psnr测试

峰值信噪比(peaksignaltonoiseratio,psnr)是目前用于图像质量评价的最常用标准,在图像信息隐藏中,psnr值越大,图像失真越小。表1给出使用四幅测试图像作为载密图像分别使用三种不同的方法嵌入秘密信息时的psnr值。从表1可以看出,在同等嵌入比特量的条件下,采用本文方法的载密图像psnr值比其他两种方法更大,图像失真更小。

测试二:嵌入容量测试

图6的实验数据表示了在相同载体图像使用不同方法嵌入秘密信息的最大嵌入容量以及处于相同嵌入容量区间时图像的psnr值。有图6可以看出本发明方法的嵌入容量要高于其他两种方法,同时在相同嵌入区间时具有较高的图像素质。

测试三:嵌入时修改比特量测试

表2的实验数据反映了本发明方法和venkatesan等人及tseng等人的方法在相同条件下实际修改比特量的差异。从表2可以看出嵌入等大小的秘密信息时本发明方法修改的比特量更小。本发明方法与其他两种方法相比翻转的像素数量更少,不可见性更高。并且嵌入秘密信息后的载密图像无法用肉眼观察到秘密信息的存在,见图5。

测试四:安全性测试

以上三个测试可以看出本发明方法与venkatesan等人及tseng等人的方法相比具有更高的嵌入容量和更好的不可见性。除此之外,还需要对方法进项安全性分析。venkatesan等人及tseng等人的方法在获得提取算法的情况下均可提取秘密信息,本方法在信息提取方法泄露的情况下,需要解密密钥组{μ,x0,z1,z2,k},才能恢复秘密信息,具备更高的安全性。

表1为不同方法的psnr对比

表2为不同方法的实际修改比特量对比

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