数字水印的生成方法、保密信息的提取方法及装置与流程

文档序号:16856398发布日期:2019-02-12 23:21阅读:440来源:国知局
数字水印的生成方法、保密信息的提取方法及装置与流程

本申请涉及信息隐藏领域,特别涉及一种数字水印的生成方法及装置,和一种保密信息的提取方法及装置。



背景技术:

目前,防止信息泄露已成为一项重要课题。数字水印技术是一种防止信息泄露的技术。数字水印是将保密信息隐藏在水印载体后所得到的水印。数字水印技术是在不影响数字载体(多媒体、文档,以及软件)的使用价值的前提下,将一些数字水印直接嵌入数字载体中,或者,将一些数字水印间接表示。

生成数字水印常用的方法主要包括空域算法和基于字符特征的水印算法。其中,空域算法是将待保密信息嵌入在图像中随机选择的像素点的最低有效位。基于字符特征的水印算法是一种利用字距、行距、颜色编码、纹理、汉字等基于字符特征的数据隐藏技术。

无论采用哪种数字水印生成方法在生成数字水印的过程中,都需要将保密信息隐藏在水印载体中。然而,通常水印载体的容量有限,因此,如何在有限容量的水印载体中,隐藏任何结构和长度的保密信息,是需要解决的问题。



技术实现要素:

基于此,本申请提出了一种数字水印的生成方法,用以生成能够在载体中隐藏任意结构和任意长度的保密信息的水印。

本申请还提供了一种数字水印的生成装置,用以保证上述方法在实际中的实现及应用。

本申请还提出了一种保密信息的提取方法及装置,用以从所生成的数字水印中提取出保密信息。

本申请提供的技术方案为:

本申请公开了一种数字水印的生成方法,包括:

当接收到需生成数字水印的请求时,从预设的水印集中选取水印为待处理水印;

计算所述待处理水印的容量;

依据嵌入在所述待处理水印中的密文的容量不大于所述待处理水印的容量,以及密文的容量与密文的长度之间的关系,确定嵌入在所述待处理水印中的密文的长度;

通过预设算法,将所述保密信息转换为所述长度的密文,得到转换后的密文;

将所述转换后的密文嵌入所述待处理水印,生成所述数字水印。

其中,所述将所述保密信息转换为所述长度的密文,得到转换后的密文之后,还包括:

检测已保存的密文中,是否存在所述转换后的密文;

若所述已保存的密文中存在所述转换后的密文,则返回执行所述将所述保密信息转换为所述长度的密文,得到转换后的密文的步骤,直至所述已保存的密文中不存在当前转换后的密文;

所述将所述转换后的密文嵌入所述待处理水印,生成所述数字水印,具体为:

将所述当前转换后的密文嵌入所述待处理水印,生成所述数字水印。

其中,在所述检测已保存的密文中,是否存在所述转换后的密文之后,还包括:

若所述已保存的密文中不存在所述转换后的密文,则对应保存所述保密信息与所述转换后的密文;

若所述已保存的密文中存在所述转换后的密文,则对应保存所述保密信息与所述当前转换后的密文。

其中,所述将所述转换后的密文嵌入所述待处理水印,生成所述数字水印,包括:

将所述转换后的密文嵌入所述待处理水印,以图片的形式生成所述数字水印。

本申请还公开了一种保密信息的提取方法,包括:

从待提取保密信息的数字水印中提取密文;所述数字水印依据上述任一项所述的数字水印的生成方法生成;

从已保存的保密信息与转换后的密文中,确定所提取出的密文对应的保密信息。

本申请还公开了一种数字水印的生成装置,包括:

选取单元,用于当接收到需生成数字水印的请求时,从预设的水印集中选取水印为待处理水印;

计算单元,用于计算所述待处理水印的容量;

第一确定单元,用于依据嵌入在所述待处理水印中的密文的容量不大于所述待处理水印的容量,以及密文的容量与密文的长度之间的关系,确定嵌入在所述待处理水印中的密文的长度;

转换单元,用于通过预设算法,将所述保密信息转换为所述长度的密文,得到转换后的密文;

生成单元,用于将所述转换后的密文嵌入所述待处理水印,生成所述数字水印。

其中,该装置还包括:

检测单元,用于在所述转换单元将所述保密信息转换为所述长度的密文,得到转换后的密文之后,检测已保存的密文中,是否存在所述转换后的密文;

执行单元,用于在所述检测单元检测出所述已保存的密文中存在所述转换后的密文,则返回执行所述转换单元的操作,直至所述已保存的密文中不存在当前转换后的密文;

所述生成单元,具体用于将所述当前转换后的密文嵌入所述待处理水印,生成所述数字水印。

其中,所述执行单元,还用于在所述检测单元检测到所述已保存的密文中不存在所述转换后的密文,对应保存所述保密信息与所述转换后的密文;

所述执行单元,还用于在所述检测单元检测到所述已保存的密文中存在所述转换后的密文,则对应保存所述保密信息与所述当前转换后的密文。

其中,所述生成单元,具体用于将所述转换后的密文嵌入所述待处理水印,以图片的形式生成所述数字水印。

本申请还公开了一种保密信息的提取装置,包括:

提取单元,用于从待提取保密信息的数字水印中提取密文;所述数字水印依据上述任一项所述的数字水印的生成装置生成;

第二确定单元,用于从已保存的保密信息与转换后的密文中,确定所提取出的密文对应的保密信息。

本申请的有益效果为:

在本申请实施例中,从预设的水印集中选取待处理水印,计算待处理水印的容量,以嵌入待处理水印中的密文的容量不大于待处理水印的容量为原则,并依据密文的容量与密文的长度间的关系,确定嵌入在待处理水印中的密文的长度。并且,预设算法可以将任意长度和结构的保密信息转换为预设长度的密文,因此,在本申请实施例中,可以通过预设算法将任意长度和结构的保密信息转换为已确定出的长度的密文,此时,转换得到的密文的容量一定不大于待处理水印的容量;因此,本申请实施例中在生成数字水印的过程中,可以在待处理水印的容量允许范围内,将任意长度和任意结构的保密信息隐藏在待处理水印中。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请中一种数字水印的生成方法实施例的流程图;

图2为本申请中一种保密信息的提取方法实施例的流程图;

图3为本申请中一种数字水印的生成装置实施例的结构示意图;

图4为本申请中一种保密信息的提取装置实施例的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例所生成的数字水印可以应用在网页、文档和图像等。本申请实施例的一个应用场景可以为:银行员工下载了一份关于客户的个人征信报告的文档,为了使得该文档内容泄露后可以定位责任人,可以在文档的背景、页眉、页脚等位置嵌入数字水印。其中,数字水印中隐藏有下载该文档的银行员工的个人信息,在该文档被泄露时,根据所泄露的文档中所嵌入的数字水印,可以提取出隐藏在数字水印中银行员工的信息,从而,可以确定出文档泄露的责任人。

当然,在实际应用中,本申请实施例所生成的数字水印的应用场景还可以为其他场景,本申请实施例不对具体的应用场景作限定。本申请实施例以上述介绍的场景为例,介绍本申请实施例生成数字水印的过程。本申请实施例的执行主体可以是数字水印的生成装置,该装置可以集成在银行系统中,也可以独立设置。以下图1所对应的方法实施例,以执行主体为独立的数字水印的生成装置为例进行介绍。

参考图1,示出了本申请中一种数字水印的生成方法实施例的流程图,该方法实施例可以包括:

步骤101:当接收到需生成嵌入有保密信息的数字水印的请求时,从预设的水印集中选取水印为待处理水印。

在银行员工下载客户个人征信报告的文档的场景为例,当银行员工向银行系统发送调取客户的个人征信报告的请求时,在银行系统接收到调取客户的个人征信报告的请求时,银行系统向数字水印生成装置发送生成数字水印的信息,银行系统同时将银行员工的个人信息发送至数字水印生成装置。其中,为了描述方便,本实施例将银行员工的个人信息统称为保密信息。在本步骤中,保密信息可以为银行员工的用户id、身份证号、ip地址和mac地址等信息。

在数字水印生成装置接收到需生成嵌入有保密信息的数字水印的请求时,在本步骤中,从预设的水印集中选取水印,其中,预设的水印集中存在多个水印。在实际应用中,预设水印集中的水印可以为明水印,也可以为暗水印。例如,当为明水印时,水印中显示的内容可以为“xx银行版权所有”、“xx银行内部资料,请勿外传”等。为了描述方便,本实施例将从预设的水印集中所选取出的水印,统称为待处理水印,其中,选取的方式可以为任意选取。

步骤102:计算待处理水印的容量。

待处理水印具有一定容量,对于计算待处理水印的容量为现有技术,具体计算方式可以参考现有的计算方法。在本步骤中,以水印的内容为字符为例,介绍内容为字符的水印容量的计算方式。内容为字符的水印容量大小与水印中字符的类型和字符的数量有关。例如,待处理水印中包含m个汉字,n个英文字符,此时,待处理水印的容量计算公式如下公式(1)所示。

p=3(m-1)*2(n-1)(1)

式中,p表示待处理水印的容量,m表示待处理水印中汉字的数量,n表示待处理水印中英文字符的数量。

