一种具有防篡改的加密-压缩文档图像生成方法与流程

文档序号:27009059发布日期:2021-10-19 23:17阅读:117来源:国知局
一种具有防篡改的加密-压缩文档图像生成方法与流程
一种具有防篡改的加密

压缩文档图像生成方法
技术领域
1.本发明涉及数据加密领域,具体涉及一种具有防篡改的加密

压缩文档图像 生成方法。


背景技术:

2.随着信息技术的飞速发展,文档的存储方式已经不再是单一的以纸质文档 的形式存储,因纸质占用空间大、不易保存、容易损坏、管理困难、查找不方 便,且耗费人力资源等缺点,以电子的形式存储文件已经成为人们存储重要文 档的主要方式。但是,电子文档的新兴存储方式随之带来的是对文档真实性、 完整性、隐私性等问题的考虑。
3.首先如果是以word形式存储的文件,这种方式虽然利于存储和管理,但是 其内容很容易被不法分子不留痕迹地修改,这就很难保证文档的真实性。比如 高校学生在线上进行答辩,此时线上答辩所产生的一些文件,例如学生的答辩 分数表,评委老师们需要在word形式的文档中填上答辩分数以及通过情况,但 如果最后存储文档的方式也是word的形式,那么学生或者其他人也可以修改文 件中的分数,破坏了文档的真实性,这就会造成很严重的后果。
4.而另外目前主流的文件存储方式是采用pdf的形式,通过pdf数字签名来 保证文件的真实性、完整性和隐私性。包括亚马逊等电商企业,实际上也是使 用的pdf电子发票。而这些发票的背后,都是有着数字签名的保护。很显然, 带有数字签名的pdf文件在许多国家和地区都是具有法律效力的。而另一方面, 一些银行等企业,慢慢开始使用加密pdf来作为加密电子邮件的替代品。一些 政府机构同样允许使用加密、带签名的pdf来进行身份认证。可见,签名、加 密pdf在我们身边具有广泛的应用。从技术与形式上看,似乎以带有数字签名 的pdf形式存储文件已经能保证文件内容的安全性而不被他人篡改。
5.然而,在2019年3月初,来自明斯特大学及波鸿鲁尔大学的德国研究人员 称,他们已经设法利用新发现的漏洞,成功地攻破了pdf文件中的数字签名。
6.随后,2019年10月再次披露,加密pdf存在pdfex漏洞。
7.最后,于2019年12月27号,在36届c3混沌黑客大会上进行了攻破pdf 签名和攻破pdf加密两个议题的分享。
8.以上情况证明即便是利用加密pdf来保存文件依然不能保证其文档内容的 安全性。


技术实现要素:

9.针对现有技术中的上述不足,本发明提供的一种具有防篡改的加密

压缩文 档图像生成方法解决了加密pdf也不能保证文档安全性的问题。
10.为了达到上述发明目的,本发明采用的技术方案为:
11.提供一种具有防篡改的加密

压缩文档图像生成方法,其包括以下步骤:
12.s1、将目标文档转换成png图像,并获取与png图像对应的密钥key;
13.s2、对png图像进行空白行和空白列进行移除,得到预处理后的图像;
14.s3、基于预处理后的图像生成索引图像,获取与索引图像对应的hash值, 基于密钥key将hash值嵌入与其对应的索引图像中,得到嵌入图像;
15.s4、对嵌入图像进行边界补0操作后进行非负预测编码,得到预测误差像 素矩阵,进而得到预测误差像素图像;
16.s5、对预测误差像素图像进行压缩编码,得到压缩编码流;
17.s6、将恢复png图像所必须的信息转化成二进制流连接在编码流上,并进 行加密,将加密得到的二进制流与图像的参数一起保存为图像,得到压缩加密 图像。
18.进一步地,步骤s1中获取与png图像对应的密钥key的具体方法为:
19.获取当前操作设备的序列号与png图像的生成时间,与用户的自定义密钥 ukey一起,采用数字签名方法生成密钥key。
20.进一步地,步骤s2的具体方法为:
21.将png图像x的第一通道作为判断依据,遍历该通道的每一行和每一列的 像素值,若当前行或列的每个像素点的值都小于200,就视作该行或列像素点含 有非白色像素点,则保留png图像x每个通道的该行或列,否则就移除掉png 图像x每个通道的该行或列的所有像素点,得到预处理后的图像x'。
22.进一步地,步骤s3的具体方法包括以下子步骤:
23.s3

