掌桥专利:专业的专利平台
掌桥专利
首页

数据的水印嵌入方法、水印溯源方法及装置

文献发布时间:2023-06-19 11:22:42


数据的水印嵌入方法、水印溯源方法及装置

技术领域

本申请涉及数字水印技术领域,尤其涉及一种数据的水印嵌入方法、水印溯源方法及装置。

背景技术

Hbase是一个构建在HDFS上的分布式列存储系统。Hbase是ApacheHadoop生态系统中的重要一员,主要用于大量结构化数据存储。

目前,数据溯源方法主要包括标注法和反向查询法。标注法是用标注的方式来记录原始数据的一些重要信息,如背景、作者、时间、出处等,并让标注和数据一起传播,通过查看目标数据的标注来获得数据的溯源。标注法来进行数据溯源虽然简单,但存储标注信息需要额外的存储空间,且标注法不适合细粒度数据,特别是大数据集中的数据溯源,而且标注为明文易被删除,导致数据溯源失败。反向查询法是通过逆向查询或构造逆向函数对查询求逆,由结果追溯到原数据的过程。反向查询法关键是要构造出逆向函数,逆向函数构造的好与坏直接影响查询的效果以及算法的性能,对于大数据的溯源,反向查询法较复杂。

可见,现有的数据溯源方法不适合对数据,如Hbase数据的溯源。

发明内容

本申请实施例提供一种数据的水印嵌入方法、水印溯源方法及装置,解决了现有技术不能对Hbase数据进行溯源的问题,降低了溯源的复杂度,提高了溯源的准确性。

第一方面,提供了一种数据的水印嵌入方法,该方法可以包括:

根据预设的水印信息对应的数字水印序列和预设素数序列,获取待嵌入的数字水印序列;其中,所述预设素数序列的元素数目与所述数字水印序列的元素数目相同;

采用密码分存算法,对所述待嵌入的数字水印序列进行分割,得到预设数量的待嵌入的子数字水印;

采用预设分组算法,按照待处理数据的数据标识,对所述待处理数据进行分组,获取所述预设数量的待处理数据组与相应组标识;

采用预设嵌入规则,将一个待嵌入的子数字水印嵌入一待处理组数据组的至少一个待处理数据中,得到嵌入数字水印的数据。

在一个可选的实现中,根据预设的水印信息对应的数字水印序列和预设素数序列,获取待嵌入的数字水印序列之前,所述方法还包括:

获取预设的水印信息,所述水印信息包括字母、数字和符号中的至少一种字符类型组成的字符串;

若水印信息存在字母或符号,则采用预设十进制转换算法,将所述水印信息中的每个字符进行十进制转换,得到数字水印序列。

在一个可选的实现中,所述数据标识为待嵌入数字水印的数据的行键;

采用预设分组算法,按照待处理数据的数据标识,对所述待处理数据进行分组,获取所述预设数量的待处理数据组,包括:

采用预设哈希算法,将预设的密钥对Hbase数据库中待处理数据的行键进行哈希运算,得到所述行键对应的哈希值;

按照所述哈希值,对所述待处理数据进行分组,获取所述预设数量的待处理数据组与相应组标识。

在一个可选的实现中,采用预设嵌入规则,将一个待嵌入的子数字水印嵌入一组待处理数据组的至少一个待处理数据中,包括:

将所述待处理数据组中每个待处理数据的最低有效值位的数值替换为所述待嵌入的子数字水印;

或者,在所述待处理数据组中每个待处理数据的最低有效值位后增加待嵌入位;

将所述待嵌入的子数字水印添加入所述待处理数据的待嵌入位中。

在一个可选的实现中,所述方法还包括:

将所述数据标识与预设的密钥的对应关系,以及所述预设的密钥对应的待处理数据组的预设数量进行存储;

将所述组标识与相应待嵌入的子数字水印的序号的对应关系进行存储。

第二方面,提供了一种数据的水印溯源方法,该方法可以包括:

采用预设分组算法,按照获取的嵌入数字水印的数据的数据标识,对所述嵌入数字水印的数据进行分组,得到预设数量的嵌入数字水印的数据组与相应组标识,其中,所述预设数量为在水印嵌入时存储的所述数据标识对应的待处理数据组的预设数量;

采用预设提取规则,从所述预设数量的嵌入数字水印的数据组的每个嵌入数字水印的数据组中提取子数字水印,所述预设提取规则与预设嵌入规则互为逆规则;

采用预设重构算法,对提取的预设数量的子数字水印进行重构,得到重构的数字水印序列;

根据所述重构的数字水印序列和存储的预设素数序列,获取数字水印序列以及所述数字水印序列对应的水印信息,所述预设素数序列的元素数目与所述数字水印序列的元素数目相同。

在一个可选的实现中,从每个嵌入数字水印的数据组的每个嵌入数字水印的数据中提取子数字水印,包括:

从每个嵌入数字水印的数据组的每个嵌入数字水印的数据中提取最低有效值;

若所述嵌入数字水印的数据组中提取出的相同最低有效值的数量与所述嵌入数字水印的数据组中嵌入数字水印的数据总数的比值大于预设比例阈值,则将所述相同的最低有效值确定为所述嵌入数字水印的数据组的子数字水印。

在一个可选的实现中,所述数据标识为嵌入数字水印的数据的行键;

采用预设分组算法,按照获取的嵌入数字水印的数据的数据标识,对所述嵌入数字水印的数据进行分组,获取所述预设数量的嵌入数字水印的数据组,包括:

获取存储的数据标识对应的预设的密钥中所述嵌入数字水印的数据的数据标识对应的密钥,以及存储的所述密钥对应的待处理数据组的预设数量;

采用预设哈希算法,将所述密钥对嵌入数字水印的数据的行键进行哈希运算,得到所述行键对应的哈希值;

按照所述哈希值,对所述嵌入数字水印的数据进行分组,获取所述预设数量的嵌入数字水印的数据组与相应组标识。

在一个可选的实现中,预设重构算法包括拉格朗日门限算法和拉格朗日插值多项式算法;

采用预设重构算法,对提取的预设数量的子数字水印进行重构,得到重构的数字水印序列,包括:

根据存储的组标识与相应子数字水印的序号的对应关系,对所述预设数量个子数字水印进行排序,获取数字水印数组;

采用所述拉格朗日门限算法和所述拉格朗日插值多项式算法,对所述数字水印数组进行重构,得到重构的数字水印序列。

第三方面,提供了一种数据的水印嵌入装置,该装置可以包括:获取单元、分割单元、分组单元和嵌入单元;

所述获取单元,用于根据预设的水印信息对应的数字水印序列和预设素数序列,获取待嵌入的数字水印序列;其中,所述预设素数序列的元素数目与所述数字水印序列的元素数目相同;

所述分割单元,用于采用密码分存算法,对所述待嵌入的数字水印序列进行分割,得到预设数量的待嵌入的子数字水印;

所述分组单元,用于采用预设分组算法,按照待处理数据的数据标识,对所述待处理数据进行分组,获取所述预设数量的待处理数据组与相应组标识;

所述嵌入单元,用于采用预设嵌入规则,将一个待嵌入的子数字水印嵌入一待处理组数据组的至少一个待处理数据中,得到嵌入数字水印的数据。

在一个可选的实现中,所述装置还包括转换单元;

所述获取单元,还用于获取预设的水印信息,所述水印信息包括字母、数字和符号中的至少一种字符类型组成的字符串;

所述转换单元,用于若水印信息存在字母或符号,则采用预设十进制转换算法,将所述水印信息中的每个字符进行十进制转换,得到数字水印序列。

在一个可选的实现中,所述数据标识为待嵌入数字水印的数据的行键;

所述分组单元,具体用于采用预设哈希算法,将预设的密钥对Hbase数据库中待处理数据的行键进行哈希运算,得到所述行键对应的哈希值;

按照所述哈希值,对所述待处理数据进行分组,获取所述预设数量的待处理数据组与相应组标识。

在一个可选的实现中,所述嵌入单元,具体用于将所述待处理数据组中每个待处理数据的最低有效值位的数值替换为所述待嵌入的子数字水印;

或者,在所述待处理数据组中每个待处理数据的最低有效值位后增加待嵌入位;将所述待嵌入的子数字水印添加入所述待处理数据的待嵌入位中。

在一个可选的实现中,所述装置还包括存储单元;

所述存储单元,用于将所述数据标识与预设的密钥的对应关系,以及所述预设的密钥对应的待处理数据组的预设数量进行存储;

