一种基于灰度变换隐藏纸质黑白打印敏感数据的方法
技术领域
本发明属于文档追溯领域,具体涉及一种基于灰度变换隐藏纸质黑白打印敏感数据的方法。
背景技术
当前,以计算机存储的图片、影像、声音等数字多媒体资料为载体,隐藏敏感数据的方法有很多,但是几乎没有以黑白纸质打印材料为载体,隐藏打印敏感数据的方法。目前,政府、军队、科研单位等有保密需求的单位需要追溯黑白打印来文件来源,如打印时间,物理地址,IP地址,计算机名称等信息非常困难。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种基于灰度变换隐藏纸质黑白打印敏感数据的方法,是非常有必要的。
发明内容
本发明的目的在于,针对上述目前缺少以黑白纸质打印材料为载体,隐藏打印敏感数据的方法,追溯黑白打印来文件来源困难的缺陷,提供一种基于灰度变换隐藏纸质黑白打印敏感数据的方法,以解决上述技术问题。
为实现上述目的,本发明给出以下技术方案:
一种基于灰度变换隐藏纸质黑白打印敏感数据的方法,包括如下步骤:
S1.拦截将要发送给打印机的待打印数据;
S2.生成n×n位随机二进制数作为隐秘水印码,建立隐秘水印码与打印敏感数据的一一对应关系,并存入数据库,其中n为整数,且n>1;
S3.创建与待打印数据一致的图形缓冲区;
S4.将图形缓冲区划分为若干单位正方形;
S5.将图形缓冲区划分为由n×n个单位正方形组成的若干大正方形,每个大正方形作为一个隐秘水印码存储单元;
S6.将隐秘水印码按相同的顺序存储到每个隐秘水印码存储单元,0按黑色存储,1按灰黑色存储;
S7.选择隐秘水印码存储单元中至少两个单位正方形做标记,每个隐秘水印码存储单元选择相同的单位正方形,以相同的方式做标记;
S8.将图形缓冲区中数据与待打印数据合并,生成合并数据;
S9.打印合并数据;
S10.根据标记定位出一个隐秘水印码存储单元;
S11.读取定位出的隐秘水印码单元中数据,获取隐秘水印码;
S12.从数据库中查找隐秘水印码对应的打印敏感数据。
进一步地,所述隐秘水印码采用36位随机二进制数。会随机生成36位二进制数据作为隐秘水印码,数据存储量大,而236=68719476736,超过687亿,发生碰撞的几率极低,如有必要,也可以生成唯一随机36位水印隐码。
进一步地,所述打印敏感数据包括但不限于打印时间、打印人、计算机IP地址以及计算机物理地址。将打印敏感数据信息编码后即为打印敏感数据。
进一步地,单位正方形采用1cm×1cm的正方形。
进一步地,步骤S6中将隐秘水印码按螺旋方式,由内向外存储到每个隐秘水印码存储单元。隐秘水印码由内向外按顺时针方向或者逆时针方向存储到每个隐秘水印码存储单元。采用此种方式,抗剪切能力很强,截取纸张任意部分超过隐秘水印码存储单元的尺寸时,每个格子中都有数据可以供辨认,可以获知完整的隐秘水印码,从追溯出该纸张的来源。一个隐秘水印码存储单元为n×n个单位正方形,即使纸张被裁剪的仅剩0.5n×0.5n个单位正方形,也必定会包含一个带标记点的格子,从而能获取部分数据,将数据与打印记录模糊匹配也能大大缩小排查范围。
进一步地,步骤S6中灰黑色采用RGB(40,40,40)。RGB(40,40,40)为不容易被人眼直接识别的灰黑色,内部空白点比纯黑打印内容增多,边缘会存在像素级的中断、毛刺、波浪或者城墙样的凹凸不平,从而隐藏打印敏感数据。
进一步地,步骤S8中采用C++的GDI代码BitBlt将图形缓冲区中的数据与待打印数据合并。执行合并后,图形缓冲区中纯黑的区域待打印内容不变,灰黑区域待打印内容灰度降低。
进一步地,步骤S10具体步骤如下:
S101.采用同隐秘水印码存储单元相同尺寸,且与隐秘水印码存储单元带有相同标记的高透光薄板与打印合并数据的纸张对比,所述高透光薄板上设置有n×n个单位正方形格子;
S102.当高透光薄板上标记同打印合并数据纸张上的一组标记重合时,打印合并数据纸张与高透光薄板重合的区域即为一个隐秘水印码存储单元。
进一步地,所述高透光薄板采用高透光塑料板。
进一步地,步骤S11的具体步骤如下:
S111.采用放大工具获取高透光薄板的每个格子对应的打印合并数据纸张中数据;
S112.判断其中是否有中断、毛刺、波浪或者城墙样的凹凸不平;
若有,则该格子中对应的隐秘水印码数据为1;
若无,则该格子中对应的隐秘水印码数据为0。放大工具可采用放大镜。
进一步地,步骤S12的具体步骤如下:
S121.将隐秘水印码中部分数据或全部数据同数据库中数据采用模糊匹配进行查询;
S122.数据库将查询结果按匹配度从高到低显示。采用模糊匹配进行查询,使得即使只获取部分隐秘水印码,也可从数据库中查找,大大缩小了排查范围。
本发明的有益效果在于:
本发明数据存储量大,系统会随机生成n×n位二进制数据作为隐秘水印码,而2n代表可表示的隐秘水印码位数,n取得足够大,则发生碰撞的几率极低;抗剪切能力很强,截取纸张任意部分超过隐秘水印码存储单元尺寸,就可以获知完整的水印暗码,从追溯出该纸张的来源,即使纸张被裁减到仅剩余0.5n×0.5n个单位正方形,也可根据编码单元中的定位点放置高透光板,从而知道部分数据,大大缩小排查范围;不易被发现,对部分格子灰度进行少量修改,很难被肉眼发现;不易伪造,若要人为修改文档灰度,只能首先将待打印数据保存成图片,然后再用图片处理程序修改灰度,操作复杂性高,所需专业知识多,操作耗时长,且在保密内网计算机上无法随意安装图像处理软件;适应性强,对被打印数据的格式要求低,可以处理文本、矢量图、非矢量图以及表格数据,仅当被打印数据占纸张篇幅极小,小于一个隐秘水印码存储单元时才无法处理。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
图1为本发明的方法流程图;
图2为实施例2中对A4纸相同尺寸的图形缓冲区划分为1cm×1cm的单位正方形的示意图;
图3为实施例2中一个隐秘水印码存储单元的示意图,其中,7、10、13、16号格子中带有定位点。
具体实施方式:
为使得本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明具体实施例中的附图,对本发明中的技术方案进行清楚、完整地描述。
实施例1如图1所示,本发明提供一种基于灰度变换隐藏纸质黑白打印敏感数据的方法,包括如下步骤:
S1.拦截将要发送给打印机的待打印数据;
S2.生成n×n位随机二进制数作为隐秘水印码,建立隐秘水印码与打印敏感数据的一一对应关系,并存入数据库,其中n为整数,且n>1;
S3.创建与待打印数据一致的图形缓冲区;
S4.将图形缓冲区划分为若干单位正方形;
S5.将图形缓冲区划分为由n×n个单位正方形组成的若干大正方形,每个大正方形作为一个隐秘水印码存储单元;
S6.将隐秘水印码按相同的顺序存储到每个隐秘水印码存储单元,0按黑色存储,1按灰黑色存储;
S7.选择隐秘水印码存储单元中至少两个单位正方形做标记,每个隐秘水印码存储单元选择相同的单位正方形,以相同的方式做标记;
S8.将图形缓冲区中数据与待打印数据合并,生成合并数据;
S9.打印合并数据;
S10.根据标记定位出一个隐秘水印码存储单元;具体步骤如下:
S101.采用同隐秘水印码存储单元相同尺寸,且与隐秘水印码存储单元带有相同标记的高透光薄板与打印合并数据的纸张对比,所述高透光薄板上设置有n×n个单位正方形格子;
S102.当高透光薄板上标记同打印合并数据纸张上的一组标记重合时,打印合并数据纸张与高透光薄板重合的区域即为一个隐秘水印码存储单元;
S11.读取定位出的隐秘水印码单元中数据,获取隐秘水印码;具体步骤如下:
S111.采用放大工具获取高透光薄板的每个格子对应的打印合并数据纸张中数据;
S112.判断其中是否有中断、毛刺、波浪或者城墙样的凹凸不平;
若有,则该格子中对应的隐秘水印码数据为1;
若无,则该格子中对应的隐秘水印码数据为0;
S12.从数据库中查找隐秘水印码对应的打印敏感数据;具体步骤如下:
S121.将隐秘水印码中部分数据或全部数据同数据库中数据采用模糊匹配进行查询;
S122.数据库将查询结果按匹配度从高到低显示。
实施例2,一种基于灰度变换隐藏纸质黑白打印敏感数据的方法,包括如下步骤:
S1.拦截将要发送给打印机的待打印数据;
S2.生成36位随机二进制数作为隐秘水印码,建立隐秘水印码与打印敏感数据的一一对应关系,并存入数据库,打印敏感数据包括但不限于打印时间、打印人、计算机IP地址以及计算机物理地址信息;
S3.创建与待打印数据一致的图形缓冲区;
S4.将图形缓冲区划分为若干1cm×1cm的单位正方形;如图2所示的A4纸为例进行了划分;
S5.将图形缓冲区划分为由36个单位正方形组成的若干大正方形,每个大正方形作为一个隐秘水印码存储单元;如图3所示的隐秘水印码存储单元;
S6. 如图3所示,将隐秘水印码按螺旋方式,由内向外按顺时针方向存储到每个隐秘水印码存储单元,0按黑色RGB(0,0,0)存储,1按灰黑色RGB(40,40,40)存储;
S7.选择隐秘水印码存储单元中标有“7”、“10”、“13”、“16”四个单位正方形,在四个正方形上方分别打若图3所示的点做标记,“7”的上方打一个点,“10”的上方打两个点,且两个点从左到右上升,“13”上方打两个点,且两个点从左到右下降,“16”上方打两个点,且两个点水平,所有标记点大小均为1像素;每个隐秘水印码存储单元均采用此种方式做标记;
S8. 采用C++的GDI代码BitBlt将图形缓冲区中数据与待打印数据合并,生成合并数据;执行合并后,图形缓冲区中纯黑的区域待打印内容不变,灰黑区域待打印内容灰度降低;
S9.打印合并数据;
S10.根据标记定位出一个隐秘水印码存储单元;准备一张6cm×6cm高透光薄塑料板,上面绘好6×6的格子和与图3所示的隐秘水印码存储单元相同的标记点,格子宽高均为1cm;找到打印合并数据的纸张上的如图3所示的带标记点的数据,对齐;
S11.读取定位出的隐秘水印码单元中数据,获取隐秘水印码;使用放大镜观察每个格子的数据,若发现有规律的中断、毛刺、波浪或者城墙样凹凸不平,则说明该格子的值为1,否则为0;
S12.从数据库中查找隐秘水印码对应的打印敏感数据;将获取的部分或全部数据同数据库中数据采用模糊匹配进行查询,将查询结果按匹配度从高到低显示。
人眼对亮度敏感而对色彩不敏感,在阅读时,容易区分纸张的明暗从而区分纸张背景和文字,但不容易发现文字线夹内部零散的空白点,因此本发明在不容易被人眼发现变化的字体灰度中隐藏打印敏感数据,有追溯文件来源等需求时,将隐藏的打印敏感数据读取出来。
本发明的实施例是说明性的,而非限定性的,上述实施例只是帮助理解本发明,因此本发明不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他的具体实施方式,同样属于本发明保护的范围。