CN109711121A - 基于马尔可夫模型和哈夫曼编码的文本隐写方法及装置 - Google Patents

基于马尔可夫模型和哈夫曼编码的文本隐写方法及装置 Download PDF

Info

Publication number
CN109711121A
CN109711121A CN201811610142.4A CN201811610142A CN109711121A CN 109711121 A CN109711121 A CN 109711121A CN 201811610142 A CN201811610142 A CN 201811610142A CN 109711121 A CN109711121 A CN 109711121A
Authority
CN
China
Prior art keywords
text
word
steganography
module
huffman encoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811610142.4A
Other languages
English (en)
Other versions
CN109711121B (zh
Inventor
黄永峰
杨忠良
杨震
胡雨婷
袁志刚
武楚涵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201811610142.4A priority Critical patent/CN109711121B/zh
Publication of CN109711121A publication Critical patent/CN109711121A/zh
Application granted granted Critical
Publication of CN109711121B publication Critical patent/CN109711121B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Document Processing Apparatus (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种基于马尔可夫模型和哈夫曼编码的文本隐写方法及装置,方法包括:得到训练集,并构建相应的马尔可夫网络模型;按照词频排序生成词典D;构成预设列表;随机从预设列表中选择一个词作为训练好的Marcov网络模型的输入;迭代式计算各个时刻词的动态条件概率分布;选用排序靠前的N个词构成候选词词列表;构建哈夫曼树,并进行哈夫曼编码;根据需要嵌入的码流从哈夫曼树的根结点开始搜索,直到搜索到相应的叶子结点对应的词作为当前时刻的输出;重复执行直到生成完整的隐写文本;发送完整的隐写文本,以使接收方在接收隐写文本后,对隐写文本进行解码并获取机密消息。该方法可以有效提高生成隐写文本的质量,提升系统隐蔽性。

Description

基于马尔可夫模型和哈夫曼编码的文本隐写方法及装置
技术领域
本发明涉及文本生成技术领域,特别涉及一种基于马尔可夫模型和哈夫曼编码的文本隐写方法及装置。
背景技术
Shannon在关于信息安全的专著中总结了三个基本的信息安全系统,分别是隐私系统,加密系统和隐藏系统。隐私系统主要通过限制用户对信息的访问对数据进行安全保护。只有授权用户才能实现对重要信息的访问,而未经授权的用户用任何方式都无法访问信息。但是这种方式会暴露目标的存在性和重要性。目前,传统的信息安全主要是围绕加密技术及体系完成的。加密技术是一种值得信赖的内容安全手段,能非常有效的解决数据安全问题。但进入移动互联网、大数据时代,传统的加密技术使加密数据作为一场数据,容易成为数据分析挖掘的重点目标。隐藏系统帮助用户把各种格式的重要数据,隐藏在普通的多媒体文件中,用户通过本地存储或网络分享含有私密数据的普通多媒体文件来实现重要数据和个人隐私信息的存储或分享。保证了隐藏信息的隐蔽性和安全性。
隐写术和数字水印同为隐藏系统中的关键技术。隐写术是把一个有意义的心意隐藏在公开载体的信息中得到隐蔽载体,非法者不知道这个普通信息中是否隐藏了其他的信息,即使知道也难以提取或去除隐蔽的信息。数字水印是将特定的数字信息(如身份信息、序列号、文字或图像标志等)潜入到图像、音频或视频等各种数字产品中,多用于达到信息安全和版权保护的目的。隐写术较数字水印来说嵌入的信息量更大,且隐藏信息无规律可循,增加了攻击的难度。信息隐藏系统的结构框图如图1所示。
信息隐藏可以利用各种多媒体信息载体来隐藏信息,它利用多媒体信息中的数据冗余,将秘密信息嵌入到文本、图像等常见载体中来达到隐蔽通信的目的。文本作为一种广泛使用的信息载体,与同可作为载体的图像与音频相比,具有更高的可编码性,减少冗余信息的产生。基于上述原因,利用文本来进行信息隐藏具有巨大的研究价值和应用前景,并且吸引了大量研究人员的注意,出现了越来越多的机遇文本的信息隐藏方法。
目前,基于文本的信息隐藏技术主要分为两大类:一类是基于文本的结构特点;另一类是基于文本的语义信息。基于文本结构特点的信息隐藏技术主要是利用文本的结构特征来隐藏信息。比如:通过改变文档的行间距以及行内字符间的水平距离来隐藏信息;通过改变文本中字体大小、颜色等基本特征来隐藏信息。这些方法的缺点是鲁棒性不足,在信息传输的过程中一些微笑的扰动足以破坏隐藏的信息。基于文本语义的信息隐藏技术主要是通过对文本所表达的语义进行编码来潜入信息。比如:通过替换特定词的同义词来隐藏信息;基于文本翻译的方法来隐藏信息。现如今自然语言技术发展越来越趋于成熟,出现了基于文本生成技术的信息隐藏方法。但这些方法多是通过人为设定的语法规则来产生文本,在语义上缺乏流畅度。对于文本来说,这种载体可以对其进行修改和生成。通常情况下,图像和语音同样可以通过修改给定的载体来实现机密信息的嵌入,但由于图像和语音有较高的荣誉性,定量的修改不会造成很大的视觉效果或者听觉变化。针对文本而言,正是由于它具有较低的信息冗余量,限制了可修改空间的大小,难以实现高隐藏容量的要求。基于载体生成的文本隐写,根据需要传递的秘密信息自动生成载体,并在生成过程中嵌入了秘密信息。这种方式实现了高隐藏容量的目标,因此吸引了大量研究人员的目光。由于文本生成需要文本的可读性高,针对文本语义的流畅度问题,需要设计生成高质量文本的模型。这已成为该领域亟待解决的问题。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种基于马尔可夫模型和哈夫曼编码的文本隐写方法,该方法可以有效提高生成隐写文本的质量,提升系统隐蔽性。
本发明的另一个目的在于提出一种基于马尔可夫模型和哈夫曼编码的文本隐写装置。
为达到上述目的,本发明一方面实施例提出了一种基于马尔可夫模型和哈夫曼编码的文本隐写方法,包括以下步骤:步骤S1:根据预设文本媒体形式的数据集得到训练集;步骤S2:对自然文本进行建模,以利用trigram模型构建相应的马尔可夫网络模型;步骤S3:通过预设的训练文本统计词频,并按照词频排序生成词典D;步骤S4:统计训练样本中每个句子第一个词的词频分布,并选择词频最高的前预设个数词构成预设列表;步骤S5:每次生成一句隐写文本时,随机从所述预设列表中选择一个词作为训练好的Marcov网络模型的输入;步骤S6:利用Marcov的语言模型,迭代式计算各个时刻词的动态条件概率分布;步骤S7:在每个迭代步骤T,根据各个词的条件概率依降序排列,并选用排序靠前的N个词构成候选词词列表;步骤S8:确定候选池的大小后,根据所述候选池中各个词的条件概率构建哈夫曼树,并进行哈夫曼编码;步骤S9:根据需要嵌入的码流从所述哈夫曼树的根结点开始搜索,直到搜索到相应的叶子结点对应的词作为当前时刻的输出,以实现隐藏秘密比特流的能力;步骤S10:重复执行所述步骤S6至所述步骤S10,直到生成完整的隐写文本,以完成根据秘密信息自动生成文本载体的过程;步骤S11:发送所述完整的隐写文本,以使接收方在接收所述隐写文本后,对所述隐写文本进行解码并获取机密消息。
本发明实施例的基于马尔可夫模型和哈夫曼编码的文本隐写方法,根据需要隐藏的秘密比特流,利用候选池的收缩机制,自动生成高质量的隐写文本,并通过对大量样本构建模型,对统计语言模型进行了很好的估计,根据训练好的统计语言模型,能够自动生成高质量的文本,且在文本生成过程中,基于其条件概率分布合理地对每个单词进行编码,根据语言模型的概率值实现候选池自适应收缩,然后根据比特流控制文本生成,从而可以有效提高生成隐写文本的质量,提升系统隐蔽性。
另外,根据本发明上述实施例的基于马尔可夫模型和哈夫曼编码的文本隐写方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述预设文本媒体形式包括Twitter、电影评论和新闻。
进一步地,在本发明的一个实施例中,在对所述自然文本进行建模之前,还包括:对所述训练集中的数据源进行预处理。
进一步地,在本发明的一个实施例中,所述对所述训练集中的数据源进行预处理,包括:将所有英文单词转换为小写的英文单词;删除所述数据中的特殊符号,并过滤小于预设频率的低频词。
进一步地,在本发明的一个实施例中,所述预设个数为100。
为达到上述目的,本发明另一方面实施例提出了一种基于马尔可夫模型和哈夫曼编码的文本隐写装置,包括:获取模块,用于根据预设文本媒体形式的数据集得到训练集;建模模块,用于对自然文本进行建模,以利用trigram模型构建相应的马尔可夫网络模型;第一统计模块,用于通过预设的训练文本统计词频,并按照词频排序生成词典D;第二统计模块,用于统计训练样本中每个句子第一个词的词频分布,并选择词频最高的前预设个数词构成预设列表;选择模块,用于每次生成一句隐写文本时,随机从所述预设列表中选择一个词作为训练好的Marcov网络模型的输入;迭代模块,用于利用Marcov的语言模型,迭代式计算各个时刻词的动态条件概率分布;排列模块,用于在每个迭代步骤T,根据各个词的条件概率依降序排列,并选用排序靠前的N个词构成候选词词列表;确定模块,用于确定候选池的大小后,根据所述候选池中各个词的条件概率构建哈夫曼树,并进行哈夫曼编码;搜索模块,用于根据需要嵌入的码流从所述哈夫曼树的根结点开始搜索,直到搜索到相应的叶子结点对应的词作为当前时刻的输出,以实现隐藏秘密比特流的能力;重复模块,用于重复执行所述迭代模块、所述排列模块、所述确定模块、所述搜索模块和所述重复模块,直到生成完整的隐写文本,以完成根据秘密信息自动生成文本载体的过程;发送模块,用于发送所述完整的隐写文本,以使接收方在接收所述隐写文本后,对所述隐写文本进行解码并获取机密消息。
本发明实施例的基于马尔可夫模型和哈夫曼编码的文本隐写装置,根据需要隐藏的秘密比特流,利用候选池的收缩机制,自动生成高质量的隐写文本,并通过对大量样本构建模型,对统计语言模型进行了很好的估计,根据训练好的统计语言模型,能够自动生成高质量的文本,且在文本生成过程中,基于其条件概率分布合理地对每个单词进行编码,根据语言模型的概率值实现候选池自适应收缩,然后根据比特流控制文本生成,从而可以有效提高生成隐写文本的质量,提升系统隐蔽性。
另外,根据本发明上述实施例的基于马尔可夫模型和哈夫曼编码的文本隐写装置还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述预设文本媒体形式包括Twitter、电影评论和新闻。
进一步地,在本发明的一个实施例中,还包括:预处理模块,用于在对所述自然文本进行建模之前,对所述训练集中的数据源进行预处理。
进一步地,在本发明的一个实施例中,所述预处理模块进一步用于将所有英文单词转换为小写的英文单词,并删除所述数据中的特殊符号,并过滤小于预设频率的低频词。
进一步地,在本发明的一个实施例中,所述预设个数为100。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为相关技术的信息隐藏系统结构框图;
图2为相关技术的马尔可夫模型的示意图;
图3为根据本发明一个实施例的基于马尔可夫模型和哈夫曼编码的文本隐写方法的流程图;
图4为根据本发明一个实施例的哈夫曼编码的示意图;
图5为根据本发明一个实施例的基于马尔可夫模型和哈夫曼编码的文本隐写装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
在介绍基于马尔可夫模型和哈夫曼编码的文本隐写方法及装置之前,先简单介绍一下利用马尔可夫模型和哈夫曼编码进行隐写文本自动生成的优势。
机器学习(mechine leaming)是人工智能的一个分支,是一类算法的总称。这类算法试图从大量历史数据中挖掘出其中隐含的规律,并且将其用于预测或者分类。机器学习可以看作寻找一个函数,输入是样本结果,输出是期望的结果。值得一提的是,机器学习的目标是使学到的函数很好的使用与“新样本”,而不只是在训练样本上表现很好。机器学习的应用十分广发,在数据挖掘、计算机视觉、自然语言处理、生物特征识别等上都有应用。
在统计自然语言处理领域,通常使用统计语言模型来建模句子。语言模型使用单词序列的概率分布,可以用下面的公式描述:
p(S)=p(w1,w2,w3,...,wn)=p(w1)p(w2|w1)...p(wn|w1,w2,...,wn-1)
其中,S表示长度为n的整个句子,wi表示其中的第i个单词。p(S)将概率分配给整个序列。它实际上由n个条件概率的成绩组成,每个条件概率计算第n个单词的概率分布时,应当给出前n-1个单词的概率分布。因此,为了自动生成高质量的文本,我们需要获得训练样本集的统计语言模型的良好估计。
在概率论中,马尔可夫链是描述可能事件序列的随机模型。其中每个事件的概率仅取决于在当前事件中获得的状态。如图2所示。t+1时刻系统状态的概率分布只与t时刻的状态有关,与t时刻以前的状态无关;从t时刻到t+1时刻的状态转转移与t的值无关。对于统计学来说,一个马尔可夫链模型可表示为(X,P,Q)。其中,X是系统所有可能的状态所组成的非空的状态集,有时也称之为系统的状态空间。它可以是有限的、可列的集合或任意非空集。用小写字母(xi,xj)等来表示状态;P=[Pij]n×n是系统的状态转移概率矩阵,Pij表示系统在t时刻处于状态i,在下一时刻t+1时处于状态i的概率,N是系统所有可能的状态的个数。对于任意i∈S,有Q=[q1,q2,...,qn]是系统的初始概率分布,qi是系统在初始时刻处于状态i的概率,满足
马尔可夫模型适用于建模时间序列信号。一般来说,在实际情况下,信号的影响在后续信号上的序列信号中的每个时刻都是有限的,即存在影响域。并且超出影响域,将不会继续影响后续时间信号。因此,我们假设对于时间序列信号,每个时间信号的值仅受前几个有限时刻的影响。如果每个时刻的信号值仅受前m时刻的影响,将其称为m阶马尔可夫模型,可用下述公式描述。其中,χ为一个空间,第t个状态的值是xt,Q是一个从χ中取样的随机变量序列。
P=(Qt=xt|Qt-1=xt-1,Qt-2=xt-2,...,Q1=x1)
=P(Qt=xt|Qt-1=xt-1,Qt-2=xt-2,...,Qt-m=xt-m),
s.t.n>t>m
马尔可夫模型广泛应用在语音识别,音字转换以及语言生成等自然语言处理领域,通常用来作为建模的手段。它只需要人为设定步长,即与几个状态相关便可从大量数据中自我学习,根据词语之间的相互关系,重构出高质量的自然文本载体。在现有的基于马尔可夫的隐写文本自动生成方法中,忽略了词语之间的关系强弱,随机从候选词中选出词语进行文本生成。并且事先设定各个词的嵌入容量,使得生成的隐写文本中每个词的嵌入比特数都相同,忽视了文本中各个词的敏感度。本发明通过马尔可夫模型与哈夫曼编码的结合使用,充分考虑隐写文本自动生成过程中各个词敏感度的不同,在文本生成过程中调整每个词的嵌入容量,因此相比之前的方法能进一步优化生成隐写文本的质量,提高隐藏容量。
由以上可以知道,利用马尔可夫模型和哈夫曼编码进行文本生成式隐写具有现有方法所不可比拟的优势,能有效克服现有方法中存在的问题,各方面性能都优于现有方法。
正是基于上述原因,本发明实施例提出了一种基于马尔可夫模型和哈夫曼编码的文本隐写方法及装置。
下面参照附图描述根据本发明实施例提出的基于马尔可夫模型和哈夫曼编码的文本隐写方法及装置,首先将参照附图描述根据本发明实施例提出的基于马尔可夫模型和哈夫曼编码的文本隐写方法。
图3是本发明一个实施例的基于马尔可夫模型和哈夫曼编码的文本隐写方法的流程图。
如图3所示,该基于马尔可夫模型和哈夫曼编码的文本隐写方法包括以下步骤:
步骤S1:根据预设文本媒体形式的数据集得到训练集。
其中,在本发明的一个实施例中,预设文本媒体形式包括Twitter、电影评论和新闻。
可以理解的是,本发明实施例可以选择三个最常见的文本数据集作为训练集,这三个数据集均为最常见的文本媒体形式,即Twitter、电影评论和新闻,当然,本领域技术人员还可以根据实际情况选择其他形式的数据集作为训练集,上述仅作为示例,不做具体限定。
步骤S2:对自然文本进行建模,以利用trigram模型构建相应的马尔可夫网络模型。
进一步地,在本发明的一个实施例中,在对自然文本进行建模之前,还包括:对训练集中的数据源进行预处理。具体地,将所有英文单词转换为小写的英文单词;删除数据中的特殊符号,并过滤小于预设频率的低频词。
其中,本领域技术人员可以根据实际情况设置预设频率,从而过滤掉不满足条件的低频词,在此不做具体限定。
步骤S3:通过预设的训练文本统计词频,并按照词频排序生成词典D。
可以理解的是,预设的训练文本可以为大量的训练文本,或者其他形式的训练文本,在此不做具体限定,例如,以大量的训练文本为例,本发明实施例可以通过大量的训练文本统计词频,并按照词频排序为一个词典D。
步骤S4:统计训练样本中每个句子第一个词的词频分布,并选择词频最高的前预设个数词构成预设列表。
其中,在本发明的一个实施例中,预设个数可以为100,当然,预设个数也可为其他的数量,本领域技术人员可以根据实际的使用需求合理的选取预设个数的具体数量,上述实施例以100为例,不做具体限定,例如,统计训练样本中每个句子第一个词的词频分布,并选择词频最高的前100个词构成start_word_list。
步骤S5:每次生成一句隐写文本时,随机从预设列表中选择一个词作为训练好的Marcov网络模型的输入。
例如,预设列表以start_word_list为例,本发明实施例每次生成一句隐写文本时,随机从start_word_list中选择一个词作为训练好的Marcov网络模型的输入。
步骤S6:利用Marcov的语言模型,迭代式计算各个时刻词的动态条件概率分布。
步骤S7:在每个迭代步骤T,根据各个词的条件概率依降序排列,并选用排序靠前的N个词构成候选词词列表。
步骤S8:确定候选池的大小后,根据候选池中各个词的条件概率构建哈夫曼树,并进行哈夫曼编码。
步骤S9:根据需要嵌入的码流从哈夫曼树的根结点开始搜索,直到搜索到相应的叶子结点对应的词作为当前时刻的输出,以实现隐藏秘密比特流的能力。
步骤S10:重复执行步骤S6至步骤S10,直到生成完整的隐写文本,以完成根据秘密信息自动生成文本载体的过程。
需要说明的是,本发明实施例通过步骤S9和步骤S10实现了对候选池的词进行可变长编码,提高了生成隐写文本的质量,从而提升了系统隐蔽性。
步骤S11:发送完整的隐写文本,以使接收方在接收隐写文本后,对隐写文本进行解码并获取机密消息。
综上,本发明实施例涉及信息隐藏、自动文本生成、人工智能、自然语言处理等领域,提供的基于马尔可夫模型和哈夫曼编码的文本隐写方法,属于基于载体生成的隐写术,区别于以往的文本隐写方法,本方法的创新点在于利用哈夫曼树对候选池中的词进行可变长编码。该方法在隐写文本自动生成过程中,考虑了不同词的敏感度,提升了生成的隐写文本的质量,从而提升了系统整体的隐蔽性。
进一步地,为了在保证隐写文本的自然性的同时实现大容量文本信息隐藏,本发明实施例利用马尔可夫模型基于哈夫曼编码进行文本隐写,可以根据输入比特流自动生成高质量的文本。下面将描述模型的细节,包括三个主要模块:文本自动生成模块,信息隐藏模块和信息提取模块。文本自动生成模块对自然文本进行建模,利用马尔可夫的自学习能力从大量样本中训练统计语言模型,并估计每个时刻的条件概率分布。信息隐藏模块通过对条件概率分布进行可变长度编码来实现秘密比特流的隐藏。信息解码模块模拟接收端,在接收到嵌入了隐蔽信息的自然文本后,对其进行解码并获取机密消息。下面将通过具体实施例对基于马尔可夫模型和哈夫曼编码的文本隐写方法进行进一步阐述。
一、基于马尔可夫的文本自动生成
在文本自动生成过程中,本方法主要利用马尔可夫模型在序列信号特征提取和表达方面的强大能力。当我们使用马尔可夫链模型进行自动文本生成时,我们实际上希望通过学习大量文本集来使用马尔可夫链模型来获得良好的统计语言模型估计。对于包含多个句子的大型训练语料库,我们首先构建一个包含训练中出现的所有单词的大词典D。
其中,表示词典D中的第i个单词,N为词典的个数。字典D对应于上述的空间χ。如前,每个句子S可以被视为序列信号,S中的第i个字可以被视为时间点i的信号,即
其中,表示句子S中的第i个单词,L表示句子的长度。在自动文本生成过程中,我们需要计算每个单词的转换概率。对于马尔可夫链模型,根据大数定理,我们通常使用数据集中每个短语的频率来近似概率。例如,对于二阶马尔可夫链模型,结合t-1,t-2时间的信号,计算在时刻t时信号的概率,计算公式如下:
如前,每个句子S可以被视为序列信号,第i个单词可以被视为第i个时间的信号。是短语在训练集中出现的次数。如果我们不需要嵌入信息而只需生成自然文本,我们通常会选择具有最高概率的单词作为每次迭代的输出。
二、信息隐藏算法
在信息隐藏模块中,本方法主要基于单词的词频分布对其进行编码。每次生成一个单词,模型根据前面步骤中生成的所有单词计算概率分布,即我们根据条件概率分布对字典D中的所有单词进行编码,然后根据位流选择相应的单词,以达到隐藏信息的目的。我们的思想主要基于以下事实:当用于学习的样本集中的句子数量足够大时,在每个时间点实际上存在多个可行解。在降低字典D中所有单词的预测概率之后,我们可以选择前m个排序单词来构建候选池(CP)。更具体地说,假设我们使用ci来表示候选池中的第i个单词,那么CP可以写为:
CP=[c1,c2,...,cm]
根据马尔可夫链在每个时刻选择不同的单词,在下一个事件单词的概率分布也会不同。在我们得到候选池之后,我们需要找到一种有效的编码方法来对其中的单词进行编码。为了使每个单词的编码更符合,在条件概率分布中,我们使用哈夫曼树对候选池中的单词进行编码。在计算机科学和信息理论中,哈夫曼代码是一种特殊类型的最优前缀代码。哈夫曼算法的输出可以被视为用于编码源符号的可变长度代码表。在编码过程中,该方法充分考虑了构造过程中每个源符号的概率分布,并且可以确保编码概率较高的符号所需的码长较短。在文本生成过程中,我们在每个时刻用树的每个叶节点表示候选池中的每个单词,边连接每个非叶节点(包括根节点),然后用0编码其两个子节点。分别为1和1,左侧为0,右侧为1,如图4所示。
在候选池中的单词全部被编码之后,信息嵌入的过程是根据需要嵌入的二进制码流选择对应的叶节点作为当前时间的输出。为了避免两个相等的比特序列产生两个等价文本句子的条件,我们构造了一个关键字列表。我们计算了收集的文本数据集中每个句子的前两个单词的频率。按降序排序后,我们选择100个最常用的单词来形成关键字列表。在生成过程中,我们将随机选择关键字列表中的单词作为生成的隐写句子的开头。
信息隐藏方法的算法细节在算法1中展示。利用该方法,可以根据输入的密码流生成大量在语法上正确且语义平滑的自然语句。这些生成的文本可以通过开放的渠道发送出去,以达到隐藏和发送秘密信息的目的。这具有很高的隐蔽性。
三、信息提取算法
机密信息的嵌入和提取的过程是两个完全相反的操作。在开放的渠道上接到含有机密信息的隐写文本之后,接收器需要正确的解码其中包含的机密信息。信息提取与信息嵌入的过程基本相同,仍需在每个时刻计算每个单词的条件概率分布,然后构造相同的候选池,并对候选池中的单词使用相同的编码方式。值得注意的是,为了保证提取到正确的机密信息,双方需要就使用相同的公共文本数据集来构建马尔可夫链达成一致。所提出的信息提取方法的算法细节如算法2所示。
在接收到发送的隐写文本之后,接收器首先在同一文本数据集上构造相同顺序的马尔可夫链,然后将每个句子的前两个单词作为关键字输入到马尔可夫链模型中。在每个时间点,当接收者获得当前单词的概率分布时,首先需要按概率的降序对字典中的所有单词进行排序,并选择前m个单词以形成候选池;然后按照相同的规则构建霍夫曼树,以编码候选池中的单词;最后,根据当前时刻的实际发送字,确定相应叶节点到根节点的路径,以便能够成功准确地解码当前字中嵌入的比特。通过这种方式,可以非常快速且无错误地提取嵌入原始文本中的比特流。
算法1信息隐藏算法
输入:
秘密比特流:B={0,0,1,0,1,...,0,1,0}
候选池(CPS):m
关键词列表:A={key1,key2,...,keyF}
输出:
多个生成的隐写文本:
Text={S1,S2,...,SN}
1、如果非当前句子的末尾:
2、根据已生成的单词,使用马尔可夫模型来计算下一个单词的概率分布;
3、降序排序所有单词的预测概率,选择前m个单词构成候选池;
4、对候选池中的单词构建哈夫曼树,并进行编码;
5、读取二进制比特流,根据编码规则从树的根节点开始搜索,找到相应的叶节点后输出其对应的单词;
6、否则:
7、在关键词列表A中随机选择一个关键词Keyi作为下一个句子的起始;
8、选择每个时刻概率最高的单词作为输出直到句子结尾
9、返回生成的句子。
算法2信息提取算法
输入:
多个生成的句子:Text={S1,S2,...,SN}
候选池的大小(CPS):m
输出:
秘密比特流:B={0,0,1,0,1,...,0,1,0}
1、对于文本中的每一个句子S,进行:
2、根据已生成的单词,使用马尔可夫模型来计算下一个单词的概率分布;
3、降序排序所有单词的预测概率,选择前m个单词构成候选池;
4、对候选池中的单词构建哈夫曼树,并进行编码;
5、确定从根节点到叶节点的路径,以及该路径对应于当前时刻的字;
6、根据树编码规则,即子节点的左侧为0,右侧为1,嵌入当前字的码流被解码;
7、输出解码的码流,并将其附加给B;
8、返回机密信息码流B。
根据本发明实施例提出的基于马尔可夫模型和哈夫曼编码的文本隐写方法,根据需要隐藏的秘密比特流,利用候选池的收缩机制,自动生成高质量的隐写文本,并通过对大量样本构建模型,对统计语言模型进行了很好的估计,根据训练好的统计语言模型,能够自动生成高质量的文本,且在文本生成过程中,基于其条件概率分布合理地对每个单词进行编码,根据语言模型的概率值实现候选池自适应收缩,然后根据比特流控制文本生成,从而可以有效提高生成隐写文本的质量,提升系统隐蔽性。
其次参照附图描述根据本发明实施例提出的基于马尔可夫模型和哈夫曼编码的文本隐写装置。
图5是本发明一个实施例的基于马尔可夫模型和哈夫曼编码的文本隐写装置的结构示意图。
如图5所示,该基于马尔可夫模型和哈夫曼编码的文本隐写装置10包括:获取模块100、建模模块200、第一统计模块300、第二统计模块400、选择模块500、迭代模块600、排列模块700、确定模块800、搜索模块900、重复模块1000和发送模块1100。
其中,获取模块100用于根据预设文本媒体形式的数据集得到训练集;建模模块200用于对自然文本进行建模,以利用trigram模型构建相应的马尔可夫网络模型;第一统计模块300用于通过预设的训练文本统计词频,并按照词频排序生成词典D;第二统计模块400用于统计训练样本中每个句子第一个词的词频分布,并选择词频最高的前预设个数词构成预设列表;选择模块500用于每次生成一句隐写文本时,随机从预设列表中选择一个词作为训练好的Marcov网络模型的输入;迭代模块600用于利用Marcov的语言模型,迭代式计算各个时刻词的动态条件概率分布;排列模块700用于在每个迭代步骤T,根据各个词的条件概率依降序排列,并选用排序靠前的N个词构成候选词词列表;确定模块800用于确定候选池的大小后,根据候选池中各个词的条件概率构建哈夫曼树,并进行哈夫曼编码;搜索模块900用于根据需要嵌入的码流从哈夫曼树的根结点开始搜索,直到搜索到相应的叶子结点对应的词作为当前时刻的输出,以实现隐藏秘密比特流的能力;重复模块1000用于重复执行迭代模块600、排列模块700、确定模块800、搜索模块900和重复模块1000,直到生成完整的隐写文本,以完成根据秘密信息自动生成文本载体的过程;发送模块1100用于发送完整的隐写文本,以使接收方在接收隐写文本后,对隐写文本进行解码并获取机密消息。
进一步地,在本发明的一个实施例中,预设文本媒体形式包括Twitter、电影评论和新闻。
进一步地,在本发明的一个实施例中,还包括:预处理模块,用于在对自然文本进行建模之前,对训练集中的数据源进行预处理。
进一步地,在本发明的一个实施例中,预处理模块进一步用于将所有英文单词转换为小写的英文单词,并删除数据中的特殊符号,并过滤小于预设频率的低频词。
进一步地,在本发明的一个实施例中,预设个数为100。
需要说明的是,前述对基于马尔可夫模型和哈夫曼编码的文本隐写方法实施例的解释说明也适用于该实施例的基于马尔可夫模型和哈夫曼编码的文本隐写装置,此处不再赘述。
根据本发明实施例提出的本发明实施例的基于马尔可夫模型和哈夫曼编码的文本隐写装置,根据需要隐藏的秘密比特流,利用候选池的收缩机制,自动生成高质量的隐写文本,并通过对大量样本构建模型,对统计语言模型进行了很好的估计,根据训练好的统计语言模型,能够自动生成高质量的文本,且在文本生成过程中,基于其条件概率分布合理地对每个单词进行编码,根据语言模型的概率值实现候选池自适应收缩,然后根据比特流控制文本生成,从而可以有效提高生成隐写文本的质量,提升系统隐蔽性。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种基于马尔可夫模型和哈夫曼编码的文本隐写方法,其特征在于,包括以下步骤:
步骤S1:根据预设文本媒体形式的数据集得到训练集;
步骤S2:对自然文本进行建模,以利用trigram模型构建相应的马尔可夫网络模型;
步骤S3:通过预设的训练文本统计词频,并按照词频排序生成词典D;
步骤S4:统计训练样本中每个句子第一个词的词频分布,并选择词频最高的前预设个数词构成预设列表;
步骤S5:每次生成一句隐写文本时,随机从所述预设列表中选择一个词作为训练好的Marcov网络模型的输入;
步骤S6:利用Marcov的语言模型,迭代式计算各个时刻词的动态条件概率分布;
步骤S7:在每个迭代步骤T,根据各个词的条件概率依降序排列,并选用排序靠前的N个词构成候选词词列表;
步骤S8:确定候选池的大小后,根据所述候选池中各个词的条件概率构建哈夫曼树,并进行哈夫曼编码;
步骤S9:根据需要嵌入的码流从所述哈夫曼树的根结点开始搜索,直到搜索到相应的叶子结点对应的词作为当前时刻的输出,以实现隐藏秘密比特流的能力;
步骤S10:重复执行所述步骤S6至所述步骤S10,直到生成完整的隐写文本,以完成根据秘密信息自动生成文本载体的过程;以及
步骤S11:发送所述完整的隐写文本,以使接收方在接收所述隐写文本后,对所述隐写文本进行解码并获取机密消息。
2.根据权利要求1所述的基于马尔可夫模型和哈夫曼编码的文本隐写方法,其特征在于,所述预设文本媒体形式包括Twitter、电影评论和新闻。
3.根据权利要求1所述的基于马尔可夫模型和哈夫曼编码的载体生成式文本隐写方法,其特征在于,在对所述自然文本进行建模之前,还包括:
对所述训练集中的数据源进行预处理。
4.根据权利要求3所述的基于马尔可夫模型和哈夫曼编码的文本隐写方法,其特征在于,所述对所述训练集中的数据源进行预处理,包括:
将所有英文单词转换为小写的英文单词;
删除所述数据中的特殊符号,并过滤小于预设频率的低频词。
5.根据权利要求1所述的基于马尔可夫模型和哈夫曼编码的文本隐写方法,其特征在于,所述预设个数为100。
6.一种基于马尔可夫模型和哈夫曼编码的文本隐写装置,其特征在于,包括:
获取模块,用于根据预设文本媒体形式的数据集得到训练集;
建模模块,用于对自然文本进行建模,以利用trigram模型构建相应的马尔可夫网络模型;
第一统计模块,用于通过预设的训练文本统计词频,并按照词频排序生成词典D;
第二统计模块,用于统计训练样本中每个句子第一个词的词频分布,并选择词频最高的前预设个数词构成预设列表;
选择模块,用于每次生成一句隐写文本时,随机从所述预设列表中选择一个词作为训练好的Marcov网络模型的输入;
迭代模块,用于利用Marcov的语言模型,迭代式计算各个时刻词的动态条件概率分布;
排列模块,用于在每个迭代步骤T,根据各个词的条件概率依降序排列,并选用排序靠前的N个词构成候选词词列表;
确定模块,用于确定候选池的大小后,根据所述候选池中各个词的条件概率构建哈夫曼树,并进行哈夫曼编码;
搜索模块,用于根据需要嵌入的码流从所述哈夫曼树的根结点开始搜索,直到搜索到相应的叶子结点对应的词作为当前时刻的输出,以实现隐藏秘密比特流的能力;
重复模块,用于重复执行所述迭代模块、所述排列模块、所述确定模块、所述搜索模块和所述重复模块,直到生成完整的隐写文本,以完成根据秘密信息自动生成文本载体的过程;以及
发送模块,用于发送所述完整的隐写文本,以使接收方在接收所述隐写文本后,对所述隐写文本进行解码并获取机密消息。
7.根据权利要求6所述的基于马尔可夫模型和哈夫曼编码的文本隐写装置,其特征在于,所述预设文本媒体形式包括Twitter、电影评论和新闻。
8.根据权利要求6所述的基于马尔可夫模型和哈夫曼编码的载体生成式文本隐写方法,其特征在于,还包括:
预处理模块,用于在对所述自然文本进行建模之前,对所述训练集中的数据源进行预处理。
9.根据权利要求8所述的基于马尔可夫模型和哈夫曼编码的文本隐装置,其特征在于,所述预处理模块进一步用于将所有英文单词转换为小写的英文单词,并删除所述数据中的特殊符号,并过滤小于预设频率的低频词。
10.根据权利要求6所述的基于马尔可夫模型和哈夫曼编码的文本隐写装置,其特征在于,所述预设个数为100。
CN201811610142.4A 2018-12-27 2018-12-27 基于马尔可夫模型和哈夫曼编码的文本隐写方法及装置 Active CN109711121B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811610142.4A CN109711121B (zh) 2018-12-27 2018-12-27 基于马尔可夫模型和哈夫曼编码的文本隐写方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811610142.4A CN109711121B (zh) 2018-12-27 2018-12-27 基于马尔可夫模型和哈夫曼编码的文本隐写方法及装置

Publications (2)

Publication Number Publication Date
CN109711121A true CN109711121A (zh) 2019-05-03
CN109711121B CN109711121B (zh) 2021-03-12

Family

ID=66258780

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811610142.4A Active CN109711121B (zh) 2018-12-27 2018-12-27 基于马尔可夫模型和哈夫曼编码的文本隐写方法及装置

Country Status (1)

Country Link
CN (1) CN109711121B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110232117A (zh) * 2019-06-13 2019-09-13 北京百度网讯科技有限公司 句子流畅度检测方法、装置以及终端
CN111666575A (zh) * 2020-04-15 2020-09-15 中国人民解放军战略支援部队信息工程大学 基于词元编码的文本无载体信息隐藏方法
CN111859407A (zh) * 2019-10-16 2020-10-30 沈阳工业大学 基于候选池自收缩机制的文本自动生成隐写方法
CN112380855A (zh) * 2020-11-20 2021-02-19 北京百度网讯科技有限公司 确定语句通顺度的方法、确定概率预测模型的方法和装置
CN113987129A (zh) * 2021-11-08 2022-01-28 重庆邮电大学 基于变分自动编码器的数字媒体保护文本隐写方法
CN114978756A (zh) * 2022-06-22 2022-08-30 郑州大学 一种基于马尔科夫链的生成式区块链隐蔽通信方法
CN116468005A (zh) * 2023-03-29 2023-07-21 云南大学 基于文本改写模型的隐写文本生成方法
CN117131203A (zh) * 2023-08-14 2023-11-28 湖北大学 一种基于知识图谱的文本生成隐写方法、相关方法及装置
CN117131202A (zh) * 2023-08-14 2023-11-28 湖北大学 一种基于知识图谱的文本隐写方法、相关方法及装置
CN117651076A (zh) * 2023-11-29 2024-03-05 哈尔滨工程大学 适配跨域多信道保密信源编码压缩解压方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101610405A (zh) * 2008-06-20 2009-12-23 刘镔 一种以压缩视频为载体的信息隐写方法
CN103460637A (zh) * 2011-03-30 2013-12-18 三菱电机株式会社 针对存储在服务器中的隐马尔可夫模型(hmm)评估存储在客户端中的观测值序列的概率的方法和服务器
CN103761702A (zh) * 2014-01-09 2014-04-30 太原科技大学 一种基于秘密共享的图像隐藏和认证方法
CN105373529A (zh) * 2015-10-28 2016-03-02 甘肃智呈网络科技有限公司 一种基于隐马尔科夫模型的智能分词方法
CN106375768A (zh) * 2015-07-23 2017-02-01 中国科学院信息工程研究所 基于帧内预测模式校准的视频隐写分析方法
CN107481182A (zh) * 2017-08-02 2017-12-15 井冈山大学 一种N阶Markov链模型的隐写直觉模糊集距离安全性评价方法
CN108846130A (zh) * 2018-06-29 2018-11-20 北京百度网讯科技有限公司 一种问题文本生成方法、装置、设备和介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101610405A (zh) * 2008-06-20 2009-12-23 刘镔 一种以压缩视频为载体的信息隐写方法
CN103460637A (zh) * 2011-03-30 2013-12-18 三菱电机株式会社 针对存储在服务器中的隐马尔可夫模型(hmm)评估存储在客户端中的观测值序列的概率的方法和服务器
CN103761702A (zh) * 2014-01-09 2014-04-30 太原科技大学 一种基于秘密共享的图像隐藏和认证方法
CN106375768A (zh) * 2015-07-23 2017-02-01 中国科学院信息工程研究所 基于帧内预测模式校准的视频隐写分析方法
CN105373529A (zh) * 2015-10-28 2016-03-02 甘肃智呈网络科技有限公司 一种基于隐马尔科夫模型的智能分词方法
CN107481182A (zh) * 2017-08-02 2017-12-15 井冈山大学 一种N阶Markov链模型的隐写直觉模糊集距离安全性评价方法
CN108846130A (zh) * 2018-06-29 2018-11-20 北京百度网讯科技有限公司 一种问题文本生成方法、装置、设备和介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
向凌云: "文本信息隐藏和隐藏信息检测研究", 《中国优秀硕士学位论文全文 信息科技辑》 *
胡小溪: "基于词频分布的文本隐写技术研究", 《中国优秀硕士学位论文全文 信息科技辑》 *
陈志立: "语言隐写术的分析与设计研究", 《中国优秀硕士学位论文全文 信息科技辑》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110232117B (zh) * 2019-06-13 2021-07-16 北京百度网讯科技有限公司 句子流畅度检测方法、装置以及终端
CN110232117A (zh) * 2019-06-13 2019-09-13 北京百度网讯科技有限公司 句子流畅度检测方法、装置以及终端
CN111859407A (zh) * 2019-10-16 2020-10-30 沈阳工业大学 基于候选池自收缩机制的文本自动生成隐写方法
CN111666575A (zh) * 2020-04-15 2020-09-15 中国人民解放军战略支援部队信息工程大学 基于词元编码的文本无载体信息隐藏方法
CN111666575B (zh) * 2020-04-15 2022-11-18 中国人民解放军战略支援部队信息工程大学 基于词元编码的文本无载体信息隐藏方法
CN112380855B (zh) * 2020-11-20 2024-03-08 北京百度网讯科技有限公司 确定语句通顺度的方法、确定概率预测模型的方法和装置
CN112380855A (zh) * 2020-11-20 2021-02-19 北京百度网讯科技有限公司 确定语句通顺度的方法、确定概率预测模型的方法和装置
CN113987129A (zh) * 2021-11-08 2022-01-28 重庆邮电大学 基于变分自动编码器的数字媒体保护文本隐写方法
CN114978756A (zh) * 2022-06-22 2022-08-30 郑州大学 一种基于马尔科夫链的生成式区块链隐蔽通信方法
CN114978756B (zh) * 2022-06-22 2024-04-26 郑州大学 一种基于马尔科夫链的生成式区块链隐蔽通信方法
CN116468005A (zh) * 2023-03-29 2023-07-21 云南大学 基于文本改写模型的隐写文本生成方法
CN116468005B (zh) * 2023-03-29 2024-01-30 云南大学 基于文本改写模型的隐写文本生成方法
CN117131202A (zh) * 2023-08-14 2023-11-28 湖北大学 一种基于知识图谱的文本隐写方法、相关方法及装置
CN117131203B (zh) * 2023-08-14 2024-03-22 湖北大学 一种基于知识图谱的文本生成隐写方法、相关方法及装置
CN117131203A (zh) * 2023-08-14 2023-11-28 湖北大学 一种基于知识图谱的文本生成隐写方法、相关方法及装置
CN117651076A (zh) * 2023-11-29 2024-03-05 哈尔滨工程大学 适配跨域多信道保密信源编码压缩解压方法

Also Published As

Publication number Publication date
CN109711121B (zh) 2021-03-12

Similar Documents

Publication Publication Date Title
CN109711121A (zh) 基于马尔可夫模型和哈夫曼编码的文本隐写方法及装置
Yang et al. RNN-stega: Linguistic steganography based on recurrent neural networks
Liu et al. Coverless information hiding based on generative adversarial networks
Zhou et al. Linguistic steganography based on adaptive probability distribution
CN111753024B (zh) 一种面向公共安全领域的多源异构数据实体对齐方法
Yang et al. Automatically generate steganographic text based on Markov model and Huffman coding
Daumé III et al. A large-scale exploration of effective global features for a joint entity detection and tracking model
CN110110318B (zh) 基于循环神经网络的文本隐写检测方法及系统
Yang et al. TS-CSW: Text steganalysis and hidden capacity estimation based on convolutional sliding windows
CN108280112A (zh) 摘要生成方法、装置及计算机设备
CN110795556A (zh) 一种基于细粒度插入式解码的摘要生成方法
CN112100404A (zh) 基于结构化上下文信息的知识图谱预训练方法
CN109766432A (zh) 一种基于生成对抗网络的中文摘要生成方法和装置
CN109522403A (zh) 一种基于融合编码的摘要文本生成方法
CN111797409B (zh) 一种大数据中文文本无载体信息隐藏方法
Yang et al. TS-CNN: Text steganalysis from semantic space based on convolutional neural network
CN103294959A (zh) 一种抗统计分析的文本信息隐藏方法
CN109815496A (zh) 基于容量自适应收缩机制载体生成式文本隐写方法及装置
CN108418683A (zh) 一种基于汉字结构特征的无载体文本隐写方法
CN111666575B (zh) 基于词元编码的文本无载体信息隐藏方法
Wang et al. GAN-GLS: Generative Lyric Steganography Based on Generative Adversarial Networks.
CN115758415A (zh) 一种基于汉字部件组合的文本无载体信息隐藏方法
Wu et al. Research on coverless text steganography based on multi-rule language models alternation
CN113282746B (zh) 一种网络媒体平台变体评论对抗文本生成方法
CN115526176A (zh) 文本识别方法及装置、电子设备、存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant