当前位置: 首页 > 专利查询>中山大学专利>正文

一种基于加密和自然语言生成的信息隐藏方法技术

技术编号:19219372 阅读:99 留言:0更新日期:2018-10-20 08:04
本发明专利技术提供了一种基于加密和自然语言生成的信息隐藏方法,属于计算机领域中的数据安全与信息隐藏方向。本发明专利技术首先使用AES算法加密秘密信息,使用RSA算法加密AES密钥,使用MD5算法为加密后的信息生成MD5值,然后根据加密后的信息和其MD5值组合成的待隐藏信息,使用正常自然语言文本的上下文无关文法,利用Huffman编解码算法来生成载密文本。本发明专利技术使用加密算法为秘密信息加多了一层强有力的保护,提供了秘密信息的完整性校验信息,并且提高了载密文本在统计特征和语法语义方面与正常文本的相似度,提高了载密文本的隐蔽性和秘密信息的嵌入率。

【技术实现步骤摘要】
一种基于加密和自然语言生成的信息隐藏方法
本专利技术涉及密码学技术和信息隐藏
,更具体地,涉及一种基于加密和自然语言生成的信息隐藏方法。
技术介绍
在当今高度发达的信息社会中,信息安全一直是不容忽视的一个问题,并且越来越受到人们的重视。在许多领域,人们都对秘密通信(即在通信过程中第三方无法知晓通信的内容甚至存在)有需求。现在人们用来保证秘密通信安全的技术手段主要有两种:密码学技术和信息隐藏技术。密码学技术主要使用密钥加密通信内容,从而使得没有密钥的第三方无法知晓通信的内容。但是经过密钥加密后的通信内容往往是杂乱无章的乱码数据,很容易引起第三方的注意,暴露了秘密通信的事实,从而容易引起攻击者针对性的监视和攻击。信息隐藏技术则是将通信内容隐藏到某种正常的公开载体中,使得藏有通信内容的载体与正常载体相似,然后将藏有通信内容的载体当作伪装的通信内容来传输,使得第三方不易发现秘密通信的存在。信息隐藏技术克服了加密后的通信内容容易引起第三方的注意这一弊端。但是,现在信息隐藏技术的理论安全性远不如密码学的那样强壮。AES是由美国国家标准与技术研究院(NIST)发布的高级加密标准,属于对称加密算法中的一种。在对称加密算法中,通信双方共享同一个密钥,使用这个密钥加密信息,并且这个密钥不能被第三方获取。对称加密算法的安全性依赖于密钥的保密。对称加密算法的优点是运行速度快,适合对大量数据加密,因此选择对称加密算法来加密秘密通信的内容是比较合适的。RSA算法是一种非对称加密算法。非对称加密算法需要两个密钥:公钥和私钥。公钥与私钥是一对。公钥可以对外公开,但是私钥只能被密钥所有者一个人知道。如果使用公钥对数据进行加密,那么只有用对应的私钥才能解密;如果使用私钥对数据进行加密,那么只有用对应的公钥才能解密。在数学理论上,在一对公私钥中,由公钥推出私钥是不可能的,或者说是极其困难的。MD5算法是一种散列算法。MD5算法的输入是任意长度的信息,输出是长度固定为128比特的散列值。MD5散列算法具有一个性质:很难找到两个不同的输入信息,使得它们的MD5散列值相同。也就是说,如果两段信息不同,那么它们通过MD5算法计算出的散列值在很大概率上是不同的。隐藏有加密后的通信内容的载密载体在通信过程中会受到噪声的影响,甚至可能会被篡改,导致通信接收方还原出的通信内容不正确。信息隐藏载体的主要类型有:图像、音频、视频、文本等。虽然文本载体的冗余空间和嵌入率都相对其它载体类型较低,但是人们之间的通信更多使用的是文字,而不是图像、视频等载体,在互联网高度发达的今天,海量的文本信息在网络中传输,使得秘密通信之外的第三方更难从中分辨出载密文本;并且现在信息隐藏领域的研究主要以图像载体为主,使用文本载体隐藏信息受到的关注相对较少,因此载密文本在传输的过程中更不容易引起第三方的注意,隐蔽性相对较高。基于文本载体的信息隐藏技术主要可以分为3种类型:基于格式的文本信息隐藏、基于语义的文本信息隐藏和基于统计特征的文本信息隐藏。基于格式的文本信息隐藏通过对格式化文本的格式进行微调来隐藏信息。这种方法虽然算法比较简单,但其弊端在于秘密信息的嵌入率低,易被检测,并且鲁棒性较低。基于语义的文本信息隐藏指的是:表达同一件事或者同一个含义,可以有不同的表述方式,对不同的表述方式进行编码,就可以在保证载体文本语义不变的情况下,通过不同表述方式之间的替换来嵌入秘密信息。这种方法虽然鲁棒性较高,但其弊端在于嵌入率依旧较低,正常文本中可嵌入秘密信息的地方往往不多,并且有时不同表述方式之间不适当的替换还会引起载密文本语义上的异常和不连贯,导致载密文本容易被秘密通信之外的第三方检测出来。基于统计特征的文本信息隐藏是根据秘密信息来生成与正常文本统计特征相似的载密文本。这种方法的优势在于秘密信息的嵌入率比前两种方法大大提高,并且它可以较好地躲过通信之外的第三方对载密文本在统计维度的检测,但是它的弊端在于生成的载密文本往往不符合自然语言的语法,也几乎没有语义,容易引起通信之外的第三方的注意。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种较安全且效率较高基于加密和自然语言生成的信息隐藏方法。为解决上述问题,本专利技术提供的技术方案为:一种基于加密和自然语言生成的信息隐藏方法,其特征在于,包括以下步骤:S1.将秘密信息S编码为二进制流S';S2.使用AES加密算法,生成一个随机密钥K;然后使用密钥K加密S1步骤中得到的二进制流S',得到加密后的二进制流E(S');S3.使用RSA算法,为秘密信息接收者B生成一对公私钥;B的公钥为PbB,B的私钥为PrB;S4.使用RSA算法和S3步骤中得到的秘密信息接收者B的公钥PbB,加密S2步骤中得到的密钥K,得到加密后的密钥E(K);S5.将S2步骤中得到的E(S')和S4步骤中得到的E(K)相连,并在E(S')和E(K)之间加入一串足够长的特定二进制序列Sepa1,得到二进制流ES'K;然后使用MD5函数计算出ES'K的MD5值M(ES'K);S6.将S5步骤中得到的ES'K和M(ES'K)相连,并在ES'K和M(ES'K)之间加入一串足够长的特定二进制序列Sepa2,得到二进制流I';在I'前面加入表示I'长度信息的二进制序列L,并在L和I'之间加入一串足够长的特定二进制序列Sepa3,得到二进制流I;S7.根据一段正常的自然语言文本构造一个无歧义的上下文无关文法(CFG);本专利技术在基于统计特征的文本信息隐藏方法的基础上,引入了上下文无关文法(CFG),使得生成的载密文本符合自然语言语法,并且在语义可理解程度方面有了较大提升,提高了载密文本在传输过程中的隐蔽性;S8.根据S7步骤中得到的CFG的每个非终结符号的每个产生式的概率,使用Huffman压缩编码算法为CFG的每个非终结符号生成一棵Huffman二叉树,每个非终结符号的每个产生式就是这个非终结符号的Huffman树的一个叶子节点;如果在这棵二叉树的所有左侧分支路径上标注0,在其所有右侧分支路径上标注1,那么每个产生式对应着一个二进制编码,即从这棵二叉树的根走到每个产生式叶节点的路径所对应的二进制序列;S9.开始扫描S6步骤中得到的二进制流I,并从S8步骤中的CFG的开始符号出发,根据扫描到的二进制流,不断展开当前的非终结符号,直到扫描完二进制流I;如果所有非终结符号已经全部展开为终结符号但二进制流I仍未扫描完毕,那么以当前的扫描位置为开始,重复步骤S9;如果还有非终结符号未被展开但二进制流I已经扫描完毕,那么可以为余下的非终结符号随机选择产生式展开,直到所有非终结符号全部展开为终结符号;最终生成的终结符号串就是隐藏有秘密信息的自然语言文本,即载密文本,载密文本在统计特征和语法语义方面均与S7步骤中所述的正常自然语言文本相似。在本专利技术中,在所述步骤S6中加入了表示所述二进制流I'长度信息的二进制序列L,原因是:在所述步骤S9中,如果所述二进制流I已经扫描完毕但还有非终结符号未被展开,在为余下的非终结符号随机选择产生式展开的过程中,就相当于在所述二进制流I的后面添加了额外的一些二进制序列;提前在二进制流I中加入表示二进制流I'长度信息的二进制序列L,就可以将含有秘密信息的I'与额本文档来自技高网
...

