CN111209577B - 添加水印数据的方法、装置、存储介质及电子设备 - Google Patents
添加水印数据的方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111209577B CN111209577B CN201911414955.0A CN201911414955A CN111209577B CN 111209577 B CN111209577 B CN 111209577B CN 201911414955 A CN201911414955 A CN 201911414955A CN 111209577 B CN111209577 B CN 111209577B
- Authority
- CN
- China
- Prior art keywords
- data
- invoice
- item
- watermark
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000003780 insertion Methods 0.000 claims abstract description 54
- 230000037431 insertion Effects 0.000 claims abstract description 54
- 238000004364 calculation method Methods 0.000 claims description 24
- 238000004422 calculation algorithm Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
本公开涉及一种添加水印数据的方法、装置、存储介质及电子设备,该方法,能够根据待发送数据集中的每个发票数据组中包含的发票数据条的第一数量和预设的数据接收方标识,确定上述每个发票数据组内的水印插入位置;根据该待发送数据集中包含的每个发票数据条中的目标发票项目的项目数据,以及预设的数据发送信息,确定上述每个发票数据组对应的目标水印数据条中的该目标发票项目的目标加密项目数据;根据目标加密项目数据生成该目标水印数据条;将该目标水印数据条插入该水印插入位置,以生成附带水印数据条的该待发送数据集。能够在不修改原始数据的前提下,为数据源添加水印,在保证水印的鲁棒性和可用性的同时,提高水印添加过程的适用范围。
Description
技术领域
本公开涉及加密技术领域,具体地,涉及一种添加水印数据的方法、装置、存储介质及电子设备。
背景技术
随着大数据技术的不断发展,用户对各种类型的大数据进行加密和添加水印的需求也越来越多。其中,发票内包含的数据为关系型数据,具体来说,发票的表格中通常包括:品名、规格、单位、数量、单价、金额等发票项目,发票的非表格内容通常包括:票头、字轨号码、用途、客户名称、开票日期、银行开户帐户、开票单位及责任人等项目。在水印添加的相关技术中,现有的水印嵌入方式多为对图像、音频等资源添加水印的方式。但是在这类水印添加方法中,数据源并不是关系型数据,因此,在水印嵌入过程中可能会对数据源中的原始数据进行修改,这与财税发票数据的管理上存在矛盾。另外,在鲁棒性列向嵌入水印的方法中,考虑到鲁棒性、算法复杂度、可用性和数据分组密度等方面,对数据所有者所能发送的数据接收方数量有比较高的限制,使得水印嵌入过程的适用范围小,不利于数据的充分共享。
发明内容
本公开的目的是提供一种添加水印数据的方法、装置、存储介质及电子设备,用于解决现有技术中水印添加过程需要修改原始数据并且使用范围较小的技术问题。
为了实现上述目的,本公开的第一方面提供一种添加水印数据的方法,所述方法包括:
根据待发送数据集中的每个发票数据组中包含的发票数据条的第一数量和预设的数据接收方标识,确定所述每个发票数据组内的水印插入位置,其中,所述发票数据条由发票的多个发票项目的项目数据组成;
根据所述待发送数据集中包含的每个发票数据条中的目标发票项目的项目数据,以及预设的数据发送信息,确定所述每个发票数据组对应的目标水印数据条中的所述目标发票项目的目标加密项目数据,所述数据发送信息包括:所述数据接收方标识、数据发送方密钥,以及预设的待发送数据集标识、数据发送方标识、数据发送方编号、数据接收方编号和发送时间信息;
根据所述目标加密项目数据生成所述目标水印数据条;
将所述目标水印数据条插入所述水印插入位置,以生成附带水印数据条的所述待发送数据集。
可选的,在所述根据待发送数据集中的每个发票数据组中包含的发票数据条的数量和预设的数据接收方标识,确定所述每个发票数据组对应的水印插入位置之前,所述方法还包括:
通过预设的水印数量计算公式,根据所述待发送数据集中包含的发票数据条的总数量和所述待发送数据集的保密等级信息确定需要插入的水印数据条的第二数量;
将所述待发送数据集中包含的发票数据条划分为所述第二数量的发票数据组,其中,每个所述发票数据组中包含所述第一数量的发票数据条,所述第一数量等于所述总数量除以所述第二数量的商。
可选的,所述目标发票项目包括:字轨号码项目、单价项目和金额项目,所述根据所述待发送数据集中包含的每个发票数据条中的目标发票项目的项目数据,以及预设的数据发送信息,确定所述每个发票数据组对应的目标水印数据条中的所述目标发票项目的加密项目数据,包括:
根据所述数据发送信息确定每个所述目标水印数据条中的字轨号码项目的第一加密项目数据;
根据所述数据接收方编号以及所述待发送数据集中的所有发票数据条中的金额项目的第三项目数据,确定每个所述目标水印数据条中的金额项目的第二加密项目数据;以及,
根据第一发票数据组内的每个发票数据条的单价项目的第一项目数据,以及第二发票数据组内的每个发票数据条的单价项目的第二项目数据,确定所述第一发票数据组对应的目标水印数据条中的单价项目的第三加密项目数据,所述第一发票数据组为所述目标数量的发票数据组中的任一发票数据组,所述第二发票数据组为所述第一发票数据组的前一个发票数据组;
将所述第一加密项目数据、所述第二加密项目数据和所述第三加密项目数据作为所述目标加密项目数据。
可选的,所述根据所述数据发送信息确定每个所述目标水印数据条中的字轨号码项目的第一加密项目数据,包括:
通过预设的第一加密算法对所述数据接收方标识、所述数据发送方密钥,所述待发送数据集标识、所述数据发送方标识、所述数据发送方编号和所述发送时间信息进行摘要处理,以获取第一溯源密文;
通过预设的第二加密算法和所述数据接收方标识对所述第一溯源密文进行加密,以获取第二溯源密文,作为所述第一加密项目数据。
可选的,所述根据所述数据接收方编号以及所述待发送数据集中的所有发票数据条中的金额项目的第三项目数据,确定每个所述目标水印数据条中的金额项目的第三加密项目数据,包括:
获取所述所有发票数据条中的金额项目的第三项目数据的方差;
将所述方差和所述数据接收方编号进行异或运算,以得到所述第二加密项目数据。
可选的,所述根据第一发票数据组内的每个发票数据条的单价项目的第一项目数据,以及第二发票数据组内的每个发票数据条的单价项目的第二项目数据,确定所述第一发票数据组对应的目标水印数据条中的单价项目的第三加密项目数据,包括:
通过预设的第一加密算法对所述第一项目数据和所述第二项目数据进行摘要处理,以获取所述第三加密项目数据。
可选的,所述根据待发送数据集中的每个发票数据组中包含的发票数据条的数量和预设的数据接收方标识,确定所述每个发票数据组内的水印插入位置,包括:
将所述第一数量和所述数据接收方标识作为预设的水印位置计算公式的输入,以获取所述水印位置计算公式输出的水印插入位置编号;其中,
所述水印位置计算公式表示为:
其中,所述n表示所述水印插入位置编号,所述R为随机参数,所述JID为所述数据接收方标识,所述m为所述第一数量;
根据所述水印插入位置编号确定所述水印插入位置。
在本公开的第二方面提供一种添加水印数据的装置,所述装置包括:
位置确定模块,用于根据待发送数据集中的每个发票数据组中包含的发票数据条的第一数量和预设的数据接收方标识,确定所述每个发票数据组内的水印插入位置,其中,所述发票数据条由发票的多个发票项目的项目数据组成;
加密数据确定模块,用于根据所述待发送数据集中包含的每个发票数据条中的目标发票项目的项目数据,以及预设的数据发送信息,确定所述每个发票数据组对应的目标水印数据条中的所述目标发票项目的目标加密项目数据,所述数据发送信息包括:所述数据接收方标识、数据发送方密钥,以及预设的待发送数据集标识、数据发送方标识、数据发送方编号、数据接收方编号和发送时间信息;
水印生成模块,用于根据所述目标加密项目数据生成所述目标水印数据条;
水印插入模块,用于将所述目标水印数据条插入所述水印插入位置,以生成附带水印数据条的所述待发送数据集。
可选的,所述装置还包括:
水印数量确定模块,用于通过预设的水印数量计算公式,根据所述待发送数据集中包含的发票数据条的总数量和所述待发送数据集的保密等级信息确定需要插入的水印数据条的第二数量;
数据组划分模块,用于将所述待发送数据集中包含的发票数据条划分为所述第二数量的发票数据组,其中,每个所述发票数据组中包含所述第一数量的发票数据条,所述第一数量等于所述总数量除以所述第二数量的商。
可选的,所述目标发票项目包括:字轨号码项目、单价项目和金额项目,所述加密数据确定模块,用于:
根据所述数据发送信息确定每个所述目标水印数据条中的字轨号码项目的第一加密项目数据;
根据所述数据接收方编号以及所述待发送数据集中的所有发票数据条中的金额项目的第三项目数据,确定每个所述目标水印数据条中的金额项目的第二加密项目数据;以及,
根据第一发票数据组内的每个发票数据条的单价项目的第一项目数据,以及第二发票数据组内的每个发票数据条的单价项目的第二项目数据,确定所述第一发票数据组对应的目标水印数据条中的单价项目的第三加密项目数据,所述第一发票数据组为所述目标数量的发票数据组中的任一发票数据组,所述第二发票数据组为所述第一发票数据组的前一个发票数据组;
将所述第一加密项目数据、所述第二加密项目数据和所述第三加密项目数据作为所述目标加密项目数据。
可选的,所述加密数据确定模块,用于:
通过预设的第一加密算法对所述数据接收方标识、所述数据发送方密钥,所述待发送数据集标识、所述数据发送方标识、所述数据发送方编号和所述发送时间信息进行摘要处理,以获取第一溯源密文;
通过预设的第二加密算法和所述数据接收方标识对所述第一溯源密文进行加密,以获取第二溯源密文,作为所述第一加密项目数据。
可选的,所述加密数据确定模块,用于:
获取所述所有发票数据条中的金额项目的第三项目数据的方差;
将所述方差和所述数据接收方编号进行异或运算,以得到所述第二加密项目数据。
可选的,所述加密数据确定模块,用于:
通过预设的第一加密算法对所述第一项目数据和所述第二项目数据进行摘要处理,以获取所述第三加密项目数据。
可选的,所述位置确定模块,用于:
将所述第一数量和所述数据接收方标识作为预设的水印位置计算公式的输入,以获取所述水印位置计算公式输出的水印插入位置编号;其中,
所述水印位置计算公式表示为:
其中,所述n表示所述水印插入位置编号,所述R为随机参数,所述JID为所述数据接收方标识,所述m为所述第一数量;
根据所述水印插入位置编号确定所述水印插入位置。
在本公开的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以上第一方面所述方法的步骤。
在本公开的第四方面提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现以上第一方面所述方法的步骤。
上述技术方案,能够根据待发送数据集中的每个发票数据组中包含的发票数据条的第一数量和预设的数据接收方标识,确定上述每个发票数据组内的水印插入位置,其中,该发票数据条由发票的多个发票项目的项目数据组成;根据该待发送数据集中包含的每个发票数据条中的目标发票项目的项目数据,以及预设的数据发送信息,确定上述每个发票数据组对应的目标水印数据条中的该目标发票项目的目标加密项目数据,该数据发送信息包括:该数据接收方标识、数据发送方密钥,以及预设的待发送数据集标识、数据发送方标识、数据发送方编号、数据接收方编号和发送时间信息;根据该目标加密项目数据生成该目标水印数据条;将该目标水印数据条插入该水印插入位置,以生成附带水印数据条的该待发送数据集。能够在不修改原始数据的前提下,为数据源添加水印,在保证水印的鲁棒性和可用性的同时,提高水印添加过程的适用范围。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开一示例性实施例示出的一种添加水印数据的方法的流程图;
图2是本公开一示例性实施例示出的另一种添加水印数据的方法的流程图;
图3是根据图2所示实施例示出的一种生成加密项目数据的方法的流程图;
图4是根据图2所示实施例示出的一种确定水印数据插入位置的方法的流程图;
图5是本公开一示例性实施例示出的一种添加水印数据的装置的框图;
图6是根据图5所示实施例示出的另一种添加水印数据的装置的框图;
图7是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1是本公开一示例性实施例示出的一种添加水印数据的方法的流程图,参见图1,该方法可以包括以下步骤:
步骤101,根据待发送数据集中的每个发票数据组中包含的发票数据条的第一数量和预设的数据接收方标识,确定上述每个发票数据组内的水印插入位置。
其中,该发票数据条由发票的多个发票项目的项目数据组成。
示例地,该发票包括:品名、规格、单位、数量、单价、金额、票头、字轨号码、用途、客户名称、开票日期、银行开户帐户、开票单位及责任人等发票项目。其中,每个发票项目作为一纵列,每个发票内的所有项目数据作为一横行,即为该待发送数据集。该发票数据条即为该待发送数据集中的一横行。可以将该待发送数据集中的多行分为多个组,在每个组里插入一个水印数据条(实际为模拟出一行发票数据添加在发票数据组里)。在上述的添加过程中,需要确定两个方面,首先,需要确定插入水印数据条的位置(组内的第几行),其次,需要确定插入的水印数据条中的具体内容(即该水印数据条中的项目数据)。在该步骤101中,先根据待发送数据集中的每个发票数据组中包含的发票数据条的第一数量和预设的数据接收方标识,确定插入水印数据条的位置。
步骤102,根据该待发送数据集中包含的每个发票数据条中的目标发票项目的项目数据,以及预设的数据发送信息,确定上述每个发票数据组对应的目标水印数据条中的该目标发票项目的目标加密项目数据。
其中,该数据发送信息包括:该数据接收方标识、数据发送方密钥,以及预设的待发送数据集标识、数据发送方标识、数据发送方编号、数据接收方编号和发送时间信息。
步骤103,根据该目标加密项目数据生成该目标水印数据条。
示例地,将获得的多个目标加密项目数据按照待发送数据集中原有的发票项目的顺序进行排列,即可获取一个目标水印数据条。需要说明的是,在某些情况下,步骤102中不会对发票中的每个项目对应的目标加密项目数据进行模拟。例如,在下列步骤1021-1023中,仅对字轨号码项目、金额项目和单价项目进行目标加密项目数据的计算。针对于发票中的其他项目,可以根据待发送数据集中同属于一个项目的项目数据对其他项目的加密项目数据进行随机生成,以补全其他项目。
步骤104,将该目标水印数据条插入该水印插入位置,以生成附带水印数据条的该待发送数据集。
示例地,在上述步骤103后,每个发票数据组都生成了对应的目标水印数据条,将一个发票数据组对应的目标水印数据条添加至上述步骤101确定的该发票数据组对应的水印插入位置中,就可以获取到附带水印数据条的该待发送数据集。例如,该待发送数据集中包含100个发票数据条,需要插入其中的水印数据条为5个,如此,附带水印数据条的该待发送数据集包含105个数据条。在接收者看来,无法区分这105个数据条中哪些是发票数据条,哪些是水印数据条,而只有发送方(或称加入该水印数据条的一方)能够分辨。
综上所述,本公开提供的技术方案,能够根据待发送数据集中的每个发票数据组中包含的发票数据条的第一数量和预设的数据接收方标识,确定上述每个发票数据组内的水印插入位置,其中,该发票数据条由发票的多个发票项目的项目数据组成;根据该待发送数据集中包含的每个发票数据条中的目标发票项目的项目数据,以及预设的数据发送信息,确定上述每个发票数据组对应的目标水印数据条中的该目标发票项目的目标加密项目数据,该数据发送信息包括:该数据接收方标识、数据发送方密钥,以及预设的待发送数据集标识、数据发送方标识、数据发送方编号、数据接收方编号和发送时间信息;根据该目标加密项目数据生成该目标水印数据条;将该目标水印数据条插入该水印插入位置,以生成附带水印数据条的该待发送数据集。能够在不修改原始数据的前提下,为数据源添加水印,在保证水印的鲁棒性和可用性的同时,提高水印添加过程的适用范围。
图2是本公开一示例性实施例示出的另一种添加水印数据的方法的流程图,参见图2,该方法还可以包括以下步骤:
步骤105,通过预设的水印数量计算公式,根据该待发送数据集中包含的发票数据条的总数量和该待发送数据集的保密等级信息确定需要插入的水印数据条的第二数量。
示例地,该步骤105的基本思想是,向体量大和密级高的待发送数据集插入更多的水印数据条。水印密度与数据接收方无关,即,对于同一份大数据,不同接收方收到的数据集中包含的水印数据条保持一致。
步骤106,将该待发送数据集中包含的发票数据条划分为该第二数量的发票数据组。
其中,每个该发票数据组中包含该第一数量的发票数据条,该第一数量等于该总数量除以该第二数量的商。
示例地,例如,该待发送数据集中包含100个发票数据条,需要插入其中的水印数据条为5个,因此,可以将100个发票数据条分为5组,每个发票数据组内插入一个水印数据条,如此,即可以将5个水印数据条均匀地插入该100个发票数据条中。
图3是根据图2所示实施例示出的一种生成加密项目数据的方法的流程图,参见图3,该目标发票项目包括:字轨号码项目、单价项目和金额项目,该步骤102可以包括以下步骤:
步骤1021,根据该数据发送信息确定每个该目标水印数据条中的字轨号码项目的第一加密项目数据。
示例地,该步骤1021包括:通过预设的第一加密算法对该数据接收方标识、该数据发送方密钥,该待发送数据集标识、该数据发送方标识、该数据发送方编号和该发送时间信息进行摘要处理,以获取第一溯源密文;通过预设的第二加密算法和该数据接收方标识对该第一溯源密文进行加密,以获取第二溯源密文,作为该第一加密项目数据。其中,该第一加密算法为SM3算法,该数据发送方密钥为通过Hadoop大数据平台获取到的密钥,该第二加密算法为SM9算法。该数据接收方标识、该待发送数据集标识、该数据发送方标识和该数据发送方编号为数据发送方根据具体的业务情况自行设定的标识。该发送时间信息可以为将要把该待发送数据集发送给接收方的时间点。在通过这些信息添加水印数据条后,还可以保存这些信息,以在数据集泄漏后通过这些信息进行追溯。
步骤1022,根据该数据接收方编号以及该待发送数据集中的所有发票数据条中的金额项目的第三项目数据,确定每个该目标水印数据条中的金额项目的第二加密项目数据。
示例地,该步骤1022包括:获取上述所有发票数据条中的金额项目的第三项目数据的方差;将该方差和该数据接收方编号进行异或运算,以得到该第二加密项目数据。在异或运算时,需要把方差和该数据接收方编号的末位对齐,进而进行该异或运算。在数据接收方恶意删除待发送数据集的字轨号码项目或单价项目的情况下,可以通过该金额项目中包含的数据接收方的标识识别该数据接收方。
步骤1023,根据第一发票数据组内的每个发票数据条的单价项目的第一项目数据,以及第二发票数据组内的每个发票数据条的单价项目的第二项目数据,确定该第一发票数据组对应的目标水印数据条中的单价项目的第三加密项目数据。
其中,该第一发票数据组为该目标数量的发票数据组中的任一发票数据组,该第二发票数据组为该第一发票数据组的前一个发票数据组。
示例地,该步骤1023包括:通过预设的第一加密算法对该第一项目数据和该第二项目数据进行摘要处理,以获取该第三加密项目数据。需要说明的是,针对于每个水印数据条,该第一加密项目数据和第二加密项目数据是完全相同的,而该第三加密项目数据是不同的。例如,若共有5个发票数据组,则上述5个发票数据组中每组的水印数据条中(共5个水印数据条)的字轨号码项目和金额项目对应的第一加密项目数据和第二加密项目数据是完全相同的,而单价项目对应的第三加密项目数据是不同的。另外,若该第一发票数据组为上述所有发票数据组中的第1个发票数据组(即没有与该第一发票数据组对应的第二发票数据组)时,只根据该第一发票数据组内的每个发票数据条的单价项目的第一项目数据,即可确定与该第一发票数据组对应的第三加密项目数据。
步骤1024,将该第一加密项目数据、该第二加密项目数据和该第三加密项目数据作为该目标加密项目数据。
图4是根据图2所示实施例示出的一种确定水印数据插入位置的方法的流程图,参见图4,该步骤101可以包括以下步骤:
步骤1011,将该第一数量和该数据接收方标识作为预设的水印位置计算公式的输入,以获取该水印位置计算公式输出的水印插入位置编号。
示例地,其中,该水印位置计算公式表示为:
其中,该n表示该水印插入位置编号,该R为随机参数,该JID为该数据接收方标识,该m为该第一数量。
步骤1012,根据该水印插入位置编号确定该水印插入位置。
示例地,以每个发票数据组中有20个发票数据条为例,若通过上述步骤1011计算出该水印插入位置编号为3,则将该水印数据条插入该发票数据组中的20个发票数据条中的第3个发票数据条之后。
综上所述,本公开提供的技术方案,能够根据待发送数据集中的每个发票数据组中包含的发票数据条的第一数量和预设的数据接收方标识,确定上述每个发票数据组内的水印插入位置,其中,该发票数据条由发票的多个发票项目的项目数据组成;根据该待发送数据集中包含的每个发票数据条中的目标发票项目的项目数据,以及预设的数据发送信息,确定上述每个发票数据组对应的目标水印数据条中的该目标发票项目的目标加密项目数据,该数据发送信息包括:该数据接收方标识、数据发送方密钥,以及预设的待发送数据集标识、数据发送方标识、数据发送方编号、数据接收方编号和发送时间信息;根据该目标加密项目数据生成该目标水印数据条;将该目标水印数据条插入该水印插入位置,以生成附带水印数据条的该待发送数据集。能够在不修改原始数据的前提下,为数据源添加水印,在保证水印的鲁棒性和可用性的同时,提高水印添加过程的适用范围。
图5是本公开一示例性实施例示出的一种添加水印数据的装置的框图,参见图5,该装置500包括:
位置确定模块510,用于根据待发送数据集中的每个发票数据组中包含的发票数据条的第一数量和预设的数据接收方标识,确定上述每个发票数据组内的水印插入位置,其中,该发票数据条由发票的多个发票项目的项目数据组成;
加密数据确定模块520,用于根据该待发送数据集中包含的每个发票数据条中的目标发票项目的项目数据,以及预设的数据发送信息,确定上述每个发票数据组对应的目标水印数据条中的该目标发票项目的目标加密项目数据,该数据发送信息包括:该数据接收方标识、数据发送方密钥,以及预设的待发送数据集标识、数据发送方标识、数据发送方编号、数据接收方编号和发送时间信息;
水印生成模块530,用于根据该目标加密项目数据生成该目标水印数据条;
水印插入模块540,用于将该目标水印数据条插入该水印插入位置,以生成附带水印数据条的该待发送数据集。
图6是根据图5所示实施例示出的另一种添加水印数据的装置的框图,参见图6,该装置500还包括:
水印数量确定模块550,用于通过预设的水印数量计算公式,根据该待发送数据集中包含的发票数据条的总数量和该待发送数据集的保密等级信息确定需要插入的水印数据条的第二数量;
数据组划分模块560,用于将该待发送数据集中包含的发票数据条划分为该第二数量的发票数据组,其中,每个该发票数据组中包含该第一数量的发票数据条,该第一数量等于该总数量除以该第二数量的商。
可选的,该目标发票项目包括:字轨号码项目、单价项目和金额项目,该加密数据确定模块520,用于:
根据该数据发送信息确定每个该目标水印数据条中的字轨号码项目的第一加密项目数据;
根据该数据接收方编号以及该待发送数据集中的所有发票数据条中的金额项目的第三项目数据,确定每个该目标水印数据条中的金额项目的第二加密项目数据;以及,
根据第一发票数据组内的每个发票数据条的单价项目的第一项目数据,以及第二发票数据组内的每个发票数据条的单价项目的第二项目数据,确定该第一发票数据组对应的目标水印数据条中的单价项目的第三加密项目数据,该第一发票数据组为该目标数量的发票数据组中的任一发票数据组,该第二发票数据组为该第一发票数据组的前一个发票数据组;
将该第一加密项目数据、该第二加密项目数据和该第三加密项目数据作为该目标加密项目数据。
可选的,该加密数据确定模块520,用于:
通过预设的第一加密算法对该数据接收方标识、该数据发送方密钥,该待发送数据集标识、该数据发送方标识、该数据发送方编号和该发送时间信息进行摘要处理,以获取第一溯源密文;
通过预设的第二加密算法和该数据接收方标识对该第一溯源密文进行加密,以获取第二溯源密文,作为该第一加密项目数据。
可选的,该加密数据确定模块520,用于:
获取上述所有发票数据条中的金额项目的第三项目数据的方差;
将该方差和该数据接收方编号进行异或运算,以得到该第二加密项目数据。
可选的,该加密数据确定模块520,用于:
通过预设的第一加密算法对该第一项目数据和该第二项目数据进行摘要处理,以获取该第三加密项目数据。
可选的,该位置确定模块510,用于:
将该第一数量和该数据接收方标识作为预设的水印位置计算公式的输入,以获取该水印位置计算公式输出的水印插入位置编号;其中,
该水印位置计算公式表示为:
其中,该n表示该水印插入位置编号,该R为随机参数,该JID为该数据接收方标识,该m为该第一数量;
根据该水印插入位置编号确定该水印插入位置。
综上所述,本公开提供的技术方案,能够根据待发送数据集中的每个发票数据组中包含的发票数据条的第一数量和预设的数据接收方标识,确定上述每个发票数据组内的水印插入位置,其中,该发票数据条由发票的多个发票项目的项目数据组成;根据该待发送数据集中包含的每个发票数据条中的目标发票项目的项目数据,以及预设的数据发送信息,确定上述每个发票数据组对应的目标水印数据条中的该目标发票项目的目标加密项目数据,该数据发送信息包括:该数据接收方标识、数据发送方密钥,以及预设的待发送数据集标识、数据发送方标识、数据发送方编号、数据接收方编号和发送时间信息;根据该目标加密项目数据生成该目标水印数据条;将该目标水印数据条插入该水印插入位置,以生成附带水印数据条的该待发送数据集。能够在不修改原始数据的前提下,为数据源添加水印,在保证水印的鲁棒性和可用性的同时,提高水印添加过程的适用范围。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种电子设备的框图。参照图7,电子设备700包括处理器722,其数量可以为一个或多个,以及存储器732,用于存储可由处理器722执行的计算机程序。存储器732中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器722可以被配置为执行该计算机程序,以执行上述的添加水印数据的方法。
另外,电子设备700还可以包括电源组件726和通信组件750,该电源组件726可以被配置为执行电子设备700的电源管理,该通信组件750可以被配置为实现电子设备700的通信,例如,有线或无线通信。此外,该电子设备700还可以包括输入/输出(I/O)接口758。电子设备700可以操作基于存储在存储器732的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的添加水印数据的方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器732,上述程序指令可由电子设备700的处理器722执行以完成上述的添加水印数据的方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (14)
1.添加水印数据的方法,其特征在于,所述方法包括:
根据待发送数据集中的每个发票数据组中包含的发票数据条的第一数量和预设的数据接收方标识,确定所述每个发票数据组内的水印插入位置,其中,所述发票数据条由发票的多个发票项目的项目数据组成;
根据所述待发送数据集中包含的每个发票数据条中的目标发票项目的项目数据,以及预设的数据发送信息,确定所述每个发票数据组对应的目标水印数据条中的所述目标发票项目的目标加密项目数据,所述数据发送信息包括:所述数据接收方标识、数据发送方密钥,以及预设的待发送数据集标识、数据发送方标识、数据发送方编号、数据接收方编号和发送时间信息;
根据所述目标加密项目数据生成所述目标水印数据条;
将所述目标水印数据条插入所述水印插入位置,以生成附带水印数据条的所述待发送数据集;
所述目标发票项目包括:字轨号码项目、单价项目和金额项目,所述根据所述待发送数据集中包含的每个发票数据条中的目标发票项目的项目数据,以及预设的数据发送信息,确定所述每个发票数据组对应的目标水印数据条中的所述目标发票项目的目标加密项目数据,包括:
根据所述数据发送信息确定每个所述目标水印数据条中的字轨号码项目的第一加密项目数据;
根据所述数据接收方编号以及所述待发送数据集中的所有发票数据条中的金额项目的第三项目数据,确定每个所述目标水印数据条中的金额项目的第二加密项目数据;以及,
根据第一发票数据组内的每个发票数据条的单价项目的第一项目数据,以及第二发票数据组内的每个发票数据条的单价项目的第二项目数据,确定所述第一发票数据组对应的目标水印数据条中的单价项目的第三加密项目数据,所述第一发票数据组为目标数量的发票数据组中的任一发票数据组,所述第二发票数据组为所述第一发票数据组的前一个发票数据组;
将所述第一加密项目数据、所述第二加密项目数据和所述第三加密项目数据作为所述目标加密项目数据。
2.根据权利要求1所述的方法,其特征在于,在所述根据待发送数据集中的每个发票数据组中包含的发票数据条的第一数量和预设的数据接收方标识,确定所述每个发票数据组内的水印插入位置之前,所述方法还包括:
通过预设的水印数量计算公式,根据所述待发送数据集中包含的发票数据条的总数量和所述待发送数据集的保密等级信息确定需要插入的水印数据条的第二数量;
将所述待发送数据集中包含的发票数据条划分为所述第二数量的发票数据组,其中,每个所述发票数据组中包含所述第一数量的发票数据条,所述第一数量等于所述总数量除以所述第二数量的商。
3.根据权利要求2所述的方法,其特征在于,所述根据所述数据发送信息确定每个所述目标水印数据条中的字轨号码项目的第一加密项目数据,包括:
通过预设的第一加密算法对所述数据接收方标识、所述数据发送方密钥,所述待发送数据集标识、所述数据发送方标识、所述数据发送方编号和所述发送时间信息进行摘要处理,以获取第一溯源密文;
通过预设的第二加密算法和所述数据接收方标识对所述第一溯源密文进行加密,以获取第二溯源密文,作为所述第一加密项目数据。
4.根据权利要求2所述的方法,其特征在于,所述根据所述数据接收方编号以及所述待发送数据集中的所有发票数据条中的金额项目的第三项目数据,确定每个所述目标水印数据条中的金额项目的第三加密项目数据,包括:
获取所述所有发票数据条中的金额项目的第三项目数据的方差;
将所述方差和所述数据接收方编号进行异或运算,以得到所述第二加密项目数据。
5.根据权利要求2所述的方法,其特征在于,所述根据第一发票数据组内的每个发票数据条的单价项目的第一项目数据,以及第二发票数据组内的每个发票数据条的单价项目的第二项目数据,确定所述第一发票数据组对应的目标水印数据条中的单价项目的第三加密项目数据,包括:
通过预设的第一加密算法对所述第一项目数据和所述第二项目数据进行摘要处理,以获取所述第三加密项目数据。
7.添加水印数据的装置,其特征在于,所述装置包括:
位置确定模块,用于根据待发送数据集中的每个发票数据组中包含的发票数据条的第一数量和预设的数据接收方标识,确定所述每个发票数据组内的水印插入位置,其中,所述发票数据条由发票的多个发票项目的项目数据组成;
加密数据确定模块,用于根据所述待发送数据集中包含的每个发票数据条中的目标发票项目的项目数据,以及预设的数据发送信息,确定所述每个发票数据组对应的目标水印数据条中的所述目标发票项目的目标加密项目数据,所述数据发送信息包括:所述数据接收方标识、数据发送方密钥,以及预设的待发送数据集标识、数据发送方标识、数据发送方编号、数据接收方编号和发送时间信息;
水印生成模块,用于根据所述目标加密项目数据生成所述目标水印数据条;
水印插入模块,用于将所述目标水印数据条插入所述水印插入位置,以生成附带水印数据条的所述待发送数据集;
所述目标发票项目包括:字轨号码项目、单价项目和金额项目,所述加密数据确定模块,用于:
根据所述数据发送信息确定每个所述目标水印数据条中的字轨号码项目的第一加密项目数据;
根据所述数据接收方编号以及所述待发送数据集中的所有发票数据条中的金额项目的第三项目数据,确定每个所述目标水印数据条中的金额项目的第二加密项目数据;以及,
根据第一发票数据组内的每个发票数据条的单价项目的第一项目数据,以及第二发票数据组内的每个发票数据条的单价项目的第二项目数据,确定所述第一发票数据组对应的目标水印数据条中的单价项目的第三加密项目数据,所述第一发票数据组为目标数量的发票数据组中的任一发票数据组,所述第二发票数据组为所述第一发票数据组的前一个发票数据组;
将所述第一加密项目数据、所述第二加密项目数据和所述第三加密项目数据作为所述目标加密项目数据。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
水印数量确定模块,用于通过预设的水印数量计算公式,根据所述待发送数据集中包含的发票数据条的总数量和所述待发送数据集的保密等级信息确定需要插入的水印数据条的第二数量;
数据组划分模块,用于将所述待发送数据集中包含的发票数据条划分为所述第二数量的发票数据组,其中,每个所述发票数据组中包含所述第一数量的发票数据条,所述第一数量等于所述总数量除以所述第二数量的商。
9.根据权利要求8所述的装置,其特征在于,所述加密数据确定模块,用于:
通过预设的第一加密算法对所述数据接收方标识、所述数据发送方密钥,所述待发送数据集标识、所述数据发送方标识、所述数据发送方编号和所述发送时间信息进行摘要处理,以获取第一溯源密文;
通过预设的第二加密算法和所述数据接收方标识对所述第一溯源密文进行加密,以获取第二溯源密文,作为所述第一加密项目数据。
10.根据权利要求8所述的装置,其特征在于,所述加密数据确定模块,用于:
获取所述所有发票数据条中的金额项目的第三项目数据的方差;
将所述方差和所述数据接收方编号进行异或运算,以得到所述第二加密项目数据。
11.根据权利要求8所述的装置,其特征在于,所述加密数据确定模块,用于:
通过预设的第一加密算法对所述第一项目数据和所述第二项目数据进行摘要处理,以获取所述第三加密项目数据。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6中任一项所述方法的步骤。
14.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911414955.0A CN111209577B (zh) | 2019-12-31 | 2019-12-31 | 添加水印数据的方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911414955.0A CN111209577B (zh) | 2019-12-31 | 2019-12-31 | 添加水印数据的方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111209577A CN111209577A (zh) | 2020-05-29 |
CN111209577B true CN111209577B (zh) | 2022-09-09 |
Family
ID=70786465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911414955.0A Active CN111209577B (zh) | 2019-12-31 | 2019-12-31 | 添加水印数据的方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111209577B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112769786B (zh) * | 2020-12-29 | 2022-11-01 | 杭州趣链科技有限公司 | 基于不经意传输规则的数据传输方法、装置和计算机设备 |
CN115987682A (zh) * | 2023-02-02 | 2023-04-18 | 浙江网商银行股份有限公司 | 数据处理方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7720250B2 (en) * | 2005-05-23 | 2010-05-18 | George Mason University | Method and apparatus for watermarking stream data |
CN104112201B (zh) * | 2013-04-22 | 2018-05-18 | 中国银联股份有限公司 | 电子票据数据的发送和接收方法及设备 |
CN104899822B (zh) * | 2015-06-17 | 2018-04-27 | 西南交通大学 | 一种能定位pdf电子发票篡改的水印嵌入与认证方法 |
-
2019
- 2019-12-31 CN CN201911414955.0A patent/CN111209577B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111209577A (zh) | 2020-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107493273A (zh) | 身份认证方法、系统及计算机可读存储介质 | |
Katzenbeisser et al. | A buyer–seller watermarking protocol based on secure embedding | |
CN104980278B (zh) | 验证生物特征图像的可用性的方法和装置 | |
CN111191284A (zh) | 一种基于区块链技术的敏感信息司法存证的处理方法、装置及系统 | |
CN107911222B (zh) | 数字签名生成、验证方法及其设备和存储介质 | |
CN107592202A (zh) | 应用签名方法、装置、系统、计算设备及存储介质 | |
CN109754226B (zh) | 数据管理方法、设备和存储介质 | |
CN112434319B (zh) | 一种用于电子文件的数据加密方法及装置 | |
CN111209577B (zh) | 添加水印数据的方法、装置、存储介质及电子设备 | |
CN109120573B (zh) | 传输密钥生成方法、终端及服务器 | |
CN114756895B (zh) | 基于同态加密的匿踪数据核验方法及系统 | |
CN106599723A (zh) | 一种文件加密方法及装置、文件解密方法及装置 | |
US9154301B2 (en) | Location information verification | |
CN104168117B (zh) | 一种语音数字签名方法 | |
CN105653902B (zh) | 软件注册方法和装置,注册码生成方法和装置 | |
CN110826091B (zh) | 一种文件签名方法、装置、电子设备及可读存储介质 | |
CN113329004B (zh) | 一种认证方法、系统及装置 | |
CN108900472B (zh) | 信息的传输方法和装置 | |
CN109788349A (zh) | 一种探测计算能力的方法及相关装置 | |
CN108833104A (zh) | 一种文件的签署方法、验证方法及装置 | |
CN116702103A (zh) | 数据库水印处理方法、数据库水印溯源方法及装置 | |
CN116361833A (zh) | 校验方法、装置及终端设备 | |
CN111552950A (zh) | 一种软件授权方法、装置及计算机可读存储介质 | |
CN113505348B (zh) | 一种数据的水印嵌入方法、验证方法及装置 | |
CN109698750A (zh) | 区块链的区块生成方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |