一种最优隐藏的双重保护文本方法
未命名
08-14
阅读:109
评论:0

1.本发明涉及加密信息技术领域,特别是涉及一种最优隐藏的双重保护文本方法。
背景技术:
2.随着多媒体技术的迅速发展和互联网应用的广泛普及,信息的数字化、网络化趋势是不可避免的,这极大促进了社会生产生活和信息传播的变革。互联网为信息交互提供了更为便捷、迅速的传输渠道,使人们能够随时随地在网络上进行信息交流与共享。大量数字信息通过互联网络进行传输,其中不乏军事情报、电子商务信息、个人隐私等重要敏感数据。受互联网环境的开放性与数字信息的脆弱性的影响,信息安全面临的风险日益复杂,数字作品的非法复制与传播、个人隐私泄露、机要信息篡改等问题层出不穷。如何确保传输过程中的数据安全,已成为信息安全领域亟待解决的难题之一。
3.加密技术[8,15],是信息安全领域的重要支撑。括号内序号是指后面参考文献序号,下同。所谓加密技术,是指利用密钥和加密算法将待传递的明文转换为常人难以理解的密文,借此保护数据安全的方法,其实质是特定映射规则下的数据变换。加密技术主要分为三类:对称密码算法[16](symmetric-key algorithm)、非对称密码算法[5](asymmetric-key algorithm)、摘要算法[6](digest algorithm)。对称算法是指加密秘钥和解密秘钥相同的密码算法,它包括aes、sm1、sm4、des、3des、idea、rc2,非对称算法是指加密秘钥和解密秘钥是不同的密码算法,常见非对称算法包括rsa、sm2、dh、dsa、ecdsa、ecc等。摘要算法是指把任何任意长度的输入消息数据转化为固定长度的输出数据的一种密码算法,又称为哈希函数。摘要算法通常用来做数据完整性的判断,即对数据进行哈希计算然后比较摘要值是否一致。摘要算法主要分为三大类:md(message digest,消息摘要算法)系列、sha(secure hash algorithm,安全散列算法)系列、mac(message authentication code,消息认证码算法)系列。
[0004]
加密技术可以有效隐藏秘密信息的语义内容,但密文外观通常表现为一堆毫无意义的乱码,明确提示了秘密信息的存在,反而容易激发攻击者的破译热情。即便攻击者无法逆向提取明文信息,也可对其进行追踪、篡改、破坏,使接收方无法顺利提取原始明文信息,以此达成干扰隐蔽通信的目的。这容易看出,单纯依靠加密算法是无法掩盖通信行为本身的,并且难以确保开放信道条件下的数据安全。
[0005]
为降低秘密信息被人为攻击的可能,信息隐藏技术[9,11,18]将秘密信息以不可感知的方式嵌入选定载体,通过携密载体的公开传输实现隐蔽通信。信息隐藏能够有效隐藏秘密信息的存在,使其从
‘
难以理解’变为“不可感知”,以此避免引起攻击者的注意,达到免遭窃取或破坏的效果。信息隐藏利用多媒体信息普遍存在的冗余特性,将一个有意义的秘密信息如软件序列号、秘文或版权信息通过某种算法秘密地隐藏在多媒体信息中。通常,载体可以是文字、图像、音频和视频等,目前研究最多和最深入的是以图像为载体的信息隐藏,这主要是由于图像中存在较大的冗余信息,隐藏容量较大,另一方面是由于图像处理的直观性,基于图像载体的这些优势,可以在其中隐藏一些秘密信息而不引起怀疑。然而文本
文件却是最普及、最方便的大众化信息传媒工具,利用文本来进行保密通信是最为便捷的一种方式。但是文本文件是直接对文字数据进行编码而成,几乎不存在数据冗余,从而不可能通过修改原文件的有效数据来实现信息隐藏,所以以文本为载体隐藏信息难度比较大,但是隐藏有秘密信息的文本往往不容易受到怀疑,具有比较好的安全性,因此基于文本的信息隐藏具有重要的现实意义和应用前景。加密技术的目的在于对通信内容进行加密,把信息生成一堆毫无意义的乱码,而信息隐藏技术则更侧重于隐藏通信行为本身,在隐蔽通信领域,信息隐藏技术具有更为理想的安全性。
[0006]
相关技术介绍
[0007]
1.character feature methods[7],通过改变文本的某个特征,如字号,或字体的样式等,来实现文本信息隐藏。例如通过改变字体的样式来隐藏秘密信息,通过改变i和j的点,h、d、b末端的拉长或缩短来隐藏秘密信息。该方法在视觉上比较隐蔽,因为单独的字母变化读者也许并不能注意得到。但由于载体中可用于格式修改的对象较少,导入载体文本嵌入的秘密信息很少,隐藏容量低。并且文本在传递过程中遇到修改文本格式或将文本重新录入的操作,就会丢失秘密信息。而且该方法可能需要创建一种新的字体,这是比较困难的。
[0008]
2.syntactic methods句法方法[1],旨在对文本结构进行一些转换,以嵌入秘密信息,如移动副词的位置,添加形式主语,或将主动变为被动。通过改变文本结构来嵌入秘密信息,比如使用不同的语法来表示相同的意思,发送方设置规则,先将秘密信息转化为二进制流,一种语法表示嵌入数据“0”,另一种语法嵌入数据“1”,如果有多种语法,可以同时嵌入两位以上的二进制位,这样可以增加该隐藏方法的嵌入容量。虽然能够嵌入两位以上的二进制位,但是能够使用不同的语法结构表达相同的意思的地方是比较少的,也许几千字的文本字节中能够只有几个,他的使用机会是非常有限的。所以该方法的嵌入容量并不高,但是隐蔽性较好,语法结果多种多样,读者就算看出语法结构的不一样也不会察觉到里面隐藏着秘密信息。
[0009]
3.semantic methods语义方法[23],旨在改变文本内容以插入秘密信息。下文描述了通过改变文本内容来嵌入秘密信息的方法。该方法具体如下,将两个同义词指定为primary或secondary值,发送方设置规则,一个词表示嵌入数据“1“,一个数据表示嵌入数据“0”,当同义词很多时,一组同义词可以嵌入二位及以上的秘密信息。该方法的使用频率比较低,嵌入容量不大。并且使用的同义词太多有可能被读者所察觉到。但该方法鲁棒性性能好,不会被人轻易所改动。
[0010]
4.double space methods(ds96),open space method[1,23]通过对空白的处理来隐藏秘密信息,通过使用空白的位置将秘密信息隐藏在封面文本中。如图2所示,为使用句子间距隐写方法的文本内容示例。该方法是通过控制载体文本的每句间的空格进行隐藏信息,将秘密信息转换为二进制位流,在每句话的终止字符后面放置一个或者两个空格,发送方设置规则,例如一个空格隐藏二进制位“0”,两个空格隐藏二进制位“1”,当接收方收到该载体文本后,根据规则提取秘密信息。这个方法存在一个效率低的问题,能够隐藏文本的数量取决于句子的多少。尽管这样,也是需要大量的文本来隐藏少量的秘密信息的。并且很多文字处理器会自动设置句间空格,这也导致所隐藏的秘密信息被完全损坏。并且不一样的空格是可以被人类视力所观察到的,该方法的隐蔽性也是比较低。
2015),8
–
14.doi:https://doi.org/10.5769/j201501001
[0033]
[11]xiaofeng li,yanwei wang,and gang liu.2020.structured medical pathology data hiding information association mining algorithm based on optimized convolutional neural network.ieee access 8,(2020),1443
–
1452.doi:https://doi.org/10.1109/access.2019.2960456
[0034]
[12]xi lu,yiping cao,pei lu,and aiping zhai.2012.digital audio information hiding based on arnold transformation and double random-phase encoding technique.optik 123,8(april 2012),697
–
702.doi:https://doi.org/10.1016/j.ijleo.2011.06.027
[0035]
[13]zheng ma,yan ma,xiaohong huang,manjun zhang,yanxiao liu,and bo su.2020.enhancing information hiding capacity in image interpolation based steganography scheme.coas 104,sp1(october 2020),245
–
250.doi:https://doi.org/10.2112/jcr-si104-044.1
[0036]
[14]aruna malik,geeta sikka,and harsh k.verma.2017.a high capacity text steganography scheme based on huffman compression and color coding.journal of information and optimization sciences 38,5(july 2017),647
–
664.doi:https://doi.org/10.1080/02522667.2016.1197572
[0037]
[15]alfred menezes and douglas stebila.2021.the advanced encryption standard:20years later.ieee security&privacy 19,6(november 2021),98
–
102.doi:https://doi.org/10.1109/msec.2021.3107078
[0038]
[16]borislav stoyanov and gyurhan nedzhibov.2020.symmetric key encryption based on rotation-translation equation.symmetry 12,1(january 2020),73.doi:https://doi.org/10.3390/sym12010073
[0039]
[17]milad taleby ahvanooey,qianmu li,jun hou,ahmed raza rajput,and yini chen.2019.modern text hiding,text steganalysis,and applications:a comparative analysis.entropy 21,4(april 2019),355.doi:https://doi.org/10.3390/e21040355
[0040]
[18]zuwei tian and hengfu yang.2021.code fusion information-hiding algorithm based on pe file function migration.eurasip journal on image and video processing 2021,1(january 2021),2.doi:https://doi.org/10.1186/s13640-020-00541-3
[0041]
[19]susila windarta,suryadi suryadi,kalamullah ramli,bernardi pranggono,and teddy surya gunawan.2022.lightweight cryptographic hash functions:design trends,comparative study,and future directions.ieee access 10,(2022),82272
–
82294.doi:https://doi.org/10.1109/access.2022.3195572
[0042]
[20]zhang yu,zhang ju,li teng,wang sha,and pan dongbo.2022.large-capacity information hiding scheme based on minimum pixel modification.egyptian informatics journal(august 2022),s1110866522000524.doi:https://doi.org/10.1016/j.eij.2022.08.001
[0043]
[21]zhang yu,zhang ju,li teng,wang sha,and pan dongbo.2022.large-capacity information hiding scheme based on minimum pixel modification.egyptian informatics journal(august 2022).doi:https://doi.org/10.1016/j.eij.2022.08.001
[0044]
[22]high capacity information hiding for privacy protection in digital video files|springerlink.retrieved november 11,2022from https://link.springer.com/article/10.1007/s00521-016-2323-7
[0045]
[23]techniques for data hiding|ibm journals&magazine|ieee xplore.retrieved november 11,2022from https://ieeexplore.ieee.org/document/5387237。
[0046]
因此,现有技术的缺陷是,现有的加密技术虽然可以有效隐藏秘密信息的语义内容,但密文外观通常表现为一堆毫无意义的乱码,明确提示了秘密信息的存在,容易受到追踪、篡改、破坏。现有的文本隐藏技术存在秘密信息隐藏容量低;在传递过程中容易受到修改而损坏密文;隐藏性较低的缺陷。
技术实现要素:
[0047]
有鉴于现有技术的至少一个缺陷,本发明的目的是提供一种最优隐藏的双重保护文本方法,将哈希加密技术与最小化修改像素的文本信息隐藏技术相结合,从而更大程度上保证传输时文件的完整性和安全性,实现双重隐蔽通信;首次提出使用修改文本字体的rgb三通道的像素的文本信息隐藏技术,大大的增加嵌入容量以及提高文本的不可检测性,并且具有创新性。
[0048]
为了达到上述目的,本发明采用如下技术方案:一种最优隐藏的双重保护文本方法,包括如下步骤:步骤一:使用sha256哈希算法对载体文本进行加密生成哈希摘要a;步骤二:使用信息隐藏算法将秘密信息和哈希摘要a嵌入到载体文本的颜色像素值的r、g、b三个分量中,形成隐写文本;步骤三:将隐写文本发送给接收者;步骤四:接收者接收文件,该文件是隐写文本或合法修改的隐写文本,或者是经过非法篡改的隐写文本;步骤五:接收者使用sha256哈希算法从文件中提取哈希摘要b;步骤六:判断重新生成的哈希摘要b是否与提取出来的哈希摘要a相等,如果不相等;说明该秘密信息已受到攻击者的非法篡改,接收者丢弃文件;如果相等,说明该文件属于隐写文本或合法修改的隐写文本,转步骤七;步骤七:接收者提取该秘密信息。
[0049]
所述步骤二采用如下信息隐藏算法将秘密信息和哈希摘要a嵌入到载体文本的颜色像素值的r、g、b三个分量中;
[0050]
输入:载体文本字体颜色rgb三通道g1,g2,g3和3nk+3位秘密信息;
[0051]
输出:隐写文本g1′
,g2′
,g3′
;
[0052]
嵌入过程包括如下步骤:
[0053]
步骤21:处理载体文本信息;步骤21进一步包括:
[0054]
步骤211:获取载体文本的每个字母像素值,用p(i,1),p(i,2),p(i,3)来表示第i个字母的r、g、b三个分量的像素值;记作p(i,a),a=1,2,3;
[0055]
步骤212:获取载体文本每个字母的颜色r、g、b通道的像素值,分别用g1,g2,g3表
示;将g1,g2,g3合并为g;g为载体文本的像素值总数;
[0056]
步骤213:将获取得到的像素值总数分组,n个像素为一组;
[0057]
步骤22:处理秘密信息;步骤22进一步包括:
[0058]
步骤221:将3nk+3位秘密信息分为3组,每组nk+1位,分别为:
[0059]
b3=(b
3nk+3b3nk+2
…b2nk+3b2nk+2
)2;
[0060]
b2=(b
2nk+1b2nk
…bnk+2bnk+1
)2;
[0061]
b1=(b
nkbnk-1
…
b1b0)2;
[0062]
其中n表示一组像素组包含n个像素,k为嵌入程度,k越大,表示嵌入的秘密信息越多;
[0063]
步骤222:将每组的二进制机密信息b1、b2、b3分别转化为十进制数字d;
[0064]
d3=2
nkb3nk+3
+2
nk-1b3nk2
+
…
+21b
2nk+3
+20b
2nk+2
;d2=2
nkb2nk+1
+2
nk-1b2nk
+
…
+21b
nk+2
+20b
nk+1
;
[0065]
d1=2
nkbnk
+2
nk-1bnk-1
+
…
+21b1+20b0;
[0066]
步骤223:将b1分为n个组,第一组包括k+1位,(b
kbk-1
…
b1b0)2转化为十进制数d0,其余的n-1组为:(b
(y+1)k
…byk+2byk+1
)2转化为十进制数dy,y∈[1,n-1];同样将b2,b3也进行这些操作;
[0067]
步骤23:嵌入秘密信息;步骤23进一步包括:
[0068]
将b1,b2,b3每组的十进制数字嵌入到每组像素值中,b1嵌入过程如下:
[0069]
步骤231:q表示载体文本颜色像素值的索引,使用公式(6)来索引隐藏k+1位的像素值,gi表示原始载体文本字体的像素值,gh指的是一组载体文本字体像素组中第h个像素;使用gi′
表示嵌入后的隐写文本字体的像素值,g
′h指的是一组隐写文本字体像素组中第h个像素值;
[0070]gh
=q mod n
ꢀꢀ
(6);
[0071]
步骤232:在优化问题中寻找xh,xh表示第h个像素值对应的寻找到的优化值;
[0072][0073][0074]
使用g
′h=xh+gh嵌入秘密信息;
[0075]
步骤233:同时在优化问题中,寻找xi,xi表示第i个像素值对应的寻找到的优化值;
[0076][0077][0078]
使用g
′i=xi+gi嵌入秘密信息;
[0079]
步骤234:同样将b2,b3也进行步骤23的步骤231-233操作;步骤235:将g
′h和g
′i合并得到隐写文本字体r、g和b三通道像素g
′1,g
′2,g
′3。
[0080]
所述步骤七接收者提取该秘密信息包括:获取输入g
′1,g
′2,g
′3,输出3nk+3位秘密信息;步骤七包括如下步骤:步骤71:使用索引g
′i=q mod n,找到隐藏k+1位二进制秘密信息的像素值;步骤72:恢复d0=g
′hmod 2
k+1
;
[0081]
步骤73:恢复di=g
′imod2k;步骤74:将d0,di组合,得到秘密信息d,将其转化为二进制位。
[0082]
显著效果:本发明提供了最优隐藏的双重保护文本方法,将哈希加密技术与最小化修改像素的文本信息隐藏技术相结合,从而更大程度上保证传输时文件的完整性和安全性,实现双重隐蔽通信;首次提出使用修改文本字体的rgb三通道的像素的文本信息隐藏技术,大大的增加嵌入容量以及提高文本的不可检测性,并且具有创新性。
附图说明
[0083]
图1为本发明的总体流程图;
[0084]
图2为使用句子间距隐写方法的文本内容的示意图;
[0085]
图3为采用sha256算法对数据进行加密生成摘要的过程图;
[0086]
图4为sha256算法中的8个哈希初值;
[0087]
图5为sha256算法中的64位哈希常量;
[0088]
图6为sha256算法中生成哈希摘要的示意图;
[0089]
图7为sha256算法使用的文本例子。
[0090]
图8为使用sha256算法得到的秘密摘要;
[0091]
图9为256位秘密摘要转化成的二进制流;
[0092]
图10为原封面文本文件以及生成的摘要值;其中(a)为原封面文本文件的内容;(b)为封面文本文件生成的摘要值;
[0093]
图11为合法修改文本文件以及生成的摘要值;其中(a)为合法修改文本文件内容;(b)为合法修改文本文件生成的摘要值;
[0094]
图12为非法篡改文本文件以及生成的摘要值;其中(a)为非法篡改文本文件内容;(b)为非法篡改文本文件生成的摘要值;
[0095]
图13为本发明与其它算法的安全级别比较分析图;
[0096]
图14为原封面文本与隐写文本比较示意图;其中(a)为原封面文本文件的内容;(b)为包含隐写文本的封面文本文件的内容;
[0097]
图15为原封面文本字母与隐写文本字母的rgb比较图;其中(a)为原封面文本字母的rgb图;(b)为包含隐写文本的封面文本字母的rgb图;
[0098]
图16为本发明与其它算法的数据隐藏能力对比图;
[0099]
图17为本发明与其它算法隐藏相同数据所需字符个数比较图。
具体实施方式
[0100]
下面结合附图和具体实施例对本发明作进一步详细说明。
[0101]
如图2所示,open space method通过对空白的处理来隐藏秘密信息,通过使用空白的位置将秘密信息隐藏在封面文本中。为使用句子间距隐写方法的文本内容示例。该方法是通过控制载体文本的每句间的空格进行隐藏信息,将秘密信息转换为二进制位流,在
每句话的终止字符后面放置一个或者两个空格,发送方设置规则,例如一个空格隐藏二进制位“0”,两个空格隐藏二进制位“1”,当接收方收到该载体文本后,根据规则提取秘密信息。这个方法存在一个效率低的问题,能够隐藏文本的数量取决于句子的多少。
[0102]
信息隐藏技术是将秘密信息嵌入到文字、图像、音频、视频等多媒体载波上的一门技术。近年来,研究者提出了许多关于图像的隐藏方案,但是对文本信息隐藏技术的研究还不足。本发明基于加密算法与文本信息隐藏算法相结合的思想,提出了最优隐藏的双重保护文本方法(tpm),从而提高文本的隐藏能力和防篡改能力。tpm的主要思想是将文本文件通过sha256哈希算法生成256位二进制,将n+1个文本字体r、g、b三通道的像素值分为一组,对每组进行特定的模运算,将256位二进制位及秘密信息嵌入其中。本实施例通过将tpm与近年来提出的文本信息隐藏算法在性能上进行对比,tpm的嵌入能力(bits per pixel(bpp))、安全性、不可感知性以及视觉攻击等性能都是很好的,总体性能是最高的。为了实现更加安全的信息通信,本发明提出将加密技术与文本信息隐藏相结合,从而实现双重隐蔽通信。本发明是针对有格式的文本文件(如写字板或word生成的doc文件等),提出了一种安全的合同保护方案,该方案将加密技术与信息隐藏技术有机结合。首先对合同文件使用hash函数进行加密处理,得到固定的摘要值,再通过文本信息隐藏技术将摘要值隐藏在合同文件后,发送到目的接收人,由此实现双重隐蔽通信。在本实施例中,证实了让文本颜色的像素值携带秘密信息是一种可行的方案,所以提出了通过修改文本字体的像素的文本信息隐藏方法进行文件保护,当目的接收人接收到文件,只需用相同的hash函数生成摘要,若摘要与提取出来的秘密信息是一致的,说明文件未被人篡改和破坏,同时,也可以将一些更加机密的信息隐藏在文本文件中,防止泄露秘密数据。本发明的创新和贡献如下:
[0103]
1.将哈希加密技术与最小化修改像素的文本信息隐藏技术相结合,从而更大程度上保证传输时文件的完整性和安全性,实现双重隐蔽通信。
[0104]
2.首次提出使用修改文本字体的rgb三通道的像素的文本信息隐藏技术,大大的增加嵌入容量以及提高文本的不可检测性,并且具有创新性。
[0105]
3.使用文本隐藏技术隐藏机密的秘密数据,保护文件的隐私性。
[0106]
如图1-图17所示,一种最优隐藏的双重保护文本方法,即tpm(text pixels modification);本发明提出了一种结合密码学和隐写术的文本信息隐藏方法,该方法是分成两个阶段进行的。第一个阶段使用哈希函数对载体文本进行加密生成摘要,当传递给接收者时,接收者使用哈希生成摘要,从而验证传输过程中的完整性,第二阶段是将加密后的信息以及需要隐藏的信息嵌入到载体文本的颜色像素值的r、g、b三个分量中。图1展示了所提算法的总体流程图。
[0107]
加密过程:数据加密的基本过程就是对原来为明文的文件或数据按算法进行处理,使其成为不可读的一段密文。通过该方法达到保护数据,不被非法人窃取、阅读的目的。本文采用的加密技术是sha256(secure hash algorithm 256)算法,是一种密码散列函数算法。该算法包括三个阶段,分别是常量初始化、信息预处理和计算摘要值。生成摘要的过程如图3所示。
[0108]
1.常量初始化,取自然数中的前8个质数,对它们计算平方根,取出该结果的小数部分的32bits转化为16进制的数字,生成哈希初始值。例如,结果的小数部分的32bits转化为16进制的数字,生成哈希初始值。例如,取小数部分的32bits通过公式(71)转
化为16进制数字。质数2对应的初始值为6a09e667。
[0109]
0.41421356237309504880168872420970≈6*16-1
+a*16-2
+0*16-3
+
…
(1);
[0110]
所以8个哈希初值如图4所示。再取自然数的前64个质数,计算它们的立方根,取小数部分的32bits转化为16进制的数字,生成哈希常量k。与上面哈希初始值类似,所以64位哈希常量如图5所示。
[0111]
2.信息预处理,预处理指的是对计算哈希的消息后面补充所需要的消息,从而使消息满足所需要的结构。信息的预处理分为两个步骤。
[0112]
步骤1:附加填充比特。
[0113]
设消息的二进制编码位数为l,在编码位后面补一位”1”,再补上k位”0”,k为满足下列等式的最小非负整数。
[0114]
l+1+k≡448mod512
ꢀꢀ
(2);
[0115]
步骤2:附加长度值。将原始信息的长度l编码为64位二进制形式,附加在已填充的消息后面,使得整个消息的长度变512bits或者512bits的倍数。
[0116]
3.计算摘要值。
[0117]
步骤1:将经过预处理的消息分成512bits的块,假设消息m可以分解为n个块,即m1~mn。
[0118]
步骤2:将m1块构造为64个字,前16个字是直接将块分解为16个32bits的字,记作w[0],w[1],
…
,w[15],后面48个字w
t
通过等式(3)迭代计算生成。
[0119]wt
=σ1(w
t-2
)+w
t-7
+σ0(w
t-15
)+w
t-16
ꢀꢀꢀ
(3);
[0120]
其中σ0和σ1是关于逻辑的位运算:
[0121][0122][0123]
步骤3:对m1块进行计算,对m1块的每个字进行加密循环。h0~h7加密过程如图6所示:ch、∑1、ma、∑0是非线性逻辑函数,它们的表示如公式(61)~(64)所示,“+“方块表示将数字加在一起,然后mod2
32
,对2
32
取余操作。h0~h7一开始的初值为前面所计算的哈希初值,k0表示的是第一个哈希常量,也称之为哈希秘钥。从图6中可见,将m1的第一个块w[0]与k0做相加mod2
32
运算,得到的值与h7再次进行相加mod2
32
运算,得到的值与h4~h6经过ch非线性逻辑函数计算出的值进行相加mod2
32
运算,得到的值再与h4经过∑1非线性逻辑函数得到的值进行相加mod2
32
运算,得到的值与h3进行相加mod2
32
运算,将得到的值赋值给h4,根据图6依次得到新的h0~h7。
[0124][0125][0126][0127][0128]
步骤4:循环计算每一个块,直到计算完mn。最后得到256bits哈希摘要。
[0129]
4.加密例子,该sha256算法使用的文本例子如图7所示。
[0130]
使用sha256加密算法得到的秘密摘要如图8所示。将文本转化为256位摘要,然后
将摘要转化为二进制位,图9为256位摘要转化成的二进制流。
[0131]
5、嵌入过程,输入:载体文本字体颜色rgb三通道g1,g2,g3和3nk+3位秘密信息;输出:隐写文本g
′1,g
′2,g
′3;
[0132]
步骤1:处理载体信息。
[0133]
1.获取载体文本的每个字母像素值,用p(i,1),p(i,2),p(i,3)来表示第i个字母的r、g、b三个分量的像素值。记作p(i,a),a=1,2,3。
[0134]
2.获取载体文本每个字母的颜色r、g、b通道的像素值,分别用g1,g2,g3表示.将g1,g2,g3合并为g。g为封面文本的像素值总数。
[0135]
2.将获取得到的像素值分组,n个像素为一组。
[0136]
步骤2:处理秘密信息。
[0137]
1.将3nk+3位秘密信息分为3组,每组nk+1位,分别为:
[0138]
b3=(b
3nk+3b3nk+2
…b2nk+3b2nk+2
)2;
[0139]
b2=(b
2nk+1b2nk
…bnk+2bnk+1
)2;
[0140]
b1=(b
nkbnk-1
…
b1b0)2;
[0141]
其中n表示一组像素组包含n个像素,k为嵌入程度,k越大,表示嵌入的秘密信息越多。
[0142]
2.将每组的二进制机密信息b1、b2、b3转化为十进制数字d,d3=2
nkb3nk+3
+2
nk-1b3nk+2
+
…
+21b
2nk+3
+20b
2nk+2
,d2=2
nkb2nk+1
+2
nk-1b2nk
+
…
+21b
nk+2
+20b
nk+1
,d1=2
nkbnk
+2
nk-1bnk-1
+
…
+21b1+20b0。
[0143]
3.将b1分为n个组,第一组包括k+1位,(b
kbk-1
…
b1b0)2转化为十进制数d0,其余的n-1组为:(b
(y+1)k
…byk+2byk+1
)2转化为十进制数dy,y∈[1,n-1]。同样将b2,b3也进行这些操作。
[0144]
步骤3:嵌入秘密信息,将b1中每组的十进制数字嵌入到每组像素值中,嵌入过程如下:
[0145]
1.q表示载体文本颜色像素值的索引,使用等式6来索引隐藏k+1位的像素值,其中使用gi来表示原始载体文本字体的像素值,gh指的是一组原始载体文本字体像素组中第h个像素值。使用gi′
来表示嵌入后的隐写文本字体的像素值,g
′h指的是一组隐写文本字体像素组中第h个像素值。
[0146]gh
=q mod n
ꢀꢀ
(6);
[0147]
2.在优化问题中寻找xh:
[0148][0149][0150]
使用g
′h=xh+gh嵌入秘密信息。
[0151]
3.同时在优化问题中,寻找xi:
[0152]
[0153][0154]
使用g
′i=xi+gi嵌入秘密信息。
[0155]
4.同样将b2,b3也进行以上1-3操作。
[0156]
5.将g
′h和gi′
合并得到隐写文本字体r、g和b三通道像素g1′
,g2′
,g3′
。
[0157]
提取过程,输入:g1′
,g2′
,g3′
;输出:3nk+3位秘密信息。
[0158]
1.使用索引g
′h=q mod n,找到隐藏k+1位二进制秘密信息的像素值。
[0159]
2.恢复d0=g
′hmod 2
k+1
;3.恢复di=gi′
mod2k;
[0160]
4.将d0,di组合,得到秘密信息d,将其转化为二进制位。
[0161]
实验分析,在本实施例中使用实验来评估所提出的方法的性能,我们提出的方法的实验是由python实现的,并在一台装有intel(r)core(tm)i7-10700 cpu@2.90ghz和16gb内存的电脑上运行。操作系统是windows 10professional 64位。该方案的性能评估指标包括嵌入能力、保护指数和文本质量。
[0162]
1.安全性分析,信息隐藏的安全性指的是信息在传输、交换、存储和处理过程保证非修改、非破坏和非丢失的特性。在本发明中,秘密信息被隐藏在传输的封面文本的字母颜色像素中,只有指定的接收者能通过特定的提取方法提取出秘密信息。嵌入秘密信息之后的文本与原始封面文本差别不大,以致于人的肉眼观察不出来。并且该方法使用sha256函数对整体的文本文件编码,生成256位摘要,该摘要与秘密信息一起嵌入到封面文本中。接收者只需对接收到的文本做一次sha256运算,然后与提取出来的原始摘要进行对比。如果两个摘要值不是完全相同,说明该信息已受到攻击者的非法篡改,接收者应该及时丢弃文件,并反馈给发送者。这个过程保证文本传输的完整性和安全性。
[0163]
图10为原封面文本文件以及生成的摘要值;其中(a)为原封面文本文件的内容;(b)为封面文本文件生成的摘要值。
[0164]
本实施例考虑两种篡改:合法修改和非法篡改。其中合法修改包括字体格式改变,字体大小、颜色改变,这类修改是不会影响文件内容的理解与传输的,所以这类修改是不用被检测出来的,因此生成的摘要值不变。非法篡改包括对文本添加一个字符、删减一个字符、视觉上不同的字符替换一个字符、视觉上相似的字符替换一个字符来篡改文本,这类篡改是会影响文本内容的解读的,因此这类篡改是需要被检测出来的,故生成的文本摘要值与之前原始文本摘要值是不一样的。图11为合法修改文本文件以及生成的摘要值;其中(a)为合法修改文本文件内容;(b)为合法修改文本文件生成的摘要值;
[0165]
在图11的(a)中对原始的封面文本修改了一个字母“a”的颜色,这属于合法修改,该修改后生成的摘要为:
[0166]
bacdbd027c5660eb068790920aef11de6d127bf9888264fc71c6ce077801dbdc,与原始文本生成的摘要一致,如图11中的(b)所示。图12为非法篡改文本文件以及生成的摘要值;其中(a)为非法篡改文本文件内容;(b)为非法篡改文本文件生成的摘要值;在图12的(a)中将原始的封面文本的一个字符“a”修改为“e”,然后在图12的(b)中得到非法篡改后的摘要值为:
[0167]
6fa5a61685228a82cc19222733ffe774a8b578f75f901967b9208ab9354b5302,这与
and eighty nine crows,my lord"."how can you be so sure?"asked akbar.birbal said,"make your men count,my lord.if you find more crows it means some have come to visit their relatives here.if you find less number of crows it means some have gone to visit their relatives elsewhere".akbar was pleased very much by birbal's wit.”将实验结果呈现在图17中,当需要隐藏16位秘密信息时,ds96方法需要77个封面文本字符,rsus15方法需要18个封面文本字符,cc17方法需要16个封面文本字符,ht17方法需要18个封面文本字符,uc19需要8个文本字符,而我们所提出的方法只需要2个封面文本字符。图17为本发明与其它算法隐藏相同数据所需字符个数比较图,本发明隐藏相同数据所需字符个数最少。
[0175]
4.视觉相似性和抵御视觉攻击。本发明提出的方法是对文本字体rgb的r、g和b三通道进行改变,对每一通道的变化是非常小的,所以人的肉眼看不出来不同。图14是封面文本和隐写文本,几乎没有任何区别的。open space method通过使用空白的大小来隐藏秘密信息,所以会出现字间或句间空格大小不一致的情况,阅读很细心的读者会发现其中的差别,所以该方法是无法抵御视觉攻击的。usc15文本隐写方法使用unicode空间字符规范unicode字符的宽度,肉眼也是可以观察的,因此该方法也无法抵御视觉攻击。cc17方法在隐写文本中使用了丰富的颜色变化,它的封面文本与隐写文本截然不同,故无法抵御视觉攻击。ht17方法,对秘密信息进行随机排列(permutation)、补位、压缩等一系列操作,然后使用最小宽度unicode对封面文本的空格进行编码达到信息隐藏的目的。肉眼情况下,该隐藏也是很难以发现的,因此是能够抵御视觉攻击的。uc19方法,对机密数据进行三级加密,然后使用unicode字符将生成的二进制数据嵌入到封面文本中,同样肉眼也是很难观察出来的,所以能够抵御视觉攻击。如表2,我们对能否抵御视觉攻击作出了比较。
[0176]
表2抵御视觉攻击比较
[0177][0178]
结论:本发明使用了加密技术与信息隐藏技术相结合保护文本文件和秘密数据,其中信息隐藏方法又使用了最优化函数,达到修改最少的封面文本但是却隐藏最多的秘密信息。该方法不仅增加了传输文件的安全性,还提高了秘密信息嵌入能力。从实验结果可以看出,由于每个字的像素可以分为r、g、b三个通道,且一个字的每个通道可以隐藏3位秘密信息,并且对字采取最优化算法,使最小修改字的像素,故有效载荷和视觉攻击的表现优于其他技术。最重要的是,本文所提出的方法能够保证传输文件的完整性,一旦不法分子非法篡改该文件,接受者能够非常警觉的观察到并丢弃该文件。
[0179]
最后,需要注意的是:以上列举的仅是本发明的具体实施例子,当然本领域的技术人员可以对本发明进行改动和变型,倘若这些修改和变型属于本发明权利要求及其等同技
术的范围之内,均应认为是本发明的保护范围。
技术特征:
1.一种最优隐藏的双重保护文本方法,其特征在于,包括如下步骤:步骤一:使用sha256哈希算法对载体文本进行加密生成哈希摘要a;步骤二:使用信息隐藏算法将秘密信息和哈希摘要a嵌入到载体文本的颜色像素值的r、g、b三个分量中,形成隐写文本;步骤三:将隐写文本发送给接收者;步骤四:接收者接收文件,该文件是隐写文本或合法修改的隐写文本,或者是经过非法篡改的隐写文本;步骤五:接收者使用sha256哈希算法从文件中提取哈希摘要b;步骤六:判断重新生成的哈希摘要b是否与提取出来的哈希摘要a相等,如果不相等;说明该秘密信息已受到攻击者的非法篡改,接收者丢弃文件;如果相等,说明该文件属于隐写文本或合法修改的隐写文本,转步骤七;步骤七:接收者提取该秘密信息。2.根据权利要求1所述的最优隐藏的双重保护文本方法,其特征在于:所述步骤二采用如下信息隐藏算法将秘密信息和哈希摘要a嵌入到载体文本的颜色像素值的r、g、b三个分量中;输入:载体文本字体颜色rgb三通道g1,g2,g3和3nk+3位秘密信息;输出:隐写文本g
′1,g
′2,g
′3;嵌入过程包括如下步骤:步骤21:处理载体文本信息;步骤21进一步包括:步骤211:获取载体文本的每个字母像素值,用p(i,1),p(i,2),p(i,3)来表示第i个字母的r、g、b三个分量的像素值;记作p(i,a),a=1,2,3;步骤212:获取载体文本每个字母的颜色r、g、b通道的像素值,分别用g1,g2,g3表示;将g1,g2,g3合并为g;g为载体文本的像素值总数;步骤213:将获取得到的像素值总数分组,n个像素为一组;步骤22:处理秘密信息;步骤22进一步包括:步骤221:将3nk+3位秘密信息分为3组,每组nk+1位,分别为:b3=(b
3nk+3
b
3nk+2
…
b
2nk+3
b
2nk+2
)2;b2=(b
2nk+1
b
2nk
…
b
nk+2
b
nk+1
)2;b1=(b
nk
b
nk-1
…
b1b0)2;其中n表示一组像素组包含n个像素,k为嵌入程度,k越大,表示嵌入的秘密信息越多;步骤222:将每组的二进制机密信息b1、b2、b3转化为十进制数字;d3=2
nk
b
3nk+3
+2
nk-1
b
3nk+2
+
…
+21b
2nk+3
+20b
2nk+2
;d2=2
nk
b
2nk+1
+2
nk-1
b
2nk
+
…
+21b
nk+2
+20b
nk+1
;d1=2
nk
b
nk
+2
nk-1
b
nk-1
+
…
+21b1+20b0;步骤223:将b1分为n个组,第一组包括k+1位,(b
k
b
k-1
…
b1b0)2转化为十进制数d0,其余的n-1组为:(b
(y+1)k
…
b
yk+2
b
yk+1
)2转化为十进制数d
y
,y∈[1,n-1];同样将b2,b3也进行这些操作;步骤23:嵌入秘密信息;步骤23进一步包括:将b1,b2,b3每组的十进制数字嵌入到每组像素值中,嵌入过程如下:
步骤231:q表示载体文本颜色像素值的索引,使用公式(6)来索引隐藏k+1位的像素值,g
i
表示原始载体图像的像素值,g
h
指的是一组像素组中第h个像素;使用g
′
i
表示嵌入后的隐写图片的像素值,g
′
h
指的是一组像素组中第h个隐写图片的像素值;g
h
=q mod n
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6);步骤232:在优化问题中寻找x
h
,x
h
表示第h个像素值对应的寻找到的优化值;表示第h个像素值对应的寻找到的优化值;使用g
′
h
=x
h
+g
h
嵌入秘密信息;步骤233:同时在优化问题中,寻找x
i
,x
i
表示第i个像素值对应的寻找到的优化值;表示第i个像素值对应的寻找到的优化值;使用g
′
i
=x
i
+g
i
嵌入秘密信息;步骤234:同样将b2,b3也进行步骤23的步骤231-233操作;步骤235:将g
′
h
和g
′
i
合并得到隐写文本字体r、g和b三通道像素g
′1,g
′2,g
′3。3.根据权利要求2所述的最优隐藏的双重保护文本方法,其特征在于,所述步骤七接收者提取该秘密信息包括:获取输入g
′1,g
′2,g
′3,输出3nk+3位秘密信息;步骤七包括如下步骤:步骤71:使用索引g
′
i
=q mod n,找到隐藏k+1位二进制秘密信息的像素值;步骤72:恢复d0=g
′
h
mod 2
k+1
;步骤73:恢复d
i
=g
′
i
mod2
k
;步骤74:将d0,d
i
组合,得到秘密信息d,将其转化为二进制位。4.根据权利要求1所述的最优隐藏的双重保护文本方法,其特征在于,合法修改包括隐写文本字体格式改变,字体大小、颜色改变;非法篡改包括对隐写文本添加一个字符、删减一个字符、视觉上不同的字符替换一个字符、视觉上相似的字符替换一个字符来篡改隐写文本。5.根据权利要求1所述的最优隐藏的双重保护文本方法,其特征在于,所述sha256哈希算法包括三个阶段,分别是常量初始化、信息预处理和计算摘要值。6.根据权利要求5所述的最优隐藏的双重保护文本方法,其特征在于,所述常量初始化包括:取自然数中的前8个质数,对它们计算平方根,取出该结果的小数部分的32bits转化为16进制的数字,生成哈希初始值;再取自然数的前64个质数,计算它们的立方根,取小数部分的32bits转化为16进制的数字,生成哈希常量k;信息预处理是指对计算哈希的消息后面补充所需要的消息,从而使消息满足所需要的
结构;信息的预处理分为两个步骤:步骤11:附加填充比特;设信息的二进制编码位数为l,在编码位后面补一位”1”,再补上k位”0”,k为满足下列等式的最小非负整数;l+1+k≡448mod512(2);步骤12:附加长度值;将原始信息的长度l编码为64位二进制形式,附加在已填充的消息后面,使得整个消息的长度变512bits或者512bits的倍数;步骤13:计算摘要值,得到256bits哈希摘要。
技术总结
本发明公开了一种最优隐藏的双重保护文本方法,包括步骤一:使用SHA256算法对载体文本加密生成哈希摘要a;步骤二:使用信息隐藏算法将秘密信息和哈希摘要a嵌入到载体文本的颜色像素值R、G、B三个分量中,形成隐写文本;步骤三:将隐写文本发送给接收者;步骤四:接收者接收文件,该文件是隐写文本或合法修改隐写文本,或是非法篡改隐写文本;步骤五:接收者使用SHA256哈希算法从文件中提取哈希摘要b;步骤六:哈希摘要b是否与哈希摘要a相等,如果不等说明秘密信息已受非法篡改;如果相等,接收者提取秘密信息。本发明将哈希加密技术与最小化修改像素的文本信息隐藏技术相结合,从而更大程度上保证传输时文件的完整性和安全性。程度上保证传输时文件的完整性和安全性。程度上保证传输时文件的完整性和安全性。
技术研发人员:张菊 张涛 张渝
受保护的技术使用者:西南大学
技术研发日:2023.05.06
技术公布日:2023/8/13
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/