将所述组标识与相应待嵌入的子数字水印的序号的对应关系进行存储。

第四方面,提供了一种数据的水印溯源装置,该装置可以包括:分组单元、提取单元、重构单元和获取单元;

所述分组单元,用于采用预设分组算法,按照获取的嵌入数字水印的数据的数据标识,对所述嵌入数字水印的数据进行分组,得到预设数量的嵌入数字水印的数据组与相应组标识,其中,所述预设数量为在水印嵌入时存储的所述数据标识对应的待处理数据组的预设数量;

所述提取单元,用于采用预设提取规则,从所述预设数量的嵌入数字水印的数据组的每个嵌入数字水印的数据组中提取子数字水印,所述预设提取规则与预设嵌入规则互为逆规则;

所述重构单元,用于采用预设重构算法,对提取的预设数量的子数字水印进行重构,得到重构的数字水印序列;

所述获取单元,用于根据所述重构的数字水印序列和存储的预设素数序列,获取数字水印序列以及所述数字水印序列对应的水印信息,所述预设素数序列的元素数目与所述数字水印序列的元素数目相同。

在一个可选的实现中,所述提取单元,具体用于从每个嵌入数字水印的数据组的每个嵌入数字水印的数据中提取最低有效值;

若所述嵌入数字水印的数据组中提取出的相同最低有效值的数量与所述嵌入数字水印的数据组中嵌入数字水印的数据总数的比值大于预设比例阈值,则将所述相同的最低有效值确定为所述嵌入数字水印的数据组的子数字水印。

在一个可选的实现中,所述数据标识为嵌入数字水印的数据的行键;

所述分组单元,具体用于获取存储的数据标识对应的预设的密钥中所述嵌入数字水印的数据的数据标识对应的密钥,以及存储的所述密钥对应的待处理数据组的预设数量;

采用预设哈希算法,将所述密钥对嵌入数字水印的数据的行键进行哈希运算,得到所述行键对应的哈希值;

按照所述哈希值,对所述嵌入数字水印的数据进行分组,获取所述预设数量的嵌入数字水印的数据组与相应组标识。

在一个可选的实现中,预设重构算法包括拉格朗日门限算法和拉格朗日插值多项式算法;

所述重构单元,具体用于根据存储的组标识与相应子数字水印的序号的对应关系,对所述预设数量个子数字水印进行排序,获取数字水印数组;

采用所述拉格朗日门限算法和所述拉格朗日插值多项式算法,对所述数字水印数组进行重构,得到重构的数字水印序列。

第五方面,提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的方法步骤或实现上述第二方面中任一所述的方法步骤。

第六方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的方法步骤或实现上述第二方面中任一所述的方法步骤。

本发明实施例提供的数据的水印嵌入方法根据预设的水印信息对应的数字水印序列和预设素数序列,获取待嵌入的数字水印序列;预设素数序列的元素数目与数字水印序列的元素数目相同;采用密码分存算法,对待嵌入的数字水印序列进行分割,得到预设数量的待嵌入的子数字水印;采用预设分组算法,按照待处理数据的数据标识,对待处理数据进行分组,获取预设数量的待处理数据组与相应组标识;之后采用预设嵌入规则,将一个待嵌入的子数字水印嵌入一待处理组数据组的至少一个待处理数据中,得到嵌入数字水印的数据。在水印溯源过程中,按照水印嵌入的逆过程对嵌入数字水印的数据进行水印信息的提取,比较提取的水印信息和原水印信息的一致性实现数据的溯源。该方法解决了现有技术不能对Hbase数据进行溯源的问题,降低了溯源的复杂度,提高了溯源的准确性。

附图说明

图1为本发明实施例提供的一种数据的水印嵌入方法的流程示意图;

图2为本发明实施例提供的一种数据的水印溯源方法的流程示意图;

图3为本发明实施例提供的一种数据的水印嵌入装置的结构示意图;

图4为本发明实施例提供的一种数据的水印溯源装置的结构示意图;

图5为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

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

数字水印技术是指在不影响载体的正常使用的前提下,将数字水印嵌入载体中的技术,载体可以是图像、文档、视频、软件中的至少一种,数字水印可以是秘钥、防伪信息等标识信息。数字水印不容易被探知和再次修改,但可以被嵌入方识别出来,通过识别隐藏在载体中的数字水印,可以判断出载体是否被篡改。对于己嵌入有数字水印的载体,通过在提取到该载体中的数字水印之后验证该数字水印的合法性。

本发明实施例提供的数据的水印嵌入方法将上述载体确定为数据,如Hbase中存储的大数据,实现在不影响数据使用的情况下对数据进行隐蔽性标识,嵌入算法具有较强的鲁棒性,能有效抵抗常见的水印攻击。在数据的溯源过程中通过比较提取出的水印信息和原水印信息的一致性,达到数据溯源目的,提供了溯源的准确性。

以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

图1为本发明实施例提供的一种数据的水印嵌入方法的流程示意图。如图1所示,该方法可以包括:

步骤110、根据预设的水印信息对应的数字水印序列和预设素数序列,获取待嵌入的数字水印序列。

在执行该步骤之前,获取预设的水印信息,该水印信息可以包括字母、数字和符号中的至少一种字符类型组成的字符串,例如,水印信息可以是字符串456-1233、字符串sdfe&rtw、或字符串7e8d9g42e。

由于该水印信息要嵌入到Hbase数据库的数据中,故可以选用有意义的字符串作为水印信息,即唯一标识相应数据的水印信息,例如,相应数据的生成日期:2001-02-03,或生成相应数据的对象信息:ASDgongsi(ASD公司)。

若水印信息存在字母或符号,则采用预设十进制转换算法,如ASCLL算法,将水印信息中的每个字符进行十进制转换,得到数字水印序列A。也就是说,数字水印序列A包括多个十进制的元素,即数值。

若水印信息不存在字母或符号,则可以直接获取水印信息对应的数字水印序列A。

回到步骤110,可以采用中国剩余定理,对预设的水印信息对应的数字水印序列和预设素数序列进行运算,得到待嵌入的数字水印序列。

中国剩余定理的公式的推导过程如下:

设正整数m

对任意的整数:a

方程组S的唯一解为:

即中国剩余定理的公式为:

之后,随机获取多个素数,生成预设素数序列K,其中,预设素数序列K的元素数目与数字水印序列A的元素数目相同。

根据上述中国剩余定理公式,将数字水印序列A中的元素设为a

可见,在不知道预设素数序列K的情况下,很难由待嵌入水印序列X计算得到数字水印序列A,从而保证了水印信息的安全性。

需要说明的是,根据数字水印序列和预设素数序列还可以存在其他获取待嵌入的数字水印序列的方法,如采用密钥加密算法,将预设素数序列中的元素一一对应的对数字水印序列中的元素进行加密,来获取待嵌入的数字水印序列,等,本发明实施例在此不做限定。

步骤120、采用密码分存算法,对待嵌入的数字水印序列进行分割,得到预设数量的待嵌入的子数字水印。

采用密码分存算法可以是拉格朗日差值多项式Shamir(t,n)密钥分存算法。

采用拉格朗日差值多项式的密钥分存算法,对待嵌入的数字水印序列进行分割,得到预设数量的待嵌入的子数字水印。

对每个待嵌入的子数字水印设置序号,按照序号顺序,可以形成待嵌入数组Y1。

例如,当预设数量为3时,待嵌入的数字水印序列可以为{1,2,3},采用密码分存算法分割后,待嵌入的子数字水印形成的数组Y可以表示为:[12,13,23],其中,待嵌入的子数字水印12的序号为1,待嵌入的子数字水印13的序号为2,待嵌入的子数字水印23的序号为3。

步骤130、采用预设分组算法,按照待处理数据的数据标识,对待处理数据进行分组,获取预设数量的待处理数据组。

预设分组算法可以是Hash算法,数据标识可以是Hbase数据库中数据的行键rowkey。Hbase是根据rowkey来进行检索的,通过找到某个rowkey(或者某个rowkey范围)所在的区域region,然后将查询数据的请求路由到该region获取相应数据。

具体的,获取预设的密钥key。并进行存储,其中,该key可以是用户输入的,也可以是预先设置的,本发明实施例再次不做限定。

采用预设哈希算法,将预设的密钥key对Hbase数据库中待处理数据的行键进行哈希运算,得到行键对应的哈希值;之后按照哈希值,对待处理数据进行分组,获取预设数量的待处理数据组。其中,每个待处理数据组可以包括至少一个待处理数据。

例如,以预设数量为10为例,预设的密钥key对100个行键进行哈希运算,可以得到每个行键对应的哈希值;之后可以按照哈希值的个位数值,将与该个位数值相同的行键的个位数值分为一组,由此获取到个位数值为0-9的10组待处理数据组。

需要说明的是,将使用预设的密钥key处理过的数据标识,如行键,与该密钥key的对应关系进行存储,以及将该密钥key对应的待处理数据组的预设数量进行存储。

步骤140、采用预设嵌入规则,将一个待嵌入的子数字水印嵌入一组待处理数据组的至少一个待处理数据中,得到嵌入数字水印的数据。

采用预设嵌入规则,将预设数量的待嵌入的子数字水印一一对应的嵌入预设数量的待处理数据组,即将第i个待嵌入的子数字水印嵌入第i待处理数据组的至少一个待处理数据中,i为大于零的正整数。

具体的,可以将第i待处理数据组中每个待处理数据的最低有效值位的数值替换为第i个待嵌入的子数字水印,得到嵌入数字水印的数据;

或者,可以在第i待处理数据组中每个待处理数据的最低有效值位后增加待嵌入位,其中,待嵌入位可以包括至少一个数值位数。将第i个待嵌入的子数字水印添加入待处理数据的待嵌入位中,得到嵌入数字水印的数据。

也就是说,将待嵌入的子数字水印作为相应待处理数据的最低有效值。

需要说明的是,得到嵌入数字水印的数据后,不仅需要对嵌入数字水印的数据按照原待处理数据的行键进行存储,还需要将每个组标识与相应子数字水印的序号的对应关系进行存储,如待处理数据组1与序号2对应,待处理数据组2与序号3对应,待处理数据组3与序号1对应。

进一步的,将嵌入数字水印的数据提供给外部后,如果想对该嵌入数字水印的数据进行溯源,确认该嵌入数字水印的数据是何时发给哪个用户的,可对流转后的该嵌入数字水印的数据进行溯源。

图2为本发明实施例提供的一种水印提取方法的流程示意图。如图2所示,该方法可以包括:

步骤210、采用预设分组算法,按照获取的嵌入数字水印的数据的数据标识,对嵌入数字水印的数据进行分组,得到预设数量的嵌入数字水印的数据组。

数据标识可以是嵌入数字水印的数据的行键,查找存储的行键对应的预设的密钥key中,该嵌入数字水印的数据的行键对应的密钥key,并获取存储的该密钥key对应的待处理数据组的预设数量。

采用预设哈希算法,将该密钥key对获取的嵌入数字水印的数据的行键进行哈希运算,得到行键对应的哈希值;之后按照哈希值,对嵌入数字水印的数据进行分组,获取预设数量的嵌入数字水印的数据组与相应组标识。其中,每个数据组可以包括至少一个嵌入数字水印的数据。

具体分组过程与步骤130相同,本发明实施例在此不做赘述。

由于步骤130中预设的密钥key与行键与该步骤的预设的密钥key与行键相同,故步骤130与该步骤得到的组标识相同。

步骤220、采用预设提取规则,从预设数量的嵌入数字水印的数据组的每个嵌入数字水印的数据组中提取子数字水印。

由于水印嵌入时,一个待处理数据组仅嵌入一个子数字水印,即待处理数据组中的每个待处理数据均嵌入了相同的子数字水印,故每个嵌入数字水印的数据组可以提取出一个子数字水印。且预设提取规则与预设嵌入规则互为逆规则。

具体的,从每个嵌入数字水印的数据组的每个嵌入数字水印的数据中提取子数字水印,包括:

从每个嵌入数字水印的数据组的每个嵌入数字水印的数据中提取最低有效值;

若嵌入数字水印的数据组中提取出的相同最低有效值的数量与该数据组中嵌入数字水印的数据总数的比值大于预设比例阈值,则将相同的最低有效值确定为该嵌入数字水印的数据组的子数字水印。

由此,得到预设数量个子数字水印。

步骤230、采用预设重构算法,对提取的预设数量的子数字水印进行重构,得到待嵌入的数字水印序列。

其中,预设重构算法包括拉格朗日门限算法和拉格朗日插值多项式算法。

根据存储的组标识与相应子数字水印的序号的对应关系,可以得到数字水印的序号顺序,即预设数量个子数字水印的组合顺序,由此可以得到预设数量的子数字水印形成的数字水印数组Y2。

之后,采用预设重构算法,如拉格朗日Shamir(t,n)门限算法,取任意t个子数字水印,采用拉格朗日插值多项式算法,得到重构的数字水印序列。

步骤240、根据重构的数字水印序列和存储的预设素数序列,获取数字水印序列以及数字水印序列对应的水印信息。

采用中国剩余定理,对重构的数字水印序列和存储的预设素数序列进行运算,得到数字水印序列以及数字水印序列对应的水印信息。

采用中国剩余定理,将预设素数序列K中的元素设为M

根据ASCLL码对应规则,将数字水印序列转换为其对应的字符串,该字符串即为最终提取出的水印信息,将提取出的水印信息和存储的原水印信息进行匹配,以实现数据溯源。

本发明实施例提供的数据的水印嵌入方法根据预设的水印信息对应的数字水印序列和预设素数序列,获取待嵌入的数字水印序列;预设素数序列的元素数目与数字水印序列的元素数目相同;采用密码分存算法,对待嵌入的数字水印序列进行分割,得到预设数量的待嵌入的子数字水印;采用预设分组算法,按照待处理数据的数据标识,对待处理数据进行分组,获取预设数量的待处理数据组与相应组标识;之后采用预设嵌入规则,将一个待嵌入的子数字水印嵌入一待处理组数据组的至少一个待处理数据中,得到嵌入数字水印的数据。在水印溯源过程中,按照水印嵌入的逆过程对嵌入数字水印的数据进行水印信息的提取,比较提取的水印信息和原水印信息的一致性实现数据的溯源。该方法解决了现有技术不能对Hbase数据进行溯源的问题,降低了溯源的复杂度,提高了溯源的准确性。

与上述方法对应的,本发明实施例还提供一种数据的水印嵌入装置,如图3所示,该数据的水印嵌入装置包括:获取单元310、分割单元320、分组单元330和嵌入单元340;

获取单元310,用于根据预设的水印信息对应的数字水印序列和预设素数序列,获取待嵌入的数字水印序列;其中,所述预设素数序列的元素数目与所述数字水印序列的元素数目相同;

分割单元320,用于采用密码分存算法,对所述待嵌入的数字水印序列进行分割,得到预设数量的待嵌入的子数字水印;

分组单元330,用于采用预设分组算法,按照待处理数据的数据标识,对所述待处理数据进行分组,获取所述预设数量的待处理数据组与相应组标识;

嵌入单元340,用于采用预设嵌入规则,将一个待嵌入的子数字水印嵌入一待处理组数据组的至少一个待处理数据中,得到嵌入数字水印的数据。

在一个可选的实现中,所述装置还包括转换单元350;

获取单元310,用于获取预设的水印信息,所述水印信息包括字母、数字和符号中的至少一种字符类型组成的字符串;

转换单元350,用于若水印信息存在字母或符号,则采用预设十进制转换算法,将所述水印信息中的每个字符进行十进制转换,得到数字水印序列。

在一个可选的实现中,所述数据标识为待嵌入数字水印的数据的行键;

分组单元330,具体用于采用预设哈希算法,将预设的密钥对Hbase数据库中待处理数据的行键进行哈希运算,得到所述行键对应的哈希值;

按照所述哈希值,对所述待处理数据进行分组,获取所述预设数量的待处理数据组与相应组标识。

在一个可选的实现中,嵌入单元340,具体用于将所述待处理数据组中每个待处理数据的最低有效值位的数值替换为所述待嵌入的子数字水印;

或者,在所述待处理数据组中每个待处理数据的最低有效值位后增加待嵌入位;将所述待嵌入的子数字水印添加入所述待处理数据的待嵌入位中。

在一个可选的实现中,所述装置还包括存储单元360;

存储单元360,用于将所述数据标识与预设的密钥的对应关系,以及所述预设的密钥对应的待处理数据组的预设数量进行存储;

将所述组标识与相应待嵌入的子数字水印的序号的对应关系进行存储。

本发明上述实施例提供的数据的水印嵌入装置的各功能单元的功能,可以通过上述各方法步骤来实现,因此,本发明实施例提供的数据的水印嵌入装置中的各个单元的具体工作过程和有益效果,在此不复赘述。

与上述方法对应的,本发明实施例还提供一种数据的水印溯源装置,如图4所示,该数据的水印溯源装置包括:分组单元410、提取单元420、重构单元430和获取单元440;

分组单元410,用于采用预设分组算法,按照获取的嵌入数字水印的数据的数据标识,对所述嵌入数字水印的数据进行分组,得到预设数量的嵌入数字水印的数据组与相应组标识,其中,所述预设数量为在水印嵌入时存储的所述数据标识对应的待处理数据组的预设数量;

提取单元420,用于采用预设提取规则,从所述预设数量的嵌入数字水印的数据组的每个嵌入数字水印的数据组中提取子数字水印,所述预设提取规则与预设嵌入规则互为逆规则;

重构单元430,用于采用预设重构算法,对提取的预设数量的子数字水印进行重构,得到重构的数字水印序列;

获取单元440,用于根据所述重构的数字水印序列和存储的预设素数序列,获取数字水印序列以及所述数字水印序列对应的水印信息,所述预设素数序列的元素数目与所述数字水印序列的元素数目相同。

在一个可选的实现中,提取单元420,具体用于从每个嵌入数字水印的数据组的每个嵌入数字水印的数据中提取最低有效值;

若所述嵌入数字水印的数据组中提取出的相同最低有效值的数量与所述嵌入数字水印的数据组中嵌入数字水印的数据总数的比值大于预设比例阈值,则将所述相同的最低有效值确定为所述嵌入数字水印的数据组的子数字水印。

在一个可选的实现中,所述数据标识为嵌入数字水印的数据的行键;

分组单元410,具体用于获取存储的数据标识对应的预设的密钥中所述嵌入数字水印的数据的数据标识对应的密钥,以及存储的所述密钥对应的待处理数据组的预设数量;

采用预设哈希算法,将所述密钥对嵌入数字水印的数据的行键进行哈希运算,得到所述行键对应的哈希值;

按照所述哈希值,对所述嵌入数字水印的数据进行分组,获取所述预设数量的嵌入数字水印的数据组与相应组标识。

在一个可选的实现中,预设重构算法包括拉格朗日门限算法和拉格朗日插值多项式算法;

重构单元430,具体用于根据存储的组标识与相应子数字水印的序号的对应关系,对所述预设数量个子数字水印进行排序,获取数字水印数组;

采用所述拉格朗日门限算法和所述拉格朗日插值多项式算法,对所述数字水印数组进行重构,得到重构的数字水印序列。

本发明上述实施例提供的数据的水印溯源装置的各功能单元的功能,可以通过上述各方法步骤来实现,因此,本发明实施例提供的数据的水印溯源装置中的各个单元的具体工作过程和有益效果,在此不复赘述。

本发明实施例还提供了一种电子设备,如图5所示,包括处理器510、通信接口520、存储器530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。

存储器530,用于存放计算机程序;

处理器510,用于执行存储器530上所存放的程序时,实现如下步骤:

采用根据预设的水印信息对应的数字水印序列和预设素数序列,获取待嵌入的数字水印序列;其中,所述预设素数序列的元素数目与所述数字水印序列的元素数目相同;

采用密码分存算法,对所述待嵌入的数字水印序列进行分割,得到预设数量的待嵌入的子数字水印;

采用预设分组算法,按照待处理数据的数据标识,对所述待处理数据进行分组,获取所述预设数量的待处理数据组与相应组标识;

采用预设嵌入规则,将一个待嵌入的子数字水印嵌入一待处理组数据组的至少一个待处理数据中,得到嵌入数字水印的数据。

在一个可选的实现中,根据预设的水印信息对应的数字水印序列和预设素数序列,获取待嵌入的数字水印序列之前,所述方法还包括:

获取预设的水印信息,所述水印信息包括字母、数字和符号中的至少一种字符类型组成的字符串;

若水印信息存在字母或符号,则采用预设十进制转换算法,将所述水印信息中的每个字符进行十进制转换,得到数字水印序列。

在一个可选的实现中,所述数据标识为待嵌入数字水印的数据的行键;

采用预设分组算法,按照待处理数据的数据标识,对所述待处理数据进行分组,获取所述预设数量的待处理数据组,包括:

采用预设哈希算法,将预设的密钥对Hbase数据库中待处理数据的行键进行哈希运算,得到所述行键对应的哈希值;