当待处理水印的内容为“xx银行版权所有”时,依据公式(1),可以计算出该待处理水印的容量。

步骤103:依据嵌入在待处理水印中的密文的容量不大于待处理水印的容量,以及密文的容量与密文长度之间的关系,确定密文的长度。

在确定出待处理水印的容量后,在本实施例中,嵌入待处理水印中的密文的容量不能大于待处理水印的容量,因此,在本步骤中,依据已计算出的待处理水印的容量,可以确定嵌入待处理水印中的密文的容量最大值;并且,密文的容量与密文的长度之间具有一定的关系,因此,可以利用密文的容量与密文的长度之间的关系,以及已确定出的密文的最大容量,可以确定出密文的最大长度。在实际应用中,依据已确定出的密文的最大长度,以不大于密文最大长度的原则,确定密文的长度。

在实际应用中,当本实施例中的密文为哈希密文时,对于密文的长度与密文的容量间的关系,如下公式(2)所示。

y=16x(2)

式中,x表示哈希密文的长度,y表示哈希密文的容量。

需要说明的是,本实施例中的密文不限于为哈希密文,在本步骤中,只是以哈希密文容量与哈希密文长度间的关系为例,直观的介绍密文容量与密文长度间的关系。

以哈希密文为“afe39e05”为例,此时,哈希密文为8位字符的长度,哈希密文的容量为168

还以待处理水印内容为“xx银行版权所有”为例,在确定出待处理水印的容量后,依据公式(2)可以确定出将保密信息转换为哈希密文的最大长度。并且,可以根据实际情况,确定出一个长度不大于已确定出的最大长度的哈希密文长度。

步骤104:通过预设算法,将保密信息转换为所确定的长度的密文,得到转换后的密文。

由于哈希算法可以将任意长度和任意结构的保密信息转换为预设长度的哈希密文,因此,在本步骤中,预设算法可以为哈希算法。在确定出密文的长度后,可以通过哈希算法,将保密信息转换为已确定长度的哈希密文。

还以待处理水印内容为“xx银行版权所有”为例,在本步骤中,将银行员工的个人信息转换为已确定长度的密文。例如,通过哈希算法,将银行员工的身份证号转换为已确定长度的哈希密文。

步骤105:检测已保存的密文中,是否存在转换后的密文。

在实际应用中,当多个不同的保密信息对应相同的密文时,例如,多个银行员工的个人信息分别对应的密文相同,当客户的个人征信报告的内容泄露时,无法唯一确定责任人是哪位银行员工。因此,在本实施例中,为了防止多个保密信息对应相同的密文,当通过预设算法将保密信息转换为密文后,在本步骤中,检测已保存的密文中,是否存在转换后的密文。在已保存的密文中存在转换后的密文的情况下,执行步骤106的动作;在已保存的密文中不存在转换后的密文的情况下,执行步骤107的动作。

需要说明的是,在实际应用中,当本实施例是第一次执行时,已保存的密文的内容为空,此时,执行本步骤的结果是已保存的密文中不存在转换后的密文。

步骤106:将保密信息重新转换为已确定长度的密文,得到转换后的密文,并返回执行步骤105。

在已保存的密文中存在转换后的密文时,在本步骤中,可以通过哈希算法重新将保密信息转换为已确定长度的密文。并检测已保存的密文中是否存在当前得到的转换后密文,若存在,接着执行本步骤的动作,直至已保存的密文中不存在当前得到的转换后的密文,执行步骤107的动作。

步骤107:对应保存保密信息与转换后的密文。

在确定出已保存的密文中不存在当前转换得到的密文的情况下,将当前转换得到的密文与保密信息对应保存,例如,可以保存在一个表中,在该表中保存了保密信息与转换后的密文间的对应关系,并且,在该表中所保存的密文是互不相同的。

需要说明的是,在实际应用中,对于存储保密信息与转换后的密文的存储方式,本实施例只是给出了可以通过表的方式进行保存,在实际应用中,还可以通过其他方式进行保存,本实施例不对具体的保存方式作限定。

步骤108:将所转换后的密文嵌入待处理水印,生成水印图片。

当检测得到已保存的密文中不存在当前转换得到的密文的情况下,将当前转换得到的密文嵌入待处理水印中,生成水印图片。

在本实施例中,生成水印图片的有益效果为:一方面,可以保证水印图片在背景颜色、透明度、可见水印的字体颜色及倾斜度等方面保持良好的视觉效果,当把水印图片嵌入数字载体中时,不影响用户对数字载体正常操作。另一方面,保证不可见水印内容在水印图像中保持最大占用面积,抵抗涂抹、屏射、截图、滤镜等一系列攻击手段,最大程度便于后续水印信息的提取。

