一种基于汉字结构特征的无载体文本隐写方法与流程

文档序号:15221270发布日期:2018-08-21 17:30阅读:1119来源:国知局

本发明涉及信息隐藏技术领域中的隐写术,特别是涉及一种无载体文本隐写方法。主要用于秘密信息的传递。



背景技术:

隐写术与密码学都是应用于秘密信息的传递,但与密码学的不同在于其特征在于隐藏秘密信息的存在,即将秘密信息隐藏于图像、声音和文本等载体。目前已有多种文本隐写方法,如:基于文本格式变换、基于同义词替换、基于文本生成、基于文本大数据搜索等文本隐写方法。这些隐写方法都存在一定的缺陷,如:基于格式变换的文本隐写方法主要主要通过文本中的字体大小、字间距、行间距、颜色等格式属性的微小改变来隐藏秘密信息,因而载密文本格式的修改将直接导致秘密信息的破坏,即鲁棒性较差;基于同义词替换的文本隐写可能导致某些同义词被替换后与原文的上下文语境不匹配,极易引起攻击者的怀疑;基于文本生成的文本隐写方法目前受限于自然语言处理技术,在生成较长文本时容易出现可读性差、语义异常等问题;基于文本大数据搜索的文本隐写方法存在隐藏容量相对较低、查找难度高或者嵌入成功率低等不足。综上所述,目前的文本隐写方法存在鲁棒性差,隐藏容量低等问题。



技术实现要素:

为了克服上述方法中的不足,本发明提供一种基于汉字结构特征的新型无载体文本隐写方法。利用网络大数据环境下丰富的网络文本资源作为候选载体,通过汉字结构特征表示秘密信息,选择合适的网络文本实现秘密信息的传送。该方法有效解决了现有文本隐写方法载体鲁棒性差的问题,并且具有隐蔽性高、隐藏容量较高的优势。

本发明解决技术问题所采用的技术方案是:提供一种基于汉字结构特征的文本无载体文本隐写方法,收发双方构建共同的汉字结构编码矩阵、质数数列、共享线性同余方程组的解而实现隐写。包括将秘密消息嵌入文本过程和从文本中提取过程,其中,将秘密消息嵌入文本过程包括以下步骤:

(1)根据汉字使用频率,将汉字结构划分为2p种,使每种结构类型具有相同的使用频率,则可定义每种结构对应唯一的一个p位的二进制片段,这里p为不小于1的自然数。

(2)在发送前,收发双方可约定任意方式将秘密信息转换成二进制串ssecret,记ssecret的长度为lsecret;把lsecret的二进制值以固定长度lheader位放在ssecret前,连接形成完整的二进制串smsg,则smsg的长度lmsg=lheader+lsecret。然后将smsg按每p位进行分组,若最后分组不足p位,则补0至p位,最后得到二进制片段序列<seg1,seg2,…segpnum>,元素个数为

(3)选择包含上述2p种汉字结构的文本作为载体,并基于所选文本构造汉字结构矩阵,然后将汉字结构矩阵中的元素替换为其汉字结构所对应的p位二进制片段,形成汉字结构编码矩阵。

(4)依据2p种汉字结构在汉字结构编码矩阵中首次出现的位置计算出两个质数序列(m1,m2,...,mpnum)和(n1,n2,...,npnum)。

(5)找出seg1,seg2,…segpnum片段在汉字结构编码矩阵中的对应行号a1,a2,...,apnum和列号b1,b2,...,bpnum,分别取ai与质数序列中的元素mi、bi与质数序列中的元素ni(这里1≤i≤pnum)构造一元线性同余方程,形成一元线性同余方程组s1、s2,并利用中国剩余定理求解方程组,得到两个解。

(6)将求得的两个解作为密钥、载体文本分别发送给接收者。

从文本中提取过程包括以下步骤:

(1)将文本载体按与嵌入过程相同的方法转换为汉字结构编码矩阵。

(2)根据固定长度lheader,以嵌入过程相同的方法计算出部分质数序列(m1,m2,...,mh)、(n1,n2,...,nh),这里进而提取出秘密消息的长度值。

(3)按与嵌入过程相同的方法计算出与发送端相同的质数序列(m1,m2,...,mpnum)和(n1,n2,...,npnum)。

(4)质数序列(m1,m2,...,mpnum)中的各元素关于x1的余数和(n1,n2,...,npnum)中的各元素关于x2的余数分别就是二进制串在汉字结构编码矩阵中的位置信息(a1,a2,...,apnum)、(b1,b2,...,bpnum)。

(5)根据位置信息求得二进制串,去掉前面表示长度的lheader位后进行译码得到原始秘密信息。

本发明的有益效果具体如下:

1)整个隐写过程未对文本进行修改和替换,因而不存在文本格式或语义失真问题。

2)文本中的每个汉字都可以隐藏p(bit)的秘密信息,虽然并不是文本中每个汉字都会被嵌入秘密信息,但是用来构造汉字结构矩阵的汉字可以被重复使用无数次,因此在计算机的计算能力范围内,隐藏容量可达p*pnum比特。

附图说明

图1是本发明隐藏和提取过程的总体流程图;

图2是本发明汉字结构编码矩阵图的实施例。

具体实施方式

参见图1和图2,本发明一种基于汉字结构特征的无载体文本隐写方法的实现过程如下:

一、将秘密消息嵌入文本的过程:

(1)将汉字结构根据使用频率分为8种:“独体奇数”、“独体偶数”、“左右1:1”、“左右奇数”、“左右偶数”、“上下奇数”、“上下偶数”、“其他”,这里p=3,即每种结构代表3位二进制串,可分别是“000”、“001”、“010”、“011”、“100”、“101”、“110”、“111”。

(2)将要发送的秘密信息按照收发双方约定的方式转换成二进制形式,如:秘密消息中的汉字用机内码表示,其它字符用ascii码表示;或者使用unicode编码或utf-8等其它编码;或者使用加密处理等其它方式。将二进制串的长度加在二进制串的前面,占lheader位长度,组成完整二进制串,然后再按3位一段进行分段,若最后一段不足3位,补0凑足。

(3)选择包含前述8种汉字结构的文本,并利用文本中包含8种结构的最少的前面部分文本段来构造最小汉字结构方阵,并用8种汉字结构对应的二进制片段替换所得的汉字结构方阵中的元素将它转换为汉字结构编码方阵。

(4)分别找到8种汉字结构对应的二进制片段在前面所构造的汉字结构编码矩阵中首次出现的位置,得到它们中的最大行号fr_max和最大列号fc_max、最小行号fr_min和最小列号fc_min;然后计算k1和k2:k1=fr_max-fr_min、k2=fc_max-fc_min;接下来计算质数序列:在质数集合中分别找出不小于fr_max、fc_max的第一个质数作为m1和n1,进而分别找到两个两两互质的数来构建序列(m1,m2,...,mpnum)和(n1,n2,...,npnum),这里要求mi-mi-1>=k1,ni-ni-1>=k2,其中mi、ni表示质数序列中的元素。

(5)找出smsg的各片段seg1,seg2,…segpnum在汉字结构编码矩阵的行号a1,a2,...,apnum,将它们分别与质数序列(m1,m2,...,mpnum)中的对应元素构造一元线性同余方程,形成方程组s1,利用中国剩余定理求其解,记为x1。同理,利用smsg的各片段seg1,seg2,…segpnum在汉字结构编码矩阵的列号b1,b2,...,bpnum分别与质数序列(n1,n2,...,npnum)中的对应元素构造的一元线性方程并形成一元线性同余方程组s2,利用中国剩余定理求其解,记为x2。

(6)将x1、x2作为密钥、载体文本分别发送给接收者。

二、从文本中提取过程:

(1)将接收到的文本按与嵌入过程相同的方法转换为汉字结构编码矩阵。

(2)按与嵌入过程相同的方法分别计算出具有h个元素的质数序列(m1,m2,...,mh)、(n1,n2,...,nh),这里按照与下面步骤(4)相同的方法计算出秘密消息的长度值所占据的位置,取得这些二进制片段连接后得到秘密消息的长度值。

(3)根据秘密消息的长度,按照与嵌入过程相同的方法计算出与发送方一致的两个质数序列(m1,m2,...,mpnum)、(n1,n2,...,npnum)。

(4)质数序列(m1、m2....mpnum)中各元素关于x1的余数即为二进制串在汉字结构编码矩阵中的位置的行号(a1,a2,...,apnum);同理,利用(n1、n2....npnum)中各元素和x2可求得二进制串在汉字结构编码矩阵中的位置的列号(b1,b2,...,bpnum)。

(5)根据行号和列号可对应汉字结构编码矩阵找到二进制串的各个编码段,组成完整的二进制串,去掉前面表示长度的lheader比特后进行译码得到原始秘密信息。

本发明的工作原理说明如下:

本发明利用汉字结构特征表示二进制位“0”和“1”组成的二进制片段,即形成汉字结构特征编码,实现了秘密信息由汉字结构特征表示;秘密信息经过编码、加密等操作转换为二进制形式后,将二进制串以汉字结构特征编码长度进行分段;从网络或共享语料库中找到包含所有汉字结构类型的文本,从文本起始处选取文本中包含所有汉字结构类型的前面尽少量汉字构建最小汉字结构矩阵,根据汉字结构特征编码将最小汉字结构矩阵转换为汉字结构编码矩阵,分别在编码矩阵中找到各汉字结构类型最开始的位置和秘密信息二进制各片段的位置信息;根据各汉字结构类型的位置信息构建两个质数序列,将秘密消息二进制各片段所在位置的行号和列号分别与对应的质数序列构建同余线性方程形成方程组,并应用中国剩余定理进行计算得到两个密钥,将两个密钥和载体文本分别发送给接收者。接收者根据与嵌入过程相同的方法构造汉字结构编码矩阵和两个足够计算秘密消息长度的质数序列,然后根据密钥计算出秘密消息的长度,进而再应用同样方法得到秘密消息二进制串的位置信息,将整个秘密消息二进制串提取出来并进行译码得到秘密信息。

显然,本领域技术人员基于本发明的宗旨所做的许多修改和变化属于本发明的保护范围。

如上所述,对本发明的实施例进行了详细地说明,但是只要实质上没有脱离本发明的发明点及效果可以有很多的变形,这对本领域的技术人员来说是显而易见的,如构建的不是汉字编码矩阵,而是向量或张量,同样属于本方法的具体实现。因此,这样的变形例也全部包含在本发明的保护范围之内。

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