按照所述哈希值,对所述待处理数据进行分组,获取所述预设数量的待处理数据组与相应组标识。

在一个可选的实现中,采用预设嵌入规则,将一个待嵌入的子数字水印嵌入一组待处理数据组的至少一个待处理数据中,包括:

将所述待处理数据组中每个待处理数据的最低有效值位的数值替换为所述待嵌入的子数字水印;

或者,在所述待处理数据组中每个待处理数据的最低有效值位后增加待嵌入位;

将所述待嵌入的子数字水印添加入所述待处理数据的待嵌入位中。

在一个可选的实现中,所述方法还包括:

将所述数据标识与预设的密钥的对应关系,以及所述预设的密钥对应的待处理数据组的预设数量进行存储;

将所述组标识与相应待嵌入的子数字水印的序号的对应关系进行存储。

或者,执行以下步骤:

采用预设分组算法,按照获取的嵌入数字水印的数据的数据标识,对所述嵌入数字水印的数据进行分组,得到预设数量的嵌入数字水印的数据组与相应组标识,其中,所述预设数量为在水印嵌入时存储的所述数据标识对应的待处理数据组的预设数量;

采用预设提取规则,从所述预设数量的嵌入数字水印的数据组的每个嵌入数字水印的数据组中提取子数字水印,所述预设提取规则与预设嵌入规则互为逆规则;

采用预设重构算法,对提取的预设数量的子数字水印进行重构,得到重构的数字水印序列;

根据所述重构的数字水印序列和存储的预设素数序列,获取数字水印序列以及所述数字水印序列对应的水印信息,所述预设素数序列的元素数目与所述数字水印序列的元素数目相同。

在一个可选的实现中,从每个嵌入数字水印的数据组的每个嵌入数字水印的数据中提取子数字水印,包括:

从每个嵌入数字水印的数据组的每个嵌入数字水印的数据中提取最低有效值;

若所述嵌入数字水印的数据组中提取出的相同最低有效值的数量与所述嵌入数字水印的数据组中嵌入数字水印的数据总数的比值大于预设比例阈值,则将所述相同的最低有效值确定为所述嵌入数字水印的数据组的子数字水印。

在一个可选的实现中,所述数据标识为嵌入数字水印的数据的行键;

采用预设分组算法,按照获取的嵌入数字水印的数据的数据标识,对所述嵌入数字水印的数据进行分组,获取所述预设数量的嵌入数字水印的数据组,包括:

获取存储的数据标识对应的预设的密钥中所述嵌入数字水印的数据的数据标识对应的密钥,以及存储的所述密钥对应的待处理数据组的预设数量;

采用预设哈希算法,将所述密钥对嵌入数字水印的数据的行键进行哈希运算,得到所述行键对应的哈希值;

按照所述哈希值,对所述嵌入数字水印的数据进行分组,获取所述预设数量的嵌入数字水印的数据组与相应组标识。

在一个可选的实现中,预设重构算法包括拉格朗日门限算法和拉格朗日插值多项式算法;

采用预设重构算法,对提取的预设数量的子数字水印进行重构,得到重构的数字水印序列,包括:

根据存储的组标识与相应子数字水印的序号的对应关系,对所述预设数量个子数字水印进行排序,获取数字水印数组;

采用所述拉格朗日门限算法和所述拉格朗日插值多项式算法,对所述数字水印数组进行重构,得到重构的数字水印序列。

上述提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

由于上述实施例中电子设备的各器件解决问题的实施方式以及有益效果可以参见图1和图2所示的实施例中的各步骤来实现,因此,本发明实施例提供的电子设备的具体工作过程和有益效果,在此不复赘述。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的方法。

本领域内的技术人员应明白,本申请实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。

显然,本领域的技术人员可以对本申请实施例中实施例进行各种改动和变型而不脱离本申请实施例中实施例的精神和范围。这样,倘若本申请实施例中实施例的这些修改和变型属于本申请实施例中权利要求及其等同技术的范围之内,则本申请实施例中也意图包含这些改动和变型在内。

相关技术
  • 数据的水印嵌入方法、水印溯源方法及装置
  • 电子水印嵌入运动图像传输系统、电子水印嵌入运动图像传输方法、信息处理装置、通信控制装置、电子水印嵌入运动图像处理程序以及存储了电子水印嵌入运动图像处理程序的存储介质
技术分类

06120112900719