利索能及
我要发布
收藏
专利号: 2018100425283
申请人: 重庆邮电大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-01-15
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于像素块的自适应图像纹理区隐写算法,其特征在于,将机密文件隐藏在载体图像中,在保证视觉隐蔽性和统计安全性的情况下,进行公开的传输,达到机密信息不被窃取蒙蔽过关的效果。所述方法包括:接受机密信息,主要是以文件的形式存在,机密文件藏入灰度图像中,重组得到隐藏机密文件的图像;

传输隐藏机密文件的图像给通信双方的接收者,从藏有机密文件的载密图像中进行提取并且解密机密文件,使接收者得到机密文件;

发送者与接收者建立的安全隐蔽信道即使有第三者的监听,第三者也无法察觉载体图像是否隐藏有机密信息,达到接收者安全接收机密文件。

2.根据权利要求1所述的方法,其特征在于,所述方法步骤还包括:

步骤一:机密信息需要进行信号的转换。预先对机密信息转换成字节码序列,使用加密机制加密字节码序列从而获取加密后的字节码序列,最后转换字节码序列为二进制序列。

步骤二:图像的嵌密子图块选择。将载体图像C从左向右、从上到下分成3×3像素分块,具体参见图3。根据密信容量和像素块纹理复杂度准则确定阈值T。如果载体像素块B的纹理复杂度C(B)>=T,将该像素块存储在大小为2×n的单元矩阵M中,n表示待嵌像素块的个数,在单元矩阵M的每一列的第一个元素位置M{1,j}存储待嵌像素块,第二个元素位置M{2,j}存储待嵌像素块所在载体图像中的索引位置,以便载密像素块调节纹理复杂度阶段找到对应位置。

步骤三:按照M{1,j},j=1,2,3,…n的顺序以每4个待嵌像素块为周期,每个待嵌像素块根据密钥key1选择具体嵌入模板进行隐写,具体嵌入模板参见图4。具体操作为:假设key1=4231,第一个待嵌像素块M{1,1}选择嵌入模板四,第二个待嵌像素块M{1,2}选取嵌入模板二,依次第四个待嵌像素块M{1,4}选取嵌入模板一,接下来的四个待嵌像素块重复密钥key1的嵌入模板选取操作。

步骤四:按照步骤三选好的嵌入模板,以密钥key2选取嵌入模板中的相邻像素对实现隐写,像素块嵌入模板中数字标号对应像素的选择和密钥key2存在对应关系,密钥key2不同选取不同标号像素对的顺序也不同。具体操作为:假设密钥key2=3241,根据key2选取嵌入模板中标号为3的相邻像素对作为待嵌相邻像素对,同理依次选取数字标号为2、4和1的3个相邻像素对作为待嵌相邻像素对,以相邻像素对作为嵌入单元,利用钻石编码算法来实现隐写。一个3×3像素块组成4对相邻像素对实现log2(2k2+2k+1)2比特二进制密信的隐写,其中k是钻石编码的参数,用来控制嵌入的机密信息进制数。

3.根据权利要求1所述的方法,其特征在于,所述方法步骤还包括:

步骤一:图像的载密像素块的选择。接收方接受阈值T,如果载密像素块B的纹理复杂度C(B)>=T,将载密像素块B记为密信提取块,存储在大小为2×n的单元矩阵M中,n表示密信提取块的个数。

步骤二:二进制序列的提取。接收方接收到密钥,使用私有密钥解密key1和key2,根据解密的密钥key1和key2将对应的相邻载密像素对(p',q')作用于编码特征值函数f(p',q')来实现二进制序列机密信息的提取;

步骤三:编码转换提取机密文件。二进制序列转换成字节码,使用加密时的加密机制对字节码进行解密操作获取解密字节码,还原机密文件。

4.根据权利要求2所述方法,其特征在于,所述方法还包括:

优先选择图像纹理区进行隐写,提取密信也在对应相同的纹理区进行,但是由于嵌密过程中载体像素值的部分修改,载密像素块的纹理复杂度有可能小于阈值而不满足密信提取条件,这种纹理复杂度小于阈值的载密像素块为载密异常块,因此根据嵌入模板对载密异常块增大纹理复杂度,以达到大于阈值满足密信提取条件,包括以下步骤:步骤一:在嵌密像素块存储单元矩阵M中,根据异常块在单元矩阵M中的索引位置P(P=M{2,j},j∈[1,n])进行如式(1)的运算得到P1,根据P1值在图4中选择嵌入模板P1。

P1=Pmod4   (式1)

步骤二:根据具体的嵌入模板P1,对调整区域的备用像素(没有箭头所指像素)进行+2m操作,其中m=1,2,3,…,11k,如果备用像素达到饱和并且不满足密信提取条件,执行步骤三。

步骤三:步骤二的纹理复杂度调整不满足密信提取条件时,需要嵌密区(箭头所在区)中的像素参与增大纹理复杂度,设模板中心像素为x'0,具体过程如下:情况1如果x'0∈[L,255-L]时,搜索像素值在[L,255-L]范围内比x'0像素值小的像素xmin和大的像素xmax,然后执行xmax=xmax+L,如果载密异常块B的纹理复杂度C(B)>=T,则不需要进一步调整,反之执行xmin=xmin-L操作。

情况2如果x'0∈[0,L-1]时,搜索像素值在[L,255-L]范围内的任意两像素x1和x2,然后执行x1=x1+L,如果载密异常块B的纹理复杂度C(B)>=T,则不需要进一步调整,反之执行x2=x2+L操作。

情况3如果x'0∈[254-L,255]时,搜索像素值在[L,255-L]范围内的任意两像素x1和x2,然后执行x1=x1-L操作,如果载密异常块B的纹理复杂度C(B)>=T,则不需要进一步调整,反之执行x2=x2-L操作。

5.根据权利要求2所述的方法,其特征在于,所述方法还包括:

设计了4种嵌入模板,具体模板参见图4,在每个模板当中选取水平、垂直、对角、反对角方向的各一个相邻像素对用双箭头线表示,并且用1到4之间的数字进行双箭头所在区域的相同标号,将有数字标号的区域为嵌密区域,而没有数字标号区域的像素不参与嵌密过程,只是作为纹理复杂度调整的备用像素。设置由1到4的随机数字组成的嵌入密钥,分别是嵌入模板选择密钥key1和像素对选择密钥key2用来控制密信的嵌入操作。相比以往隐写方法按照Zig-Zag曲线、Hilbert曲线、行或者列等有规律的顺序满嵌入扫描像素或像素对的隐写操作安全性更高,可以更好的防止载密图像的机密信息被提取还原。

6.根据权利要求5所述的方法,为了提高安全性,使攻击者无加密参数情况下无法破解密钥,对两种嵌入密钥进行两层加密处理,其特征在于,所述方法包括以下步骤:步骤一:对嵌入密钥key1和嵌入密钥key2的每个字节分别转化成8位二进制数,然后提取每个字节低4位的比特流K1,将逻辑2转化成8位的二进制数并且提取低4位的比特流K2,将比特流K1和比特流K2进行异或操作得到4位的比特流K3。

步骤二:比特流K3按照密钥模型的洗牌操作得到K4,本发明设定密钥key=4321,将比特流K3的第4位和第1位交换,第3位和第2位交换得到4比特流K4。

步骤三:将K4的高4位用0补充,得到8位的二进制数K5,将二进制的K5转化为十进制的K6就是密钥一个字节的两层加密的密钥,类似的对剩余的每个字节进行相同的加密操作得到加密的嵌入密钥。