一种基于完备分组基的无载体信息隐藏方法与流程

文档序号:19664589发布日期:2020-01-10 21:27阅读:240来源:国知局
一种基于完备分组基的无载体信息隐藏方法与流程

本发明研究的是无载体信息隐藏算法这一领域,提出了一种基于完备分组基的无载体信息隐藏算法。由于图像受到自然环境的限制造成了特征序列种类的不完整,因此秘密信息有可能无法被图像特征序列所表示。因此,本算法提出分组基的概念,并借助矩阵完备化理论,使其能有效解决图像特征序列种类缺失问题。



背景技术:

在传统无载体信息隐藏方法中,只利用图像特征序列与含密图像之间简单的映射关系存在致命的缺陷,那就是随着输入二进制特征序列长度的增加,寻找与之匹配的图像特征的难度也随之增加。为了解决此类问题,本文提出了基于完备分组基的无载体信息隐藏技术,图像特征提取方法是利用含阈值限定的像素均值法。利用具有矩阵完备性的分组基保证了映射关系的完整性,而像素均值法保证了图像特征的鲁棒性。此外,图像特征序列的生成完全取决于图像所包含的特征或图像语义,而图像内容又受到自然环境规律所影响,无法满足所有种类的特征序列。若图像与特征序列的映射关系不具有完备性,则特征序列无法有效地与秘密信息串进行匹配。

在无载体信息隐藏方面,该类方法跳过了一般隐写方法中伪装含密载体的过程,直接发送选定的含密载体。这样的益处是不需要花费额外操作生成被伪装的载体图像,并且能够完全抵御现有的隐写分析方法。然而,目前的无载体信息隐藏方法仍处于快速发展阶段,具有一定的研究与应用价值。zhou等人中提出了无载体图像信息隐藏的新型算法。不需要使用载体图像来嵌入秘密数据。首先,将图像转换为灰度图像,并将灰度图像分割为3×3相互不重叠的图像子块。然后,以z字形顺序比较分割好的图像子块之间的灰度值。最后,根据比较关系生成二进制且长度为8的哈希队列,并构建图像数据库便于搜索查询。数据库中图像是以生成的哈希序列为键值进行存储,键值为0至255。在发送时,根据秘密信息从构建好的图像数据库中选取一系列内容相似的并与其相互映射的原始图像作为含密图像进行传输;为了拥有更好的鲁棒性,zheng等人在论文中同样对无载体信息隐藏技术提出了自己的新方法,利用sift特征点的方向信息来表示一幅图像。首先,提取图像sift特征点方向信息,并根据提取出的特征构造一个有效而稳定的二值哈希序列,每个图像可以用18位序列所表示。随后,根据二值哈希队列建立多级索引数据库,以此减少从数据库查找图像时所花费的时间。在发送秘密信息时同样只需要选取与秘密信息相匹配的图像作为含密图像发送给接收端即可;zhou等人介绍了一种基于bow(词袋,bagofwords)模型的无载体信息隐藏方法,此方法可以映射中文词汇并且构建了新型的图像索引方法。该方法利用bow模型提取图像内容中的视觉关键词以表达需被隐藏的文本信息,从而实现在图像中的隐藏文本秘密信息。但是,该方法仍需要传输额外的必要参数,且收集合适的图像与秘密信息进行匹配也是此方法目前需要解决的问题;yuan等人提出了一种基于sift特征与bof(特征袋,bagoffeature)模型的无载体信息隐藏方法。首先,根据该方法中制定的特征协议构造图像特征的哈希序列。然后,将秘密消息转换为比特流。最后,将被选取的含密图像通过反向索引的方式发送给接收端。



技术实现要素:

通过结合已提出的无载体信息隐藏算法的优缺点,提出了一种基于完备分组基的无载体信息隐藏方法,该方法结合前人方法的优势,并且针对其不足提出有效的改进和完善。

