基于Unicode编码的文本秘密信息隐藏和提取方法与流程

文档序号:19060012发布日期:2019-11-06 01:41阅读:1020来源:国知局
基于Unicode编码的文本秘密信息隐藏和提取方法与流程

本发明属于信息隐藏技术领域,特别是一种基于unicode编码的文本秘密信息隐藏和提取方法。



背景技术:

信息隐藏技术是在原始数据中嵌入秘密信息,比如需要隐藏的敏感信息的技术。信息隐藏技术不仅能够被检测和提取,同时也能够防止网络以及文本攻击。信息隐藏技术包括隐藏信息的嵌入以及提取。在嵌入阶段,首先需要生成包含需要隐藏的信息的字符串(如作者姓名、出版社或敏感信息),然后根据相应的算法生成不可见的字符串并将其嵌入到封面文本中的特殊位置,如文献1(m.pal.asurveyondigitalwatermarkinganditsapplication[j].internationaljournalofadvancedcomputerscienceandapplications,2016,7(1):153–156.)。嵌入有秘密信息的文本在互联网中传输、分享,当需获取该文本的秘密信息时,能够检测并且提取出该秘密信息。在敏感信息嵌入后以及提取前,被隐藏的秘密信息应该能够抵御各种攻击。

针对文本的隐藏以及伪装问题,一些与unicode编码相关的文本水印研究技术被研究者们提出。比如文献2(l.y.por,k.wong,k.o.chee,“atext-baseddatahidingmethodusingunicodespacecharacters”,thejournalofsystemsandsoftware,2012,vol.85,no.5,pp.1075-1082.doi:10.1016/j.jss.2011.12.023.)在2012年提出了一种名为unispach的数据隐藏方法,它采用unicode编码的特殊空间来把秘密信息隐藏在word中。这种方法利用特定的位置和双空格的组合来隐藏秘密信息,其优点是充分利用了空间的组合,所以提供了更高的嵌入容量。但这种方法在封面文本中产生了一些特殊的空白,而且容易受到篡改和重新格式化类型的攻击。

目前的文本隐藏技术存在三点不足:一是文本秘密信息的嵌入容量不高,二是秘密信息抵御攻击的鲁棒性较低,三是秘密信息可能会影响文本的结构甚至内容,且有的技术并没有好的透明性,可能会产生被攻击者注意到的问题。



技术实现要素:

本发明的目的在于提供一种能够在社交媒体中保障秘密信息传输的基于unicode编码的文本秘密信息隐藏和提取方法,从而为短信以及社交媒体用户带来端到端的安全保障。

实现本发明目的的技术解决方案为:一种基于unicode编码的文本秘密信息隐藏和提取方法,包括以下步骤:

步骤1、发送方将秘密信息的每个字符使用哥德尔函数编码替换为二进制字符串;

步骤2、获取发送方对称密钥,组合在秘密信息二进制字符串前面;

步骤3、基于发送方对称密钥对秘密信息二进制字符串进行散列加密;

步骤4、将散列加密后的秘密信息二进制字符串用设定的规则替换为unicode零宽度控制字符,形成不可见字符串,并嵌入封面文本的前面;

步骤5、接收方检测载体文本中的零宽度字符串,按照设定的规则还原二进制字符串;

步骤6、获取接收方密钥;

步骤7、基于接收方密钥对二进制字符串进行哈希解码;

步骤8、认证并进行哥德尔函数解码,输出秘密信息。

进一步地,步骤1中所述的发送方将秘密信息的每个字符使用哥德尔函数编码替换为二进制字符串,具体如下:

步骤1.1、设定η为任何给定的数,则存在唯一解<α,β>,令η为字母的ascii码,则<α,β>为sm的每个字符唯一的数字对:

<α,β>=2α(2β+1)-1(1)

且2α(2β+1)≠0

其中,是自然数,存在使得2α×k=η+1;

等式(2)中,为奇数;

嵌入算法为秘密信息的每个字符使用等式(2)和(3)来计算<α,β>对;

步骤1.2、将α、β分别转换为6位二进制字符串,并连接在一起,为每个字母生成一个12位二进制字符串;

步骤1.3、将每个字母的二进制字符串拼接到一起,形成秘密信息的二进制字符串。

进一步地,步骤2中所述的获取发送方对称密钥,组合在秘密信息二进制字符串前面,具体如下:

步骤2.1、散列函数将发送时间即生成隐藏信息的时间作为发送方密钥,并省略该时间的第4位;

步骤2.2、创建一个数字,并将该数字转换为8位二进制字符串,即发送方密钥,组合在秘密信息二进制字符串前面。

进一步地,步骤3所述的基于发送方对称密钥对秘密信息二进制字符串进行散列加密,具体如下:

步骤3.1、散列函数重复nc次复制密钥二进制字符串,形成散列位置位,nc计算公式如下:

式中,ls为秘密信息的长度,单位为字符;lsk为密钥二进制字符串的长度,单位为位;

步骤3.2、散列函数根据散列位置位或秘密信息二进制字符串,产生散列秘密信息二进制字符串。

进一步地,步骤4所述的将散列加密后的秘密信息二进制字符串用设定的规则替换为unicode零宽度控制字符,具体如下:

将二进制字符串的每连续2位分为一个小组,将每个小组中的“00”,“01”,“10”,“11”分别替换为“0x200c”,“0x202c”,“0x202d”,“0x200e”,从而形成不可见字符串。

进一步地,步骤5所述的接收方检测载体文本中的零宽度字符串,按照设定的规则还原二进制字符串,具体如下:

接收方检测载体文本中的零宽度字符串,按照“0x200c”,“0x202c”,“0x202d”,“0x200e”对应“00”,“01”,“10”,“11”的规则还原二进制字符串。

进一步地,步骤6所述的获取接收方密钥,具体如下:

步骤6.1、散列函数将接收时间作为接收方密钥,并省略该时间的第4位;

步骤6.2、创建一个数字并将其转换为8位二进制字符串,即接收方密钥。

进一步地,步骤7所述的基于接收方密钥对对二进制字符串进行哈希解码,具体如下:

根据公式(4)计算nc,并复制nc次密钥二进制字符串形成散列位置位,将散列位置位与需要解密的秘密信息二进制字符串进行异或计算。

进一步地,步骤8中所述的认证并进行哥德尔函数解码,输出秘密信息,具体如下:

比较解码后的发送方密钥与接收方密钥是否相同,若相同,则对秘密信息二进制字符串进行哥德尔函数解码,然后输出秘密信息;若不同,则提示秘密信息提取失败。

本发明与现有技术相比,其显著优点为:(1)能够在短封面消息中隐藏大量的保密消息,并且嵌入的信息是不可见的,提高了秘密信息的保密性;(2)利用对秘密信息的智能双重编码及加密,提高了文本秘密信息的传输安全性和便捷性;(3)组合了数学函数编码和对称密钥加密算法,不同时间产生的秘密信息加密后的字符串不同,可以抵御多种网络攻击。

附图说明

图1是本发明基于unicode编码的文本秘密信息隐藏和提取方法的流程示意图。

图2是本发明的文本信息隐藏应用场景图。

图3是本发明实施例中文本秘密信息隐藏的流程示意图。

具体实施方式

结合图1,本发明基于unicode编码的文本秘密信息隐藏和提取方法,步骤为:

步骤1、发送方将秘密信息的每个字符使用哥德尔函数编码替换为二进制字符串;

步骤2、获取发送方对称密钥,组合在秘密信息二进制字符串前面;

步骤3、基于发送方对称密钥对秘密信息二进制字符串进行散列加密;

步骤4、将散列加密后的秘密信息二进制字符串用设定的规则替换为unicode零宽度控制字符,形成不可见字符串,并嵌入封面文本的前面;

步骤5、接收方检测载体文本中的零宽度字符串,按照设定的规则还原二进制字符串;

步骤6、获取接收方密钥;

步骤7、基于接收方密钥对二进制字符串进行哈希解码;

步骤8、认证并进行哥德尔函数解码,输出秘密信息。

进一步地,步骤1中所述的发送方将秘密信息的每个字符使用哥德尔函数编码替换为二进制字符串,具体如下:

步骤1.1、设定η为任何给定的数,则存在唯一解<α,β>,令η为字母的ascii码,则<α,β>为sm的每个字符唯一的数字对:

<α,β>=2α(2β+1)-1(1)

且2α(2β+1)≠0

其中,是自然数,存在使得2α×k=η+1。

等式(2)中,为奇数;

嵌入算法为秘密信息的每个字符使用等式(2)和(3)来计算<α,β>对;

步骤1.2、将α、β分别转换为6位二进制字符串,并连接在一起,为每个字母生成一个12位二进制字符串;

步骤1.3、将每个字母的二进制字符串拼接到一起,形成秘密信息的二进制字符串。

进一步地,步骤2中所述的获取发送方对称密钥,组合在秘密信息二进制字符串前面,具体如下:

步骤2.1、散列函数将发送时间即生成隐藏信息的时间作为发送方密钥,并省略该时间的第4位;

步骤2.2、创建一个数字,并将该数字转换为8位二进制字符串,即发送方密钥,组合在秘密信息二进制字符串前面。

进一步地,步骤3所述的基于发送方对称密钥对秘密信息二进制字符串进行散列加密,具体如下:

步骤3.1、散列函数重复nc次复制密钥二进制字符串,形成散列位置位,nc计算公式如下:

式中,ls为秘密信息的长度,单位为字符;lsk为密钥二进制字符串的长度,单位为位;

步骤3.2、散列函数根据散列位置位或秘密信息二进制字符串,产生散列秘密信息二进制字符串。

进一步地,步骤4所述的将散列加密后的秘密信息二进制字符串用设定的规则替换为unicode零宽度控制字符,具体如下:

将二进制字符串的每连续2位分为一个小组,将每个小组中的“00”,“01”,“10”,“11”分别替换为“0x200c”,“0x202c”,“0x202d”,“0x200e”,从而形成不可见字符串。

进一步地,步骤5所述的接收方检测载体文本中的零宽度字符串,按照设定的规则还原二进制字符串,具体如下:

接收方检测载体文本中的零宽度字符串,按照“0x200c”,“0x202c”,“0x202d”,“0x200e”对应“00”,“01”,“10”,“11”的规则还原二进制字符串。

进一步地,步骤6所述的获取接收方密钥,具体如下:

步骤6.1、散列函数将接收时间作为接收方密钥,并省略该时间的第4位;

步骤6.2、创建一个数字并将其转换为8位二进制字符串,即接收方密钥。

进一步地,步骤7所述的基于接收方密钥对对二进制字符串进行哈希解码,具体如下:

根据公式(4)计算nc,并复制nc次密钥二进制字符串形成散列位置位,将散列位置位与需要解密的秘密信息二进制字符串进行异或计算。

进一步地,步骤8中所述的认证并进行哥德尔函数解码,输出秘密信息,具体如下:

比较解码后的发送方密钥与接收方密钥是否相同,若相同,则对秘密信息二进制字符串进行哥德尔函数解码,然后输出秘密信息;若不同,则提示秘密信息提取失败。

下面结合实施例对本发明作进行的详细说明。

实施例

对文本隐藏信息的嵌入以及检测提取的具体场景图如图2所示,其中,sm代表秘密信息,cm代表封面文本,key为密钥,cmhm为载有秘密信息的文本,首先发送方输入封面文本和秘密信息,对秘密信息进行处理后,在封面文本中嵌入隐藏的秘密信息,然后载有隐藏信息的载体文本通过社交媒体或短信传输给接收方;接收方输入需检测的载体文本,利用密钥进行第一层解密,然后进行对比密钥认证,若认证成功则输出秘密信息,否则提示秘密提取失败,结合图1的流程图,具体步骤如下:

步骤1、发送方将秘密信息的每个字符使用哥德尔函数编码替换为二进制字符串,具体如下:

步骤1.1、设定η为任何给定的数,则存在唯一解<α,β>,令η为字母的ascii码,则<α,β>为sm的每个字符唯一的数字对:

<α,β>=2α(2β+1)-1(1)

等式(2)中,为奇数;

嵌入算法为秘密信息的每个字符使用等式(2)和(3)来计算<α,β>对;

例如,“z”的ascii码为122,即η=122,首先,通过计算的最大数来获得α:

步骤1.2、将α、β分别转换为6位二进制字符串,并连接在一起,为每个字母生成一个12位二进制字符串;

步骤1.3、将每个字母的二进制字符串拼接到一起,形成秘密信息的二进制字符串。

步骤2、获取发送方对称密钥,组合在秘密信息二进制字符串前面,具体如下:

步骤2.1、将散列函数将发送时间,即生成隐藏信息的时间作为发送方密钥,如“10:12”,并省略该时间的第4位;

步骤2.2、创建一个数字,如“101”,并将其转换为8位二进制字符串,即发送方密钥,组合在秘密信息二进制字符串前面。

步骤3、基于发送方对称密钥对秘密信息二进制字符串进行散列加密,具体如下:

步骤3.1、散列函数重复nc次复制密钥二进制字符串,形成散列位置位,nc计算公式如下:

式中,ls为秘密信息的长度,单位为字符;lsk为密钥二进制字符串的长度,单位为位;

步骤3.2、散列函数根据散列位置位或秘密信息二进制字符串,产生散列秘密信息二进制字符串。

步骤4、将散列加密后的秘密信息二进制字符串用设定的规则替换为unicode零宽度控制字符,形成不可见字符串,并嵌入封面文本的前面,具体如下:

结合图3的文本秘密信息隐藏示例,将二进制字符串的每连续2位分为一个小组,每个小组中“00”,“01”,“10”,“11”分别替换为“0x200c”,“0x202c”,“0x202d”,“0x200e”,替换方案如表1所示:

表1unicode零宽度字符表及替换方案

步骤5、接收方检测载体文本中的零宽度字符串,按照设定的规则还原二进制字符串,具体如下:检测载体文本中的零宽度字符串,按照“0x200c”,“0x202c”,“0x202d”,“0x200e”对应“00”,“01”,“10”,“11”的规则还原二进制字符串。

步骤6、获取接收方密钥,具体如下:

步骤6.1、散列函数将接收时间作为接收方密钥,如“10:12”,并省略该时间的第4位;

步骤6.2、创建一个数字,如“101”,将其转换为8位二进制字符串,即接收方密钥。

骤7、步骤7、基于接收方密钥对二进制字符串进行哈希解码,具体如下:

根据公式(4)计算nc,并复制nc次密钥二进制字符串形成散列位置位,将其与需要解密的秘密信息二进制字符串进行异或计算。

步骤8、认证并进行哥德尔函数解码,输出秘密信息,具体如下:

比较解码后的发送方密钥与接收方密钥是否相同,若相同,则对秘密信息二进制字符串进行哥德尔函数解码,然后输出秘密信息;若不同,则提示秘密信息提取失败。

本发明能够在短封面消息中隐藏大量的保密消息,并且嵌入的信息是不可见的,提高了秘密信息的保密性;利用对秘密信息的智能双重编码及加密,提高了文本秘密信息的传输安全性和便捷性;组合了数学函数编码和对称密钥加密算法,不同时间产生的秘密信息加密后的字符串不同,可以抵御多种网络攻击。

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