1、采用rgb2ind函数获取预处理后的图像x'的索引图像xi和调色板 map;
24.s3

2、根据调色板map的三个通道值,通过设置临界值将白、黑、红、橙、 蓝、紫、青、黄八种颜色进行区分;
25.s3

3、对图像x'的调色板map中属于八种颜色中的任意色系,标记并统计 其峰值,将其峰值作为该调色板map中该色系的颜色值,得到新调色板nmap 并对应修改索引图像xi得到索引图像y;
26.s3

4、将索引图像y进行分块后作为hash函数的输入值,采用md5信息 摘要算法生成128位散列值,得到与索引图像y对应的hash矩阵;
27.s3

5、将索引图像y转换成二值图像,根据密钥key置乱二值图像块并统 计可嵌入像素点,得到hash矩阵的嵌入位置;
28.s3

6、基于hash矩阵的嵌入位置,根据公式:
[0029][0030]
获取嵌入图像第i行第j列的索引值ny
i,j
,进而得到嵌入图像;其中y
i,j
为索 引图像y中第i行第j列的索引值;hash
k
为hash矩阵,k的值等于分块个数乘 以128;num为新调色板nmap的行数;p
i,j
=1表示当前像素点可翻转,即可嵌入 hash值。
[0031]
进一步地,步骤s3

2中临界值的取值为0.7843。
[0032]
进一步地,步骤s3

5中将索引图像y转换成二值图像的具体方法为:
[0033]
通过二值图像水印嵌入方法将索引图像y转换成二值图像。
[0034]
进一步地,步骤s4的具体方法包括以下子步骤:
[0035]
s4

1、对嵌入图像进行边界补0操作至嵌入图像被4整除,得到图像i;
[0036]
s4

2、根据公式:
[0037][0038]
将图像i中第i行第j列的索引值i
i,j
变换为预测误差值prei
i,j
;其中m表示 总行数,n表示总列数;||
·
||表示四舍五入运算;
[0039]
s4

3、根据公式:
[0040][0041][0042]
得到预测误差像素图像p;其中表示预测误差像素图像p的第i行第j 列的索引值。
[0043]
进一步地,步骤s5的具体方法包括以下子步骤:
[0044]
s5

1、获取预测误差像素图像p每个位平面平滑块和复杂块的个数;
[0045]
s5

2、根据公式:
[0046]
t1=floor((m
p
×
n
p
/16)/(ceil(log2(m
p
×
n
p
))

5))
[0047]
获取阈值t1;其中m
p
和n
p
分别表示预测误差像素图像p的行数和列数;ceil(
·
) 表示ceil函数;floor(
·
)表示floor函数;
[0048]
s5

3、判断每个位平面为1的个数c是否等于0,若是则采用全0块编码, 得到压缩编码流;否则进入步骤s5

4;
[0049]
s5

4、判断每个位平面为1的个数c是否小于阈值t1,若是则采用结构编码, 得到压缩编码流;否则进入步骤s5

5;
[0050]
s5

5、将位平面分成不重叠的4
×
4的块,根据公式:
[0051]
t=15
×
a
‑2×
b
[0052]
获取参数t的值;其中a表示位平面中平滑块的个数,b表示位平面中复杂 块的个数;
[0053]
s5

6、判断参数t是否小于等于0,若是则不压缩编码,得到压缩编码流; 否则获取位平面每个4
×
4的块为1的个数;
[0054]
若位平面每个4
×
4的块为1的个数大于0且小于4,则采用结构编码,得到 压缩编码流;
[0055]
若位平面每个4
×
4的块为1的个数等于0,则采用全0块编码,得到压缩编 码流;
[0056]
若位平面每个4
×
4的块为1的个数大于等于4,则采用不压缩编码,得到压 缩编码流。
[0057]
进一步地,步骤s6的具体方法为:
[0058]
将移除png图像空白行和空白列时的信息转化成二进制流连接在编码流 上,采用一维置乱加密算法将连接了二进制流后的编码流作为异或置乱加密函 数的输入,采用密钥key进行异或置乱加密,将加密得到的二进制流与图像的 参数一起保存为图像,得到压缩加密图像。
[0059]
进一步地,步骤s6中图像的参数包括图像大小、设备信息和原始图像生成 时间。
[0060]
本发明的有益效果为:本方法将图像分块生成的hash矩阵嵌入到图像中的 方式保证了文件完整性,即便在被篡改了之后也能被检测出来并定位,压缩编 码保证了文件以尽可能小的方式存储,加密保证了文件的隐私性。
附图说明
[0061]
图1为本发明的流程示意图;
[0062]
图2为实施例中原始文档图像;
[0063]
图3为实施例中原始文档图像预处理后的图像;
[0064]
图4为嵌入hash值后的图像;
[0065]
图5为压缩

加密后的图像;
[0066]
图6为恢复后的图像;
[0067]
图7为篡改图像;
[0068]
图8为篡改定位图像;
[0069]
图9为文件大小比较示意图。
具体实施方式
[0070]
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理 解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的 普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精 神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保 护之列。
[0071]
如图1所示,该具有防篡改的加密

压缩文档图像生成方法包括以下步骤:
[0072]
s1、将目标文档转换成png图像,并获取与png图像对应的密钥key;
[0073]
s2、对png图像进行空白行和空白列进行移除,得到预处理后的图像;
[0074]
s3、基于预处理后的图像生成索引图像,获取与索引图像对应的hash值, 基于密钥key将hash值嵌入与其对应的索引图像中,得到嵌入图像;
[0075]
s4、对嵌入图像进行边界补0操作后进行非负预测编码,得到预测误差像 素矩阵,进而得到预测误差像素图像;
[0076]
s5、对预测误差像素图像进行压缩编码,得到压缩编码流;
[0077]
s6、将恢复png图像所必须的信息转化成二进制流连接在编码流上,并进 行加密,将加密得到的二进制流与图像的参数一起保存为图像,得到压缩加密 图像。
[0078]
步骤s1中获取与png图像对应的密钥key的具体方法为:获取当前操作 设备的序列号与png图像的生成时间,与用户的自定义密钥ukey一起,采用 数字签名方法生成密钥key。
[0079]
步骤s2的具体方法为:将png图像x的第一通道作为判断依据,遍历该 通道的每一
行和每一列的像素值,若当前行或列的每个像素点的值都小于200, 就视作该行或列像素点含有非白色像素点,则保留png图像x每个通道的该行 或列,否则就移除掉png图像x每个通道的该行或列的所有像素点,得到预处 理后的图像x'。
[0080]
步骤s3的具体方法包括以下子步骤:
[0081]
s3

1、采用rgb2ind函数获取预处理后的图像x'的索引图像xi和调色板 map;
[0082]
s3

2、根据调色板map的三个通道值,通过设置临界值将白、黑、红、橙、 蓝、紫、青、黄八种颜色进行区分;
[0083]
s3

3、对图像x'的调色板map中属于八种颜色中的任意色系,标记并统计 其峰值,将其峰值作为该调色板map中该色系的颜色值,得到新调色板nmap 并对应修改索引图像xi得到索引图像y;
[0084]
s3

4、将索引图像y进行分块后作为hash函数的输入值,采用md5信息 摘要算法生成128位散列值,得到与索引图像y对应的hash矩阵;
[0085]
s3

5、将索引图像y转换成二值图像,根据密钥key置乱二值图像块并统 计可嵌入像素点,得到hash矩阵的嵌入位置;
[0086]
s3

6、基于hash矩阵的嵌入位置,根据公式:
[0087][0088]
获取嵌入图像第i行第j列的索引值ny
i,j
,进而得到嵌入图像;其中y
i,j
为索 引图像y中第i行第j列的索引值;hash
k
为hash矩阵,k的值等于分块个数乘 以128;num为新调色板nmap的行数;p
i,j
=1表示当前像素点可翻转,即可嵌入 hash值。
[0089]
步骤s3

2中临界值的取值为0.7843。由于一个颜色具有三个通道,在具体 实施时每个通道都要判定与临界值的大小。比如大于临界值为1,小于临界值为 0。那么比如黑色就是000,白色就是111,因此一共可以得到8个颜色。
[0090]
步骤s3

5中将索引图像y转换成二值图像的具体方法为:通过二值图像水 印嵌入方法将索引图像y转换成二值图像。
[0091]
步骤s4的具体方法包括以下子步骤:
[0092]
s4

1、对嵌入图像进行边界补0操作至嵌入图像被4整除,得到图像i;
[0093]
s4

2、根据公式:
[0094][0095]
将图像i中第i行第j列的索引值i
i,j
变换为预测误差值prei
i,j
;其中m表示 总行数,n表示总列数;||
·
||表示四舍五入运算;
[0096]
s4

3、根据公式:
[0097]
域,将其恢复到原始图像x的大小,得到最终的恢复图像r。
[0116]
若恢复后的图像被篡改,可以对恢复图像r重新进行自适应预处理的操作, 然后采用同样的hash算法,将其索引图像分块,作为同一个hash函数的输入参 数得到hash矩阵h1,另外读取之前恢复图像时保存的hash矩阵h2。通过比较 两个摘要值,判断出图像是否有被篡改以及定位图像被篡改的块。
[0117]
在本发明的一个实施例中,如图2所示,以大小为136kb的答辩成绩表格 pdf文件作为参照,验证本发明方法的各项性能。利用“格式工厂”转换工具 将pdf文件转换成尺寸为m
×
n
×
k=1684
×
1191
×
3,图像大小为155kb的png图 像,将这一图像作为本发明的输入图像。
[0118]
对输入图像进行预处理,得到如图3所示的图像。进行hash值嵌入后得到 如图4所示的图像,最终压缩

加密后的图像如图5所示。其中加密密钥key是 利用现有的数字签名技术根据用户密钥ukey、设备信息和原始图像生成时间得 到的。最后得到的压缩

加密图像格式为bmp,图像大小为32.6kb,占原始图 像的21%,占原始文档的24%。如图6所示,利用算法和密钥恢复的图像与原 始图像的峰值信噪比(psnr)为25.4894,结构相似性(ssim)为0.9841。
[0119]
若有人将乙一和乙二的成绩进行对换(篡改),得到的恢复图像中乙一和乙 二的答辩成绩如图7所示,通过篡改检测算法比较篡改图像的hash矩阵和之前 恢复图像时保存的hash矩阵得到的篡改定位图像如图8所示,由此可以判断出 图像有被篡改过并且能定位出被篡改的图像块。
[0120]
如图9所示,利用6张不同的表格图像,验证本方法在减小文件存储空间 上的性能。可以看出,在保证文档图像的完整性和保密的情况下,图像的大小 较原始pdf文件大小也有显著的减小。
[0121]
当采用本方法加密的pdf文档被篡改后会导致一些错误,本方法可以发现篡 改位置,有助于及时改正。另外,由于加密图像被非法分子解密之后得到的是 二进制流,其并知道怎么解编码,非法分子在没有密钥以及解密算法时并不能 查看原文内容,因此保证了文档的安全性。
[0122]
综上所述,本发明可以对文档图像进行有效的压缩加密,当有人对压缩加 密的内容进行篡改后,可以对篡改位置进行识别与定位,识别当前文档是否遭 遇过篡改,提高文档的安全性。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1