首先,本发明含阈值的像素均值特征提取方法在传统均值法增加了阈值限定,这样不但能够保证所被提取出的二进制图像特征序列分组的多样性,也能有效地保证图像特征的鲁棒性;其次,本发明完备分组基方法的提出主要是为了保证不同的秘密信息一定能够匹配到相应的含密图像。传输的含密图像是由分组基与秘密信息结合运算所产生的结果,即使攻击者获取到含密图像后完全不可能有效地获取秘密信息,极大程度上保证了秘密信息在传输中的安全性;然后,本发明在秘密信息提取时,无需对已受攻击的含密图像进行特征提取,含密图像只需要与基图像进行图像匹配。本发明避免了从受到攻击后的含密图像中提取错误的图像特征,有效降低了由错误的特征序列导致秘密信息提取失败的几率;最后,在算法最开始只需建立简易的分类图像数据库。在发送秘密信息时,直接从同一类图像中选取满足算法条件的含密图像即可。

本发明中提出了完备分组基矩阵与分组基完备化方法。分组基是一个由一组长度为m的图像特征序列所组成的m阶满秩方阵,同时需保证其行变换后的行最简形矩阵为单位阵,且自身是一个极大无关组。由此可知,在一组分组基中每一个符合条件的特征序列都不是“多余”的,所以称这样的一组分组基具有完备性。

矩阵完备化的主要目的是为了使得完备化后的矩阵能达到一种所期望的形式,对不完整的矩阵中缺少的未知元素通过某种算法进行选取与填充。本方法利用矩阵完备化的思想,对由伪随机序列所生成的未调整的初始分组基进行完备化操作。然而,分组基是由无法修改且固定的特征序列所构成,所以在完备化时按伪随机序列的顺序选取下一个未被使用的特征序列代替原分组基中不满足完备分组基性质的特征序列。判断一个分组基是否满足完备分组基的充分必要条件如下:如果某一分组基矩阵通过初等行运算后所得的矩阵为单位阵,则称由该多个图像特征序列所组成的分组基为完备分组基。

本发明具体采用的技术方案如下:

一种基于完备分组基的无载体信息隐藏方法,由含密图像生成方法与秘密信息提取方法组成;

所述含密图像生成方法步骤如s1~s3:

s1:利用图像特征提取方法对图像库中所有图像提取特征序列,并组成特征序列数据库;其中所述图像特征提取方法按照s11~s14进行:

s11:从图像库中选择一张图像进行尺寸标准化,且分割为指定数量的图像子块,最终以行扫描排列规则得到图像子块集合;

s12:对于每一个图像子块,先对其进行灰度化,再计算子块的像素均值集合;

s13:设定阈值,根据比较图像中相邻图像子块的像素均值高低得到该图像的特征序列;

s14:对图像库中的其余图像逐张重复步骤s11~s13,将所有图像转换为对应的二进制特征序列,最后得到图像的二进制特征序列数据库;

s2:组成初始分组基矩阵,通过分组基完备化方法获得完备的分组基;所述分组基完备化方法按照s21~s23进行:

s21:根据发送方与接收方提前约定的伪随机序列,从图像特征数据库中选取特征序列组成初始分组基矩阵,并记录每一个序列的编号;

s22:对初始分组基矩阵进行含特定规则的初等行变换得到其行最简形矩阵;

s23:对不满足完备分组基条件的分组基矩阵进行分组基完备化,将初始分组基矩阵中所有特征序列重新排序,最终获得已完备化的分组基矩阵与基图像特征序列的位置编号;

s3:利用含密图像选取方法选取合适的基图像,并发送给接收方;所述含密图像选取方法按照s31~s35进行:

s31:将二进制秘密信息串分割成若干等长度的子串,到秘密信息子串集合;

s32:将已完备化的分组基矩阵与一个秘密信息子串作为一个多维的线性方程组,并由两者组成增广矩阵;

s33:对增广矩阵进行初等行变换得到行最简形矩阵,求得其唯一解,将这个唯一解作为当前子串对应的选基序列;

s34:以一定长度将选基序列分割为特定长度的二进制数,并分别将其转换为十进制数序号,最终得到的选基组;

s35:根据得到的选基组,将已完备化的分组基矩阵中位置编号与选基组中十进制数序号相同的基图像作为含密图像,并依次向接收方传输;

s36:对于进制秘密信息串的每个子串,依次重复步骤s32~s35,对全部秘密信息进行发送;

所述秘密信息提取方法步骤如s4~s7:

s4:根据发送方与接收方约定的伪随机序列构造与发送方完全相同的完备化分组基矩阵;

s5:利用图像的尺度不变特征转换(sift)特征点的数量选出正确的基图像位置编号,并转化为二进制数;不断重复得到一组长度与分组基矩阵中基图像数量相等的选基序列;

