本发明属于信息加密技术,具体涉及一种面向数字图像隐私保护和管理的可逆数据嵌入编码方法。
背景技术:
:随着社会的进步,科技的高速发展,网络通信技术和云存储技术也日新月异。云存储技术存取方便,节约用户的存储成本和存储空间,让用户的存取行为不受时间,地点的约束。总而言之,网络通信技术和云存储技术为人们的工作生活带来了极大的便利,人们越来越依赖于网络通信和云存储。然而,在这样一个数据交互极为便利的大数据时代,如何保证在高速便捷的存取条件下,实现庞大的存储的数字图像的安全,保护所存储数据的保密性,真实性,完整性,同时能准确地标注文件以实现图像的无误检索,对于申请查看或使用的用户进行权限认证,成为人们的关注点。越来越多的网络安全研究人员也聚焦于这个问题,致力于提出安全性能更好,实现速度更高效更简便的云环境下密文域数据标注方法。传统的云环境下密文域数据标注将数据与标注分开存储,不仅占用额外的存储空间,检索步骤也较为繁琐。面向数字图像隐私保护和管理的可逆数据嵌入编码方法能在图像中嵌入秘密信息并对数字图像进行加密,简单地说,图像本身是秘密信息的载体,无需再占用额外的存储空间。在密文图像进行解密后,可以提取嵌入数据并对图像进行恢复。现有的面向数字图像隐私保护和管理的可逆数据嵌入编码方法,嵌入容量较低,越来越不符合现在的需求。技术实现要素:发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种面向数字图像隐私保护和管理的可逆数据嵌入编码方法,能够有效保证数据大容量的嵌入。技术方案:本发明的面向数字图像隐私保护和管理的可逆数据嵌入编码方法,依次包括以下步骤:(1)载入数字图像,并进行参数设置以及预处理;(1.1)将灰度图像分为8个位平面图,灰度图像中每个像素点灰度值的第i位共同组成一个新的二值图像即为该图像的第i个位平面图ii,1≤i≤8且i为整数;(1.2)将8个位平面图分别进行分块,每个位平面图均划分为若干个不重叠的分块,每个分块大小为s1×s2,3≤s1≤9,3≤s2≤9,每个分块有n个比特,n=s1*s2且9≤n≤81;(1.3)每个位平面图ii中的每个分块,若能够用少于或等于n个比特的标志位和结构信息来还原该分块,则该分块能够嵌入额外的比特信息,否则,该分块不能进行信息嵌入操作;然后根据每个分块是否能够嵌入额外的比特信息以及块的情况对各个分块进行分类,用不同的标志位来标记不同类别的分块;(2)信息嵌入与加密;(2.1)对于每个位平面图ii,计算每个位平面图中能够嵌入信息的分块m的嵌入总容量ci,记录所有不能嵌入信息的分块m中需要被标志位代替的值,将这些值记为记录信息b,这些记录信息b用以复原嵌入信息后的位平面图ii′,b和秘密信息p一起作为嵌入信息嵌入该位平面图ii;计算每个位平面图ii中b的总位数ti,若某一个位平面图ii的总嵌入容量ci大于记录信息b的总位数ti,则证明该位平面图能够额外嵌入比特信息,可进行数据嵌入编码,最终用八个比特位的enf来标记这8个位平面图是否能够进行信息嵌入,若该位平面能够嵌入信息则置enf(i)=1,否则,enf作为嵌入信息嵌入至最高位的位平面图i8的冗余空间中;(2.2)对于步骤(2.1)中判断可嵌入信息的每个位平面图ii,均计算可嵌入额外信息的分块的结构信息,将标志位信息和结构信息嵌入该分块,剩余比特位用以嵌入额外信息,对于不可嵌入额外信息的分块,用相应的标志位进行标记即可,由此得到携有嵌入信息的位平面图ii′。(2.3)对每个位平面图ii′用流密码对称加密算法进行加密,得到8个加密后的位平面图ii″,将这8个加密后的位平面图ii″合成为一个灰度图像即得到灰度图像img′的密文;其中,ii为未嵌入信息的位平面图,ii′为嵌入信息的位平面图,i″i为加密后的位平面图。(3)解密:信息提取与图像恢复;(3.1)将步骤(2.3)所得灰度图像img′的密文分解为8个位平面图,将每个位平面图中不为0的位置设为1,得到8个处理后的位平面密文图像ii″,对这8个处理后的位平面密文图像ii″进行流密码解密运算,得到嵌入结构信息和额外信息的8个二进制图像ii′;(3.2)对解密后的最高位的位平面图像ii′首先进行信息提取,读取位平面图中每个分块的标志位,对标志位为可嵌入信息的分块提取其嵌入信息,标志位为不可嵌入信息的分块暂不做处理;整个最高位的二进制图所提取的信息记为d,d包括用于判断每个位平面图是否可嵌入信息的enf、用于恢复不可嵌入信息的分块的信息b和秘密信息p;然后根据提取数据中的enf对剩余7个二进制图中嵌入过信息的图像进行信息提取,此处的提取方法与最高位的位平面图像信息提取方法相同;(3.3)将8个位平面图ii′恢复为原始的位平面图,即恢复为进行预处理和信息嵌入前的位平面图ii,将8个位平面图ii′中嵌入过信息的图像通过标志位和结构信息对图像中嵌入过信息的分块进行恢复,用所提取的信息d的前ti位信息对未嵌入过信息的分块进行恢复,最终,将8个位平面图ii合成一个灰度图像,即为原始灰度图像。进一步的,步骤(1.2)中,对每个位平面图ii中的分块m进行分类的方法如下:m的值分块的类型分块的情况分块的标志位m>nai无法嵌入信息00m=n0=0ii可嵌入信息,像素均为111m=n1=0iii可嵌入信息,像素均为0101≤m≤na,n0<n1iv可嵌入信息,像素多为10111≤m≤na,n1<n0v可嵌入信息,像素多为0010每个分块内的比特数为n,计算分块中0的个数n0,计算分块中1的个数n1;对于每个分块的计算公式为:m=min(n0,n1);其中,na为阈值,当m的值不大于na时,表示该分块可以用小于或等于n位的标志位信息和结构信息对该分块进行数据嵌入编码,该分块可获得冗余空间嵌入额外信息,若m的值大于na,则该分块不能进行信息嵌入。阈值na的计算公式如下:其中,x为能满足上述公式大括号中的不等式的最大值。进一步的,对每个分块的标志位信息和结构信息的计算方法如下:若分块为i类分块,则分块不能嵌入信息,分块的前两位置为00;若分块为ii类分块,将分块的前两位置为11,其余n-2位比特嵌入额外信息;若分块为iii类分块,将分块的前两位置为10,其余n-2位比特嵌入额外信息;若分块为iv类分块,计算分块的结构信息及其位数s,将分块的前三位置为011,将分块的第4位至第3+s位置为结构信息,其余n-s-3位比特嵌入额外信息;若分块为v类分块,计算分块的结构信息及其位数s,将分块的前三位置为010,将分块的第4位至第3+s位置为结构信息,其余n-s-3位比特嵌入额外信息;对于i类分块、ii类分块和iii类分块无需结构信息就可实现分块的还原,对于iv类分块和v类分块,其结构信息的计算方法如下:用p表示分块的参数m的二进制形式所占位数,用数组b存储m个0或1在分块中所在的绝对位置,p的计算公式为:用数组z表示m个0或1的位置信息,块中第一个0或1的位置可用其绝对位置表示,对于非第一个0或1的位置可用其与前一个0或1的位置的相对距离表示,计算公式如下:用数组q表示数组z中的每个数用二进制形式表示时所占位数,计算公式如下:二进制形式的p和数组z共同组成第iv类分块和第v类分块的结构信息。进一步的,步骤(2.1)中,对编号为i的位平面图ii′进行信息嵌入时,每个位平面图的嵌入总容量ci和记录信息的位数ti的具体计算过程如下:若分块为i类分块,则分块不能嵌入信息,ti=ti+2;若分块为ii类分块和iii类分块,则分块能嵌入n-2位比特信息,ci=ci+n-2;若分块为iv类分块,计算分块的结构信息及其位数s,分块能嵌入的信息位数为c=n-s-3,ci=ci+c;若分块为v类分块,计算分块的结构信息及其位数s,分块能嵌入的信息位数为c=n-s-3,ci=ci+c;在所有分块m判别完毕后,若ci≥ti,说明编号为i的位平面图ii可以进行额外信息的嵌入并进行数据嵌入编码,对应的位平面图ii的标记位enf(i)=1,若该位平面图不能进行信息嵌入操作,则位平面图的标记位enf(i)=0;对于最高位位平面图i8将位平面图的标记位信息enf,记录信息b和信息秘密信息p嵌入该二进制图,得到携有嵌入信息的i′8;对于非最高位二进制图ii,将ti比特的信息b和信息p嵌入该二进制图,得到携有嵌入信息的ii′;最后对8个二进制图用流密码对称加密算法进行加密,对应得到ii″,并合成为灰度图像的密文形式,得到img′。进一步的,步骤(3.2)中对于每个解密后位平面图ii′其信息提取和图像恢复过程如下:对于嵌有标志位信息和结构信息的位平面图ii′的每个分块进行扫描:若分块为i类分块,则分块未嵌入信息;若分块为ii类分块和iii类分块,则分块嵌入了n-2位比特信息,记该分块最后n-2位信息为data,提取信息exd=exd||data;若分块为iv类分块,计算分块的结构信息及其位数s,分块能嵌入的信息位数为c=n-s-3,记该分块最后c位信息为data,提取信息exd=exd||data;若分块为v类分块,计算分块的结构信息及其位数s,分块能嵌入的信息位数为c=n-s-3,记该分块最后c位信息为data,提取信息exd=exd||data;对位平面图ii′的所有分块判断完毕后,exd即为从ii′所提取信息,i8′的exd的前八位即为8个位平面图的标志信息enf,若enf(i)=1,则对编号为i的解密后的位平面图ii′进行信息的提取操作,否则不对编号为i的解密后的位平面图ii′进行信息的提取操作,提取完毕所有的嵌入信息后,对嵌入过信息的二进制图像ii′进行图像恢复操作,最终,将8个二进制信息图恢复为原始的灰度图像。进一步的,对于嵌入信息的位平面图ii′中的每个分块进行如下分块恢复操作:若分块为i类分块,将分块的前两位用exd中的记录信息代替;若分块为ii类分块,将分块内的所有比特置为1;若分块为iii类分块,将分块内的所有比特置为0;若分块为iv类分块,读取该分块的结构信息,分块的4至3+p位比特信息即为原始块中0的个数;分块的4+p比特至位比特信息即为原始分块第一个0所在的位置b(1),记temp为当前所读取的块内信息位置;对于剩余的第i个0的位置,分块的temp+1比特至位比特信息即为第i个0与第i-1个0的相对位置z(i),则第i个0的位置b(i)=b(i-1)+z(i);将块内数组b所对应的位置都置为0即完成iv类分块的恢复;若分块为v类分块,读取该分块的结构信息,分块的4至3+p位比特信息即为原始块中1的个数;分块的4+p比特至位比特信息即为原始分块第一个1所在的位置b(1),记temp为当前所读取的块内信息位置;对于剩余的第i个1的位置,分块的temp+1比特至位比特信息即为第i个1与第i-1个1的相对位置z(i),则第i个1的位置b(i)=b(i-1)+z(i);将块内数组b所对应的位置都置为1即完成v类分块的恢复;把嵌入信息的位平面图ii′中所有的分块进行恢复原始分块操作,即可将位平面图恢复为原始位平面图ii,最后将8个二进制图ii合为的灰度图像即为原始灰度图像。有益效果:本发明可在一个数字图像中嵌入二进制信息,并通过流密码算法对携有秘密信息的图像进行加密,当用户想使用这个图像时,首先对图像进行解密,然后提取嵌入信息并将图像恢复为原始载体图像,本发明整体是面向数字图像隐私保护和管理的可逆数据嵌入编码方法,过程简单易行,不占额外存储空间,整个过程隐私得以全面的保护和管理。附图说明图1为本发明的整体流程图;图2为实施例中采用的原始载体图像示意图;图3为实施例中将图2的原始图像分为8个位平面图的效果示意图;图4为实例中嵌入信息的灰度图像示意图;图5为实施例中对嵌入信息的灰度图像的每个位平面图加密后的灰度图像示意图;图6为实施例中解密并提取数据后复原的原始载体图像示意图。其中,原始载体图像采用512*512lena标准测试图。具体实施方式下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。实施例1:如图1至图6所示,本实施中的面向数字图像隐私保护和管理的可逆数据嵌入编码方法,包括参数设置与数字图像预处理模块、信息嵌入与加密模块、解密与信息提取模块,主要包括以下步骤:(1)参数设置与数字图像预处理模块,其用于预处理数字图像;(1-1)将512*512lena标准测试图img分为8个位平面图ii(1≤i≤8,i为整数),具体操作如下:ii=ii/(2i-1)。灰度图像中每个像素点灰度值的第i位共同组成一个新的二值图像即为该图像的第i个位平面图ii。(1-2)将由1-1所得的8个位平面图分别进行分块。划分为若干个个不重叠的块,分块大小为4×4,块内有n个比特,n=16。(1-3)对有n个比特的分块,计算阈值na:由上式计算得na=2;用p位二进制记录小于或等于阈值的正整数。p的计算方法如下:由上式得p=1;当数量较少的比特值的个数m小于2时,能够用少于或等于16个比特的结构信息来还原该块,表示该块可以嵌入信息。(1-4)分别判断8个位平面图的每个分块是否能够在嵌入结构信息后嵌入额外比特信息,对位平面图中的分块进行分类的方法如下:表1m的值块的类型块的情况分块的标志位m>2i无法嵌入信息00m=n0=0ii可嵌入信息,像素均为111m=n1=0iii可嵌入信息,像素均为0101≤m≤2,n0<n1iv可嵌入信息,像素多为10111≤m≤2,n1<n0v可嵌入信息,像素多为0010每个分块内的比特数为n,计算分块中0的个数n0,计算分块中1的个数n1。对于每个分块的计算公式如下:m=min(n0,n1)(2)信息嵌入与加密(2-1)计算每个位平面图嵌入容量,记为ci。计算每个位平面图中需要记录的i类分块的前两位比特信息的位数ti。还需记录所有i类分块前两个比特的值b,将这些信息b和秘密信息p一起作为嵌入信息嵌入该位平面图。对于ci,ti,b的计算方法如下:ci=0;ti=0;对于编号为i的位平面图ii中的所有分块进行扫描:若分块为i类分块,则分块不能嵌入信息,记该分块前两个比特的值为b。ti=ti+2,b=b||b。若分块为ii类分块和iii类分块,则分块能嵌入n-2位比特信息。ci=ci+n-2。若分块为iv类分块,计算分块的结构信息及其位数s,分块能嵌入的信息位数为c=n-s-3。ci=ci+c。若分块为v类分块,计算分块的结构信息及其位数s,分块能嵌入的信息位数为c=n-s-3。ci=ci+c。若一个二进制图的ci大于ti,则证明这个位平面图能够嵌入比特信息,能够进行数据嵌入编码。8个位平面图是否能够进行信息嵌入用八个比特位的enf进行标记,在lena测试图中enf=00001111。enf作为嵌入信息嵌入至最高位的位平面图的冗余空间中。(2-2)对每个可嵌入信息的位平面图的分块,进行如下信息嵌入操作。若分块为i类分块,则分块不能嵌入信息。分块的前两位置为00。若分块为ii类分块,将分块的前两位置为11。若分块为iii类分块,将分块的前两位置为10,其余n-2位比特嵌入额外信息。若分块为iv类分块,计算分块的结构信息及其位数s,将分块的前三位置为011,将分块的第4位至第3+s位置为结构信息,其余n-s-3位比特嵌入额外信息。若分块为v类分块,计算分块的结构信息及其位数s,将分块的前三位置为010,将分块的第4位至第3+s位置为结构信息,其余n-s-3位比特嵌入额外信息。对于i类分块,ii类分块和iii类分块无需结构信息就可实现分块的还原,对于iv类分块和v类分块,其结构信息的计算方法如下:用p表示m的二进制形式所占位数。用数组b存储m个0或1在块中所在的绝对位置。p的计算公式如下:计算可得p为1。用数组z表示m个0或1的位置信息,块中第一个0或1的位置可用其绝对位置表示,对于非第一个0或1的位置可用其与前一个0或1的位置的相对距离表示,计算公式如下:用数组q表示数组z中的每个数用二进制形式表示时所占位数,计算公式如下:二进制形式的p和数组z共同组成第iv类分块和第v类分块的结构信息。对不可嵌入信息的二进制图不做信息嵌入处理。将这8个经过信息嵌入后的位平面图ii′合成为一个灰度图像的密文img′。合成方法如下:(2-3)利用密钥keyen对每个嵌入信息的位平面图用流密码对称加密算法进行加密,得到8个加密的二进制图像。将这8个加密的二进制图像i″合成为一个灰度图像的密文img″。合成方法如下:(3)解密与信息提取(3-1)将灰度图像的密文分解为8个位平面图,将位平面图中不为0的位置设为1,得到8个处理后的位平面密文图像。对这8个位平面密文图像用keyen进行流密码解密运算。得到嵌入结构信息和额外信息的8个位平面图像。(3-2)对最高位的解密后的位平面图像首先进行信息提取,整个最高位的位平面图所提取的信息exd包括enf,恢复i类分块的信息b和秘密信息p。对于i8′进行如下信息提取操作:扫描i8′中的所有分块:若分块为i类分块,则分块未嵌入信息。若分块为ii类分块和iii类分块,则分块嵌入了n-2位比特信息。记该分块最后n-2位信息为data,提取信息exd=exd||data。若分块为iv类分块,计算分块的结构信息及其位数s,分块能嵌入的信息位数为c=n-s-3。记该分块最后c位信息为data,提取信息exd=exd||data。若分块为v类分块,计算分块的结构信息及其位数s,分块能嵌入的信息位数为c=n-s-3。记该分块最后c位信息为data,提取信息exd=exd||data。对位平面图ii′的所有分块判断完毕后,exd即为从ii′所提取信息。i8′的exd的前八位即为8个位平面图的标志信息enf,若enf(i)=1,则对编号为i的解密后的位平面图进行信息的提取操作,否则不对编号为i的解密后的位平面图进行信息的提取操作。(3-3)提取完毕所有位平面图的嵌入信息后,对嵌入过信息的位平面图ii′恢复为原始位平面图ii。即将8个位平面图通过像恢复为原始的位平面图。将8个位平面图中嵌入过信息的图像通过标志位和结构信息进行图像中可嵌入信息块的恢复,用所提取的exd对i类分块的前两位进行恢复。对于含有嵌入信息的图像ii′具体恢复操作如下:扫描中ii′的每一个分块:若分块为i类分块,将分块的前两位用exd中的记录信息代替。若分块为ii类分块,将分块内的所有比特置为1。若分块为iii类分块,将分块内的所有比特置为0。若分块为iv类分块,读取该分块的结构信息。分块的4至3+p位比特信息即为原始块中0的个数。分块的4+p比特至位比特信息即为原始分块第一个0所在的位置b(1)。记temp为当前所读取的块内信息位置,对于剩余的第i个0的位置,分块的temp+1比特至位比特信息即为第i个0与第i-1个0的相对位置z(i),则第i个0的位置b(i)=b(i-1)+z(i)。将块内数组b所对应的位置都置为0即完成iv类分块的恢复。若分块为v类分块,读取该分块的结构信息。分块的4至3+p位比特信息即为原始块中1的个数。分块的4+p比特至位比特信息即为原始分块第一个1所在的位置b(1)。记temp为当前所读取的块内信息位置,对于剩余的第i个1的位置,分块的temp+1比特至位比特信息即为第i个1与第i-1个1的相对位置z(i),则第i个1的位置b(i)=b(i-1)+z(i)。将块内数组b所对应的位置都置为1即完成v类分块的恢复。最后将8个原始位平面图ii合为的灰度图像即为原始灰度图像。原始图像最后,通过对常用的9张测试图用本发明提出的面向数字图像隐私保护和管理的可逆信息嵌入编码方式进行实验,实验中分块大小为4×4,每个分块有16个比特,阈值为2,经实验后得出以下表2。表2综上,本发明能够面向数字图像隐私保护和管理进行可逆的数据嵌入编码,将灰度图像分为八个位平面图,对每个位平面图进行图像加密和数据嵌入联合编码;然后将这八个位平面图重新合成为灰度图像,即为携有秘密信息的密文图像,得到携有秘密信息的密文图像后,对每个位平面图使用解密密钥可以对密文信息进行解密,解密后的位平面图根据数据嵌入编码可直接提取嵌入信息并将图像恢复为原始载体图像,通过实施例可以看出,本发明有效保证数据的大容量嵌入,载体数据的可逆恢复。当前第1页12