在实际应用中步骤107与步骤108的先后顺序可以互换。

在银行员工下载客户个人征信报告的文档的场景中,当数字水印的生成装置在生成嵌入保密信息后的数字水印后,将所生成的数字水印传输至银行系统,例如,将所生成的水印图片传输至银行系统,银行系统将水印图片嵌入在操作页面中,此时,该水印图片中已嵌入了银行员工的个人信息,当银行员工在页面中下载客户个人征信报告的文档后,所下载的文档中嵌入了银行员工的信息;因此,当客户的个人征信报告的文档泄露时,可以定位责任人。

在本实施例中,从预设的水印集中选取待处理水印,计算待处理水印的容量,以嵌入待处理水印中的密文的容量不大于待处理水印的容量为原则,并依据密文的容量与密文的长度间的关系,确定嵌入在待处理水印中的密文的长度。并且,预设算法可以将任意长度和结构的保密信息转换为预设长度的密文,因此,在本申请实施例中,可以通过预设算法将任意长度和结构的保密信息转换为已确定出的长度的密文,此时,转换得到的密文的容量一定不大于待处理水印的容量;因此,本申请实施例中在生成数字水印的过程中,可以在待处理水印的容量允许范围内,将任意长度和任意结构的保密信息隐藏在待处理水印中。

在本实施例中,在生成嵌入有保密信息的数字水印后,还可以从数字水印中提取嵌入信息。具体的,参考图2,示出了本申请中一种从数字水印中提取保密信息的方法实施例的流程图,该方法实施例可以包括:

步骤201:从待提取保密信息的数字水印中提取密文。

在本实施例中,从待提取保密信息的数字水印中提取密文的过程,是向待处理水印中嵌入密文的逆过程,且从数字水印中提取密文的过程为现有技术,具体过程可以参考现有技术,本步骤不再进行赘述。

步骤202:从已保存的保密信息与转换后的密文对应关系中,确定所提取出的密文对应的保密信息。

在提取出密文后,由于在图1所对应的实施例中已保存了保密信息与转换后的密文间的对应关系,因此,在本步骤中,可以通过查表的方式,从已保存的保密信息与密文间的对应关系中,确定出提取出的密文所对应的保密信息。

在本实施例中,提供了一种保密信息的提取方法,通过查表的方式,可以快速从数字水印中确定出保密信息。

参考图3,示出了本申请中一种数字水印的生成装置实施例的结构示意图,该装置实施例可以包括:

选取单元301,用于当接收到需生成数字水印的请求时,从预设的水印集中选取水印为待处理水印;

计算单元302,用于计算所述待处理水印的容量;

第一确定单元303,用于依据嵌入在所述待处理水印中的密文的容量不大于所述待处理水印的容量,以及密文的容量与密文的长度之间的关系,确定嵌入在所述待处理水印中的密文的长度;

转换单元304,用于通过预设算法,将所述保密信息转换为所述长度的密文,得到转换后的密文;

生成单元305,用于将所述转换后的密文嵌入所述待处理水印,生成所述数字水印。

其中,该装置实施例还可以包括:

检测单元,用于在所述转换单元将所述保密信息转换为所述长度的密文,得到转换后的密文之后,检测已保存的密文中,是否存在所述转换后的密文;

执行单元,用于在所述检测单元检测出所述已保存的密文中存在所述转换后的密文,则返回执行所述转换单元的操作,直至所述已保存的密文中不存在当前转换后的密文;

所述生成单元,具体用于将所述当前转换后的密文嵌入所述待处理水印,生成所述数字水印。

其中,执行单元,还用于在所述检测单元检测到所述已保存的密文中不存在所述转换后的密文,对应保存所述保密信息与所述转换后的密文;还用于在所述检测单元检测到所述已保存的密文中存在所述转换后的密文,则对应保存所述保密信息与所述当前转换后的密文。

其中,生成单元,具体用于将所述转换后的密文嵌入所述待处理水印,以图片的形式生成所述数字水印。

参考图4,示出了本申请中一种保密信息的提取装置实施例的结构示意图,该装置实施例可以包括:

提取单元401,用于从待提取保密信息的数字水印中提取密文;所述数字水印依据图3所对应的装置实施例生成;

第二确定单元402,用于从已保存的保密信息与转换后的密文中,确定所提取出的密文对应的保密信息。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分互相参见即可。在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。在文中的“包括”、“包含”等词语解释为包含的含义而不是排他或穷举的含义;也就是说,是“包含但不限于”的含义。在不脱离本发明构思的前提下,还可以做出变形、同等替换、改进等,这些都属于本发明的保护范围。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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