s6:将分组基矩阵与选基序列相乘得到原秘密信息子串;

s7:不断重复步骤s4~s6,依次得到所有秘密信息子串,最后将子串顺次串联合并,得到目标二进制秘密信息串。

本发明的有益效果:

传统无载体隐藏方法是将秘密信息和被构造的图像特征序列相互映射从而隐藏信息。通过分析,仅仅将两者间直接相互映射将产生对于某一类秘密信息,或期望提高嵌入容量而构建较长的图像特征序列时,将难以搜索到合适的图像与之映射的问题。针对该问题,本发明提出完备分组基和分组基完备化方法,解决图像特征序列种类缺失的问题,同时能确保在加解密方面均可取得较好的性能。该方法对大多数图像攻击具备一定的鲁棒性,极大程度上确保了秘密信息在传输中的安全性。

附图说明

图1为本发明的基于完备分组基的无载体信息隐藏方法流程图。

图2为求得矩阵中第一行的行最简形示意图。

图3为完备化分组基图像组。

图4为所选择的含密图像组(需补“0”)。

图5为所选择的含密图像组(无需补“0”)。

图6为完备化分组基图像组。

图7为所选择的含密图像组。

具体实施方式

下面结合附图,对本发明的具体实施方案作进一步详细描述。

本发明的基于完备分组基的无载体信息隐藏方法主要由含密图像生成方法与秘密信息提取方法两部分组成。含密图像生成方法依次由图像特征提取方法、分组基完备化方法和含密图像选取方法所构成,用于将秘密信息嵌入图像中;而秘密信息提取方法用于重新对含密图像中的秘密信息进行解密。其发明构思是:首先,由发送方设定图像特征序列长度参数,并根据该参数利用含阈值的均值像素法对图像数据库中的图像进行图像特征提取,构建鲁棒且为二进制形式的图像特征序列;随后,根据发送方与接收方同时所拥有且相同的伪随机序列顺序,选择图像特征序列并组成初始分组基矩阵。基于完备分组基的判断条件对初始分组基矩阵进行分组基矩阵完备化;然后,将已完备化的分组基与秘密信息联合运算后生成选基序列。根据选基序列在分组基中选取对应位置的图像特征序列,将特征序列所映射的图像作为含密图像进行传输。在接收方处,根据伪随机序列重构完备化分组基,并将接收的含密图像分别与分组基中所映射图像利用图像局部特征进行匹配,并生成选基序列;最后,将所得选基序列与分组基进行共同运算还原秘密信息。

下面对该方法进行具体的详细描述,其步骤如图1所示:

发送方需要首先执行含密图像生成方法,具体步骤如s1~s3:

s1:利用按照s11~s14描述的图像特征提取方法,对图像库中所有图像提取特征序列,并组成特征序列数据库:

s11:从图像库中选择一张图像进行尺寸标准化,且分割为指定数量的图像子块,最终以行扫描排列规则得到图像子块集合。

s12:对于每一个图像子块,先对其进行灰度化,再计算子块的像素均值集合。

s13:设定阈值,根据比较图像中相邻图像子块的像素均值高低得到该图像的特征序列。

s14:对图像库中的其余图像逐张重复步骤s11~s13,将所有图像转换为对应的二进制特征序列,最后得到图像的二进制特征序列数据库。

s2:组成初始分组基矩阵,通过按照s21~s23描述的分组基完备化方法获得完备的分组基:

s21:根据发送方与接收方提前约定的伪随机序列,从图像特征数据库中选取特征序列组成初始分组基矩阵,并记录每一个序列的编号;

s22:对初始分组基矩阵进行含特定规则的初等行变换得到其行最简形矩阵;

s23:对不满足完备分组基条件的分组基矩阵进行分组基完备化,将初始分组基矩阵中所有特征序列重新排序,最终获得已完备化的分组基矩阵与基图像特征序列的位置编号;

s3:利用按照s31~s35描述的含密图像选取方法选取合适的基图像,并发送给接收方:

s31:将二进制秘密信息串分割成若干等长度的子串,到秘密信息子串集合;

s32:将已完备化的分组基矩阵与一个秘密信息子串作为一个多维的线性方程组,并由两者组成增广矩阵;

s33:对增广矩阵进行初等行变换得到行最简形矩阵,求得其唯一解,将这个唯一解作为当前子串对应的选基序列;

s34:以一定长度将选基序列分割为特定长度的二进制数,并分别将其转换为十进制数序号,最终得到的选基组;

s35:根据得到的选基组,将已完备化的分组基矩阵中位置编号与选基组中十进制数序号相同的基图像作为含密图像,并依次向接收方传输;

s36:对于进制秘密信息串的每个子串,依次重复步骤s32~s35,对全部秘密信息进行发送。

经过上述s1~s3步骤,发送方即可将待发送的秘密信息嵌入相应含密图像中,而接收方接收到这些含密图像后,既按照其嵌入规则对其中的秘密信息进行逆向提取。上述s1~s3总体上描述了含密图像生成的三个步骤,在本实施例中为了使本领域技术人员更容易理解,给出了一种优选的具体实现方式,下面具体对s1的图像特征提取方法、s2的分组基完备化方法和s3的含密图像选取方法在本实施例中的的具体实现进行阐述。

一、s1中的图像特征提取方法在本实施例中的具体过程如下:

s11:根据二进制特征序列长度m(等价于后续秘密信息分隔后的子串长度),m为2的倍数(最好为2的指数倍),从图像库中选择一张图像gi,并将其大小标准化为n×n,再分割成的图像子块;最终以行扫描排列规则得到图像子块集合bi:

bi∈{b1,b2,b3,…,bm},1≤i≤m

s12:对于每一个子块bi,先对其进行灰度化,再计算子块的像素均值集合bi:

式中:bi(x,y)表示子块bi的(x,y)位置像素值;

bi∈{b1,b2,b3,…,bm},1≤i≤m

s13:设定阈值g(具体取值根据实际调整),根据比较相邻子块bi的像素均值bi高低得到该图像的m位二进制特征序列fi,fi中的每一位比特fi由此得到。

其中最后一块子块bm根据下式得到最后一位比特fm:

经过s11~s13就把图像gi转换成了对应的二进制特征序列fi={f1,f2,f3,…,fm}。

s14:重复以上三步骤,即可将图像库中的每张图像转换为对应的二进制特征序列fi,最后得到用以构建完备分组基的图像特征序列集合f1,f2,f3,……,fm:

fi={f1,f2,f3,…,fm},1≤i≤m

其中m为图像库中的图像总数。

二、s2中的分组基完备化方法的具体过程如下:

s21:根据发送方与接收方提前约定的伪随机序列,从特征序列集合中选取m个属于同一类型图像且长度为m的二进制特征序列fi,每一个序列作为一个行向量组成初始分组基矩阵g,并记录每一个序列的对应的原图的编号fid。本实施例中,一个初始分组基矩阵g的示例如下:

每一行向量均代表了一个二进制特征序列,由于每个二进制特征序列分部对应于图像库中的一张图像,而每张图像均预先进行编号,具有唯一的fid。该fid后续将作为其定位的标识。

s22:对初始分组基矩阵g进行含特定规则的初等行变换得到其行最简形矩阵,所述含特定规则的初等行变换做法为:在初等行变换时,首先使i=1,从矩阵第i列开始从上至下找到某一行中第i个元素是1的特征序列,将其交换至第i行;然后对矩阵第i行进行初等行变换求得其行最简形,即使第i行与第i列中只有g(fi,i)为1,其余项为0。此时,将该行向量作为第i个基向量;随后,依次使i=2,3,…,m,以与i=1时同样的规则依次对之后的第2至m行进行变换,直至矩阵中每一行皆为最简形,最终得到行最简形矩阵g’,并记录变换后g’中每一个序列对应的原图的编号fid。在行变换过程中,当某一行进行位置移动时,其跟随的fid保持不变,因此上述示例中的初始分组基矩阵g的经过变换后得到的行最简形矩阵g’如下:

s23:完成初等行变换后,行最简形矩阵g’可能存在两种情况,因此需要先判断行最简形矩阵g’是否为单位阵:

1)若变换后的行最简形矩阵g’是单位阵,则将初始分组基矩阵g中所有特征序列根据g’中序列编号fid的顺序重新进行排序,使两个矩阵每一行序列对应的编号fid相同,即保持不变,得到已完备化的分组基矩阵gw以及基图像位置编号pid,pid是根据gw从上到下顺次从1开始编号的,前述的g’得到的完备分组基为:

2)若变换后的行最简形矩阵g’不是单位阵,则需要对初始分组基矩阵g进行完备化,具体做法为:首先找出g’中全为零的行向量所属的fid,随后根据fid对初始分组基矩阵g中对应的特征序列进行替换,用于替换的特征序列是按伪随机序列的顺序从s1中的结果中选取出的下一个未被使用的二进制特征序列fi;最后,重复s22对更新后的g重新进行初等行变换,直到满足分组基完备的条件。

在初等行变换中不可避免发生行向量位置相互交换或运算的情况,而不同的变换规则将生成不同的完备分组基,即发送方与接收方使用两个不同的分组基将直接导致秘密信息解密失败。所以,通过统一化规则的初等行变换后产生的gw才能保证发送前与解密后的秘密信息的一致性。

三、s3中的含密图像选取方法在本实施例中的具体过程如下:

s31:将长度为l的二进制秘密信息串s分割成份,最终得到秘密信息子串集合s1,s2,s3,……,sn:

si∈{s1,s2,s3,…,sn},1≤i≤n

若sn长度小于m,则通过补“0”填充。si表示为:

si=[si1,si2,si3,…,sim]

s32:将已完备化的分组基矩阵gw与第i个秘密信息子串si作为一个m×m的线性方程组,并由两者组成增广矩阵gw’:

s33:对增广矩阵gw’进行初等行变换得到行最简形矩阵,求得其唯一解,将该唯一解作为选基序列ci:

ci={si1',si2',si3',…,sim'},1≤i≤n

s34:以长度lc=log2m将ci={si1',si2',si3',…,sim'}分割为lc个lc位的二进制数并将每个二进制数sij”分别转换为十进制数dij,1≤j≤lc,最终得到的选基组ci':

s35:根据选基组ci',依次选取分组基gw中位置编号pid与相同的基图像作为一组含密图像,并依次按序向接收方传输,本次传输的该组含密图像中实际上隐含有秘密信息子串si的信息;

s36:对于二进制秘密信息串的每个子串si,依次重复步骤s32~s35,对全部秘密信息进行发送;若最后一个子串si(也就是sn)中存在补“0”的情况,则最后在基图像中选择一幅pid与补“0”个数相同的图像发送,后续在信息提取时也可以根据最后的这组图像重新剔除相应的“0”,进而还原出真实信息。

本实施例中,部分含密图像生成结果如图3~5所示。

由此,嵌入二进制秘密信息串的所有子串都已经被发送至接收方,接收方即可按照s4~s7的步骤对秘密信息进行提取,秘密信息的提取方法具体如下:

s4:根据发送方与接收方约定的伪随机序列构造与发送方完全相同的完备化分组基矩阵gw;

s5:利用图像的尺度不变特征转换(sift)特征点的数量选出正确的基图像位置编号,并转化为二进制数;不断重复转化,得到一组长度与分组基矩阵中基图像数量相等的选基序列。在本实施例中,具体的选基序列生成过程描述如下:

对于接收到的第一组含密图像的每一幅含密图像,依次计算其与gw中每一幅基图像中相同sift特征点的数量,然后记录相同点数量最多的基图像在gw中的位置编号pid并转化为二进制数,将该组含密图像的所有二进制数按序拼接组合,得到一组长度为m的选基序列ci:

ci={si1',si2',si3',…,sim'},1≤i≤n

s6:将分组基矩阵与选基序列相乘得到原秘密信息子串,也就是将gw与ci(转置)相乘得到原秘密信息子串si,计算公式为:

s7:对于接收到的每一组含密图像,不断重复步骤s4~s6,依次得到所有秘密信息子串,最后将子串顺次串联合并,得到目标二进制秘密信息串。由于最后一组子串si中可能存在补“0”的情况,因此需要根据最后一幅图像获取补“0”的个数,最后在合并的子串中减去等量的“0”,获得最终还原的秘密信息。

本实施例中,秘密信息提取结果如图6~7所示。根据提取结果可知,所传输的秘密信息为“1101100111011010”。

本发明提出的基于完备分组基的无载体信息隐藏算法,通过实验结果和分析表明,本发明能有效避免含密图像无法成功映射秘密信息的情况,同时确保在加解密方面均能取得较好的性能,且对大多数图像处理攻击具有一定的鲁棒性。

以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。

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