【技术保护点】
1.一种基于加密和自然语言生成的信息隐藏方法,其特征在于,包括以下步骤:S1. 将秘密信息S编码为二进制流S';S2.使用AES加密算法,生成一个随机密钥K;然后使用密钥K加密S1步骤中得到的二进制流S',得到加密后的二进制流E(S');S3. 使用RSA算法,为秘密信息接收者B生成一对公私钥;B的公钥为PbB,B的私钥为PrB;S4. 使用RSA算法和S3步骤中得到的秘密信息接收者B的公钥PbB,加密S2步骤中得到的密钥K,得到加密后的密钥E(K);S5. 将S2步骤中得到的E(S')和S4步骤中得到的E(K)相连,并在E(S')和E(K)之间加入一串足够长的特定二进制序列Sepa1,得到二进制流ES'K;然后使用MD5函数计算出ES'K的MD5值M(ES'K);S6. 将S5步骤中得到的ES'K和M(ES'K)相连,并在ES'K和M(ES'K)之间加入一串足够长的特定二进制序列Sepa2,得到二进制流I';在I'前面加入表示I'长度信息的二进制序列L,并在L和I'之间加入一串足够长的特定二进制序列Sepa3,得到二进制流I;S7. 根据一段正常的自然语言文本构造一个无歧义的上下文无关文法(CFG);S8. 根据S7步骤中得到的CFG的每个非终结符号的每个产生式的概率,使用Huffman压缩编码算法为CFG的每个非终结符号生成一棵Huffman二叉树,每个非终结符号的每个产生式就是这个非终结符号的Huffman树的一个叶子节点;如果在这棵二叉树的所有左侧分支路径上标注0,在其所有右侧分支路径上标注1,那么每个产生式对应着一个二进制编码,即从这棵二叉树的根走到每个产生式叶节点的路径所对应的二进制序列;S9. 开始扫描S6步骤中得到的二进制流I,并从S8步骤中的CFG的开始符号出发,根据扫描到的二进制流,不断展开当前的非终结符号,直到扫描完二进制流I;如果所有非终结符号已经全部展开为终结符号但二进制流I仍未扫描完毕,那么以当前的扫描位置为开始,重复步骤S9;如果还有非终结符号未被展开但二进制流I已经扫描完毕,那么可以为余下的非终结符号随机选择产生式展开,直到所有非终结符号全部展开为终结符号;最终生成的终结符号串就是隐藏有秘密信息的自然语言文本,即载密文本。...

【技术特征摘要】
1.一种基于加密和自然语言生成的信息隐藏方法,其特征在于,包括以下步骤:S1.将秘密信息S编码为二进制流S';S2.使用AES加密算法,生成一个随机密钥K;然后使用密钥K加密S1步骤中得到的二进制流S',得到加密后的二进制流E(S');S3.使用RSA算法,为秘密信息接收者B生成一对公私钥;B的公钥为PbB,B的私钥为PrB;S4.使用RSA算法和S3步骤中得到的秘密信息接收者B的公钥PbB,加密S2步骤中得到的密钥K,得到加密后的密钥E(K);S5.将S2步骤中得到的E(S')和S4步骤中得到的E(K)相连,并在E(S')和E(K)之间加入一串足够长的特定二进制序列Sepa1,得到二进制流ES'K;然后使用MD5函数计算出ES'K的MD5值M(ES'K);S6.将S5步骤中得到的ES'K和M(ES'K)相连,并在ES'K和M(ES'K)之间加入一串足够长的特定二进制序列Sepa2,得到二进制流I';在I'前面加入表示I'长度信息的二进制序列L,并在L和I'之间加入一串足够长的特定二进制序列Sepa3,得到二进制流I;S7.根据一段正常的自然语言文本构造一个无歧义的上下文无关文法(CFG);S8.根据S7步骤中得到的CFG的每个非终结符号的每个产生式的概率,使用Huffman压缩编码算法为CFG的每个非终结符号生成一棵Huffman二叉树,每个非终结符号的每个产生式就是这个非终结符号的Huffman树的一个叶子节点;如果在这棵二叉树的所有左侧分支路径上标注0,在其所有右侧分支路径上标注1,那么每个产生式对应着一个二进制编码,即从这棵二叉树的根走到每个产生式叶节点...

【专利技术属性】
技术研发人员:高钰孙伟卢伟
申请(专利权)人:中山大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1