CN112016061A - 一种基于鲁棒水印技术的Excel文档数据保护方法 - Google Patents
一种基于鲁棒水印技术的Excel文档数据保护方法 Download PDFInfo
- Publication number
- CN112016061A CN112016061A CN201911290551.5A CN201911290551A CN112016061A CN 112016061 A CN112016061 A CN 112016061A CN 201911290551 A CN201911290551 A CN 201911290551A CN 112016061 A CN112016061 A CN 112016061A
- Authority
- CN
- China
- Prior art keywords
- watermark
- key
- packet
- data
- embedded
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000008569 process Effects 0.000 claims abstract description 37
- 238000007781 pre-processing Methods 0.000 claims abstract description 26
- 238000012937 correction Methods 0.000 claims abstract description 17
- 238000000605 extraction Methods 0.000 claims abstract description 12
- 239000011159 matrix material Substances 0.000 claims description 20
- 125000004122 cyclic group Chemical group 0.000 claims description 15
- 230000007704 transition Effects 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 8
- 238000009827 uniform distribution Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 238000013461 design Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research 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/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
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于鲁棒水印技术的Excel文档数据保护方法,水印信息支持大小写字母、数字、特殊符号和汉字,水印容量能满足使用的需求。包括按字段排序、整行删除、添加行或列以及随机修改单元格的值。算法首先对文档进行解析,把文档变成类似数据库结构的若干个键值对,再用每个键生成哈希码,产生伪随机序列;然后对水印信息进行编码,包括纠删编码和纠错编码;最后对每个键值对进行嵌入。其中预处理步骤生成的伪随机序列被用于确定编码过程中的参数以及确定嵌入键值对的位置。哈希码生成过程还额外使用一个密钥以保证安全性。水印提取与嵌入过程相似,包括预处理、提取编码后水印信息、纠错码解码、置信度传播译码,最终得到嵌入的水印序列。
Description
技术领域
本发明涉及数字水印技术领域,提出了一种Excel水印的嵌入方法,可以在Excel文档中嵌入一定量的信息。水印的嵌入既能保证数据失真很小,又能使含水印文档抵抗各种攻击,包括表格的字段排序、行删除、行添加、列添加、随机改值等,具有一定的鲁棒性,对于 Excel文档中数据的保护具有一定的实用意义。
背景技术
随着信息技术与网络的发展,多媒体、文档等数字内容的传播变得越来越便捷,但这也带来了一些问题,比如非法篡改、复制等,因此,版权和数据的保护问题刻不容缓。Excel作为一个功能丰富、便捷易用的电子表格软件,在企业、机关的日常工作中都有着极为广泛的应用。在很多情况下,Excel文档存储的数据是非公开的,一旦其被非法上传到互联网,造成数据泄露,就可能导致严重的后果。运用鲁棒水印技术就可以确认文档的所有者,并准确定位到泄露源,追究其责任。
近年来对于鲁棒水印的研究主要集中在多媒体产品上,包括视频、图像、音频等。文本水印的方法包括基于文档结构(比如移动行和列来嵌入水印)、基于语义(比如调换近义词来嵌入水印)、基于语法(比如利用英文中的介词、连词嵌入水印)、转换为图片再嵌入水印等等。显然这些方法对于以数值型数据为主的Excel文档并不适用。数据库的鲁棒水印则主要有基于无意义字符串、基于图像信息、基于分类数据、基于可逆等方法,若是照搬到Excel水印中,就会因为没有利用 Excel中电子表格的特性,而不能平衡不可见性、水印容量与鲁棒性三者之间的关系。
发明内容
本发明的目的在于提供一种基于鲁棒水印技术的Excel文档数据保护方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于鲁棒水印技术的Excel文档数据保护方法,其特征在于:该方法可以抵抗对 Excel的多种常见攻击,包括按字段排序、整行删除、添加行或列以及随机修改单元格的值,同时能够保证数据的失真很小,其方法如下,
S1:以一个Excel电子表格文档为水印信息的嵌入对象,通过算法的设计保证嵌入的水印能够在经受各种攻击后仍能被正确提取,首先对文档进行预处理,包括文档的解析和哈希码的生成,解析指的是把文档变成类似数据库结构的若干个键值对,哈希码则被用于产生伪随机序列;
S2:然后对水印信息进行编码,包括纠删码和纠错码;
S3:最后对每个键值对进行嵌入,其中预处理步骤生成的伪随机序列被用于确定编码过程中的参数以及确定嵌入键值对的位置,
此外,哈希码生成过程还额外使用了一个密钥以保证安全性,水印的提取是嵌入的逆过程,包括预处理、提取编码后水印信息、纠错码解码、置信度传播译码,最终得到嵌入的水印序列。
进一步的,Excel文档的预处理步骤如下,
S1:首先将Excel文档表格中的数据解析为键值对的结构,因为电子表格往往具有固定的结构,即每行代表一个记录,每列代表一个字段即记录的属性,因此可以将每一行作为一个键值对,对每一个由数值型数据构成的字段(即列)计算其方差,并取第一个方差大于设定阈值的列作为键值对的键,其他所有列都作为键值对的值,方差大保证了键之间重复的概率足够小;
S2:接下来生成哈希码,对于一个包含N个字符的键x′i,其哈希 h′i为:
其中(x′i)k表示键的第k个字符,σ是一个大整数,这里将σ取值为密钥,从而减少各个键之间的冲突,对表格的每一行即每一个键值对都可以计算得到一串哈希码,并且每串哈希码几乎都是独一无二的,接下来用哈希码作为种子值对每一行生成一个伪随机序列Si。
进一步的,水印信息的编码如下,
可嵌入的水印信息序列W可以包含大小写字母、数字、特殊符号和汉字。首先将每一位字母、数字、符号转换为8位的二进制ASCII 码,汉字则可以转换为GB2312编码的16位二进制码,把代表水印信息的二进制序列分成k个数据包,每一个数据包wi就作为嵌入的基本单位,
若预处理后得到的文档包含n个键值对,本发明就将n个与wi长度相同的编码包mi组成纠删编码后的中间序列M,因此可以定义一个转移矩阵G来表示纠删编码的过程:
矩阵中的gi,j取0或1,分别表示编码包的生成没有用到或用到了原数据包,其中符号表示矩阵间的异或操作,即矩阵相乘过程中的“+”操作用异或代替,为了生成这样的转移矩阵,本发明首先确定 G的每一列包含了多少个1,即每一个编码包的生成用到了多少个原数据包,这个数值xi服从鲁棒孤度分布;接下来是确定每列中的哪几个为1,即每个编码包的生成用到了哪些原数据包,这个选择服从均匀分布,其中,鲁棒孤度分布和均匀分布的参数由预处理过程产生的伪随机序列Si决定,
中间序列M生成完毕后,本发明对每一个编码包进行纠错编码。这里使用的是一个循环码,它是一种线性分组码,其中任一码字的每一循环移位结果都是另一码字,至此,对表格的每一行,都生成了一个待嵌入的数据包ti。
进一步的,水印信息的编码如下,编码后信息的嵌入如下,
水印嵌入之前需要先确定嵌入的位置,对于表格中的一行数据,除去作为键的单元格外,字符串数据的单元格也不可以用作嵌入,因为嵌入可能导致语义上的变化;同时也可以定义一些重要列禁止嵌入信息,防止关键数据被水印破坏,对剩下的数值型数据,本发明按照数据包含的位数从大到小来选择嵌入的单元格,对于单个数据,则是首先排除前两个非零位,在剩下的位中用伪随机序列Si选择嵌入的位,从而保证了数据的失真足够小,
接下来是将纠错编码后的数据包ti逐位嵌入到选择的位置,本发明采用的是最不重要位嵌入法,若待嵌入的值为X,水印比特为a:
Y=x-mod(X,2)+a (3)
其中Y表示嵌入水印后的值,对每一行即每一个键值对都嵌入一个数据包,就可以得到含水印的电子表格,整个嵌入的过程如图3所示。
进一步的,水印信息的编码如下,预处理与提取编码后水印信息
对含水印的Excel文档,预处理过程与水印嵌入时完全相同,将文档解析为键值对的形式,并对每一列的键生成哈希码,产生伪随机序列,接下来用同样的规则筛选出可嵌入水印的单元格,利用伪随机序列确定每个单元格中嵌入了水印的具体位置,再使用最不重要位方法进行提取:
a′i=mod(Y,2) (4)
其中a′i是提取得到的比特,Y是含水印的值,这样,对于表格的每一行都可以得到一个数据包,这个数据包是水印信息编码后得到的。
进一步的,纠错译码与置信度传播译码如下,
首先对每个数据包验证其是否为循环码,考虑到对攻击者对数据的篡改幅度可能很大,再加上纠删码的特性,本发明直接丢弃了不是循环码的数据包,并对剩下的数据包进行纠错译码,
对于一个编码包来说,它是由若干个原始数据包进行异或得到的,所以可以寻找所有xi为1的编码包,即由单个原始数据包生成的编码包,利用这些包使与之关联的编码包的xi减1,比如xi为3的包a+b+c 就可通过xi为1的包a转换为b+c的包。当一个包的xi通过这样的转换变为1之后,它又可以被用于其他包的译码过程中去,如此不断迭代,就可以解出所有的原始数据包,这就是置信度传播译码的过程,联系到转移矩阵G,译码的过程就是解矩阵方程的过程,只有当矩阵的秩大于等于行数k时,方程才是可解的。
进一步的,最后把译码得到的原始数据包进行组合,就得到了水印比特,按照与嵌入同样的方法把水印比特看作ASCII码,转换为大小写字母、数字、特殊符号和汉字,水印的提取过程至此完成,由于 Excel文档的行数往往很多,即矩阵的秩可以远大于行数,所以可以进行多次译码,将得到的结果进行比较,得到最准确的原始水印。
本发明的有益效果为:本发明提出的嵌入方法,嵌入的是一段文本信息,支持大小写英文字母、数字、特殊符号和汉字,水印容量能满足使用需求。水印一方面嵌入到单元格数据的不重要位上,保证了不可见性,另一方面运用了纠删码和纠错码对水印信息进行了编码,保证了水印的鲁棒性,使三者得到了兼顾。
附图说明
图1为本发明一种基于鲁棒水印技术的Excel文档数据保护方法的水印算法整体框图;
图2为本发明一种基于鲁棒水印技术的Excel文档数据保护方法的Excel文档解析过程示意图;
图3为本发明一种基于鲁棒水印技术的Excel文档数据保护方法的水印嵌入示意图;
图4为本发明一种基于鲁棒水印技术的Excel文档数据保护方法的水印提取流程图。
附图标记说明如无:
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
请参阅图1-4,本发明提供一种技术方案:
一种基于鲁棒水印技术的Excel文档数据保护方法,其特征在于:该方法可以抵抗对Excel的多种常见攻击,包括按字段排序、整行删除、添加行或列以及随机修改单元格的值,同时能够保证数据的失真很小,其方法如下,
S1:以一个Excel电子表格文档为水印信息的嵌入对象,通过算法的设计保证嵌入的水印能够在经受各种攻击后仍能被正确提取,首先对文档进行预处理,包括文档的解析和哈希码的生成,解析指的是把文档变成类似数据库结构的若干个键值对,哈希码则被用于产生伪随机序列;
S2:然后对水印信息进行编码,包括纠删码和纠错码;
S3:最后对每个键值对进行嵌入,其中预处理步骤生成的伪随机序列被用于确定编码过程中的参数以及确定嵌入键值对的位置,
此外,哈希码生成过程还额外使用了一个密钥以保证安全性,水印的提取是嵌入的逆过程,包括预处理、提取编码后水印信息、纠错码解码、置信度传播译码,最终得到嵌入的水印序列。
进一步的,Excel文档的预处理步骤如下,
S1:首先将Excel文档表格中的数据解析为键值对的结构,因为电子表格往往具有固定的结构,即每行代表一个记录,每列代表一个字段即记录的属性,因此可以将每一行作为一个键值对,对每一个由数值型数据构成的字段(即列)计算其方差,并取第一个方差大于设定阈值的列作为键值对的键,其他所有列都作为键值对的值,方差大保证了键之间重复的概率足够小;
S2:接下来生成哈希码,对于一个包含N个字符的键x′i,其哈希 h′i为:
其中(x′i)k表示键的第k个字符,σ是一个大整数,这里将σ取值为密钥,从而减少各个键之间的冲突,对表格的每一行即每一个键值对都可以计算得到一串哈希码,并且每串哈希码几乎都是独一无二的,接下来用哈希码作为种子值对每一行生成一个伪随机序列Si。
进一步的,水印信息的编码如下,
可嵌入的水印信息序列W可以包含大小写字母、数字、特殊符号和汉字。首先将每一位字母、数字、符号转换为8位的二进制ASCII 码,汉字则可以转换为GB2312编码的16位二进制码,把代表水印信息的二进制序列分成k个数据包,每一个数据包wi就作为嵌入的基本单位,
若预处理后得到的文档包含n个键值对,本发明就将n个与wi长度相同的编码包mi组成纠删编码后的中间序列M,因此可以定义一个转移矩阵G来表示纠删编码的过程:
矩阵中的gi,j取0或1,分别表示编码包的生成没有用到或用到了原数据包,其中符号表示矩阵间的异或操作,即矩阵相乘过程中的“+”操作用异或代替,为了生成这样的转移矩阵,本发明首先确定 G的每一列包含了多少个1,即每一个编码包的生成用到了多少个原数据包,这个数值xi服从鲁棒孤度分布;接下来是确定每列中的哪几个为1,即每个编码包的生成用到了哪些原数据包,这个选择服从均匀分布,其中,鲁棒孤度分布和均匀分布的参数由预处理过程产生的伪随机序列Si决定,
中间序列M生成完毕后,本发明对每一个编码包进行纠错编码。这里使用的是一个循环码,它是一种线性分组码,其中任一码字的每一循环移位结果都是另一码字,至此,对表格的每一行,都生成了一个待嵌入的数据包ti。
进一步的,水印信息的编码如下,编码后信息的嵌入如下,
水印嵌入之前需要先确定嵌入的位置,对于表格中的一行数据,除去作为键的单元格外,字符串数据的单元格也不可以用作嵌入,因为嵌入可能导致语义上的变化;同时也可以定义一些重要列禁止嵌入信息,防止关键数据被水印破坏,对剩下的数值型数据,本发明按照数据包含的位数从大到小来选择嵌入的单元格,对于单个数据,则是首先排除前两个非零位,在剩下的位中用伪随机序列Si选择嵌入的位,从而保证了数据的失真足够小,
接下来是将纠错编码后的数据包ti逐位嵌入到选择的位置,本发明采用的是最不重要位嵌入法,若待嵌入的值为X,水印比特为a:
Y=X-mod(X,2)+a (3)
其中Y表示嵌入水印后的值,对每一行即每一个键值对都嵌入一个数据包,就可以得到含水印的电子表格,整个嵌入的过程如图3所示。
进一步的,水印信息的编码如下,预处理与提取编码后水印信息
对含水印的Excel文档,预处理过程与水印嵌入时完全相同,将文档解析为键值对的形式,并对每一列的键生成哈希码,产生伪随机序列,接下来用同样的规则筛选出可嵌入水印的单元格,利用伪随机序列确定每个单元格中嵌入了水印的具体位置,再使用最不重要位方法进行提取:
a′i=mod(Y,2) (4)
其中a′i是提取得到的比特,Y是含水印的值,这样,对于表格的每一行都可以得到一个数据包,这个数据包是水印信息编码后得到的。
进一步的,纠错译码与置信度传播译码如下,
首先对每个数据包验证其是否为循环码,考虑到对攻击者对数据的篡改幅度可能很大,再加上纠删码的特性,本发明直接丢弃了不是循环码的数据包,并对剩下的数据包进行纠错译码,
对于一个编码包来说,它是由若干个原始数据包进行异或得到的,所以可以寻找所有xi为1的编码包,即由单个原始数据包生成的编码包,利用这些包使与之关联的编码包的xi减1,比如xi为3的包a+b+c 就可通过xi为1的包a转换为b+c的包。当一个包的xi通过这样的转换变为1之后,它又可以被用于其他包的译码过程中去,如此不断迭代,就可以解出所有的原始数据包,这就是置信度传播译码的过程,联系到转移矩阵G,译码的过程就是解矩阵方程的过程,只有当矩阵的秩大于等于行数k时,方程才是可解的。
进一步的,最后把译码得到的原始数据包进行组合,就得到了水印比特,按照与嵌入同样的方法把水印比特看作ASCII码,转换为大小写字母、数字、特殊符号和汉字,水印的提取过程至此完成,由于 Excel文档的行数往往很多,即矩阵的秩可以远大于行数,所以可以进行多次译码,将得到的结果进行比较,得到最准确的原始水印。
工作原理:
水印嵌入:
S1:对Excel文档中的一个n行l列的电子表格,逐列计算由数值型数据构成的列的方差,当某列的方差大于设定的阈值时,认为该列为关键列,关键列的每个数值作为其所在行的键,每行的其他数据都作为键值对的值。
S2:对关键列的每个值用公式(1)生成一串哈希码,其中σ取值为密钥,用哈希码作为种子值对每行数据产生一个伪随机序列。
S3:对嵌入的水印信息,转换为ASCII码的二进制序列,并分成 k个长度为4bit的数据包,再对每个数据包进行纠删编码。因为文档包含了n行,所以需要生成n个编码包。对每个编码包,首先选择其由多少个原始数据包决定,这个数值xi服从鲁棒孤度分布;接下来从k个原始数据包中按照均匀分布选择xi个进行异或得到长度同样为 4bit的编码包。步骤S2产生的伪随机序列用于确定鲁棒孤度分布和均匀分布的参数。
S4:对每个编码包进行(7,4)循环编码,得到n个7bit的待嵌入数据包。
S5:对电子表格中每一行的数据,去除作为键的关键列数据、字符串型数据以及定义的不可修改数据,待嵌入的7bit逐位嵌入到剩下的数据中。若数据个数大于7个,则选择最长的7个数据各嵌入 1bit,否则分配待嵌入比特到所有数据中,越长的数据嵌入的比特数越多。对于一个数据中嵌入水印的位置,由步骤S2生成的伪随机序列来决定。
S6:最后利用公式(3)把每个比特嵌入到步骤S5选出的位置上,就生成了含水印的Excel电子表格文档。
水印提取:
S1:对含水印的文档采取与嵌入时相同的操作,选出关键列并利用键产生哈希码,生成伪随机序列。
S2:用同样的规则选出每行可用于嵌入的单元格,分配嵌入量,再利用伪随机序列得到嵌入了水印的具体位置。
S3:用公式(4)得到表格每行对应的7bit待嵌入数据包。
S4:确认7bit的数据包是否为循环码,若不是就直接丢弃,若是,对其进行循环码译码,得到4bit的纠删编码后的编码包。
S5:对所有的4bit编码包进行置信度传播译码。找出xi为1的包,并利用其使与之相关的编码包的xi减1,xi减到1的编码包又可以用于其他包的译码,如此反复迭代,得到所有的原始数据包。
S6:组合原始数据包得到水印序列,并把序列看作ASCII码的组合,对照ASCII码表与GB2312编码表,得到嵌入的水印信息。
本发明提出的嵌入方法,嵌入的是一段文本信息,支持大小写英文字母、数字、特殊符号和汉字,水印容量能满足使用需求。水印一方面嵌入到单元格数据的不重要位上,保证了不可见性,另一方面运用了纠删码和纠错码对水印信息进行了编码,保证了水印的鲁棒性,使三者得到了兼顾。
以上显示和描述了本发明的基本原理、主要特征和优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其效物界定。
Claims (7)
1.一种基于鲁棒水印技术的Excel文档数据保护方法,其特征在于:该方法可以抵抗对Excel的多种常见攻击,包括按字段排序、整行删除、添加行或列以及随机修改单元格的值,同时能够保证数据的失真很小,其方法如下,
S1:以一个Excel电子表格文档为水印信息的嵌入对象,通过算法的设计保证嵌入的水印能够在经受各种攻击后仍能被正确提取,首先对文档进行预处理,包括文档的解析和哈希码的生成,解析指的是把文档变成类似数据库结构的若干个键值对,哈希码则被用于产生伪随机序列;
S2:然后对水印信息进行编码,包括纠删码和纠错码;
S3:最后对每个键值对进行嵌入,其中预处理步骤生成的伪随机序列被用于确定编码过程中的参数以及确定嵌入键值对的位置,
此外,哈希码生成过程还额外使用了一个密钥以保证安全性,水印的提取是嵌入的逆过程,包括预处理、提取编码后水印信息、纠错码解码、置信度传播译码,最终得到嵌入的水印序列。
2.根据权利要求1所述的一种基于鲁棒水印技术的Excel文档数据保护方法,其特征在于:Excel文档的预处理步骤如下,
S1:首先将Excel文档表格中的数据解析为键值对的结构,因为电子表格往往具有固定的结构,即每行代表一个记录,每列代表一个字段即记录的属性,因此可以将每一行作为一个键值对,对每一个由数值型数据构成的字段(即列)计算其方差,并取第一个方差大于设定阈值的列作为键值对的键,其他所有列都作为键值对的值,方差大保证了键之间重复的概率足够小;
S2:接下来生成哈希码,对于一个包含N个字符的键x′i,其哈希h′i为:
其中(x′i)k表示键的第k个字符,σ是一个大整数,这里将σ取值为密钥,从而减少各个键之间的冲突,对表格的每一行即每一个键值对都可以计算得到一串哈希码,并且每串哈希码几乎都是独一无二的,接下来用哈希码作为种子值对每一行生成一个伪随机序列Si。
3.根据权利要求1所述的一种基于鲁棒水印技术的Excel文档数据保护方法,其特征在于:水印信息的编码如下,
可嵌入的水印信息序列W可以包含大小写字母、数字、特殊符号和汉字。首先将每一位字母、数字、符号转换为8位的二进制ASCII码,汉字则可以转换为GB2312编码的16位二进制码,把代表水印信息的二进制序列分成k个数据包,每一个数据包wi就作为嵌入的基本单位,
若预处理后得到的文档包含n个键值对,本发明就将n个与wi长度相同的编码包mi组成纠删编码后的中间序列M,因此可以定义一个转移矩阵G来表示纠删编码的过程:
矩阵中的gi,j取0或1,分别表示编码包的生成没有用到或用到了原数据包,其中符号表示矩阵间的异或操作,即矩阵相乘过程中的“+”操作用异或代替,为了生成这样的转移矩阵,本发明首先确定G的每一列包含了多少个1,即每一个编码包的生成用到了多少个原数据包,这个数值xi服从鲁棒孤度分布;接下来是确定每列中的哪几个为1,即每个编码包的生成用到了哪些原数据包,这个选择服从均匀分布,其中,鲁棒孤度分布和均匀分布的参数由预处理过程产生的伪随机序列Si决定,
中间序列M生成完毕后,本发明对每一个编码包进行纠错编码。这里使用的是一个循环码,它是一种线性分组码,其中任一码字的每一循环移位结果都是另一码字,至此,对表格的每一行,都生成了一个待嵌入的数据包ti。
4.根据权利要求1所述的一种基于鲁棒水印技术的Excel文档数据保护方法,其特征在于:水印信息的编码如下,编码后信息的嵌入如下,
水印嵌入之前需要先确定嵌入的位置,对于表格中的一行数据,除去作为键的单元格外,字符串数据的单元格也不可以用作嵌入,因为嵌入可能导致语义上的变化;同时也可以定义一些重要列禁止嵌入信息,防止关键数据被水印破坏,对剩下的数值型数据,本发明按照数据包含的位数从大到小来选择嵌入的单元格,对于单个数据,则是首先排除前两个非零位,在剩下的位中用伪随机序列Si选择嵌入的位,从而保证了数据的失真足够小,
接下来是将纠错编码后的数据包ti逐位嵌入到选择的位置,本发明采用的是最不重要位嵌入法,若待嵌入的值为X,水印比特为a:
Y=X-mod(X,2)+a (3)
其中Y表示嵌入水印后的值,对每一行即每一个键值对都嵌入一个数据包,就可以得到含水印的电子表格,整个嵌入的过程如图3所示。
5.根据权利要求1所述的一种基于鲁棒水印技术的Excel文档数据保护方法,其特征在于:水印信息的编码如下,预处理与提取编码后水印信息,
对含水印的Excel文档,预处理过程与水印嵌入时完全相同,将文档解析为键值对的形式,并对每一列的键生成哈希码,产生伪随机序列,接下来用同样的规则筛选出可嵌入水印的单元格,利用伪随机序列确定每个单元格中嵌入了水印的具体位置,再使用最不重要位方法进行提取:
a′i=mod(Y,2) (4)
其中a′i是提取得到的比特,Y是含水印的值,这样,对于表格的每一行都可以得到一个数据包,这个数据包是水印信息编码后得到的。
6.根据权利要求1所述的一种基于鲁棒水印技术的Excel文档数据保护方法,其特征在于:纠错译码与置信度传播译码如下,
首先对每个数据包验证其是否为循环码,考虑到对攻击者对数据的篡改幅度可能很大,再加上纠删码的特性,本发明直接丢弃了不是循环码的数据包,并对剩下的数据包进行纠错译码,
对于一个编码包来说,它是由若干个原始数据包进行异或得到的,所以可以寻找所有xi为1的编码包,即由单个原始数据包生成的编码包,利用这些包使与之关联的编码包的xi减1,比如xi为3的包a+b+c就可通过xi为1的包a转换为b+c的包。当一个包的xi通过这样的转换变为1之后,它又可以被用于其他包的译码过程中去,如此不断迭代,就可以解出所有的原始数据包,这就是置信度传播译码的过程,联系到转移矩阵G,译码的过程就是解矩阵方程的过程,只有当矩阵的秩大于等于行数k时,方程才是可解的。
7.根据权利要求1所述的一种基于鲁棒水印技术的Excel文档数据保护方法,其特征在于:最后把译码得到的原始数据包进行组合,就得到了水印比特,按照与嵌入同样的方法把水印比特看作ASCII码,转换为大小写字母、数字、特殊符号和汉字,水印的提取过程至此完成,由于Excel文档的行数往往很多,即矩阵的秩可以远大于行数,所以可以进行多次译码,将得到的结果进行比较,得到最准确的原始水印。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911290551.5A CN112016061A (zh) | 2019-12-16 | 2019-12-16 | 一种基于鲁棒水印技术的Excel文档数据保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911290551.5A CN112016061A (zh) | 2019-12-16 | 2019-12-16 | 一种基于鲁棒水印技术的Excel文档数据保护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112016061A true CN112016061A (zh) | 2020-12-01 |
Family
ID=73506949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911290551.5A Pending CN112016061A (zh) | 2019-12-16 | 2019-12-16 | 一种基于鲁棒水印技术的Excel文档数据保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112016061A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112560099A (zh) * | 2020-12-22 | 2021-03-26 | 江苏方天电力技术有限公司 | 一种强鲁棒性的电力数据库指纹生成方法 |
CN113656825A (zh) * | 2021-10-21 | 2021-11-16 | 北京凯睿数加科技有限公司 | 文本水印嵌入方法、文本篡改检测方法、装置和电子设备 |
CN113688601A (zh) * | 2021-10-26 | 2021-11-23 | 北京凯睿数加科技有限公司 | 基于表单的水印生成方法、装置、电子设备和计算机介质 |
CN113806696A (zh) * | 2021-09-18 | 2021-12-17 | 上海观安信息技术股份有限公司 | 一种水印生成及溯源方法、装置、设备及存储介质 |
CN116541808A (zh) * | 2023-07-06 | 2023-08-04 | 杭州美创科技股份有限公司 | 数据水印溯源方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050053258A1 (en) * | 2000-11-15 | 2005-03-10 | Joe Pasqua | System and method for watermarking a document |
CN1897522A (zh) * | 2005-07-15 | 2007-01-17 | 国际商业机器公司 | 水印嵌入和/或检测的方法、装置及系统 |
CN103873954A (zh) * | 2012-12-13 | 2014-06-18 | 航天信息股份有限公司 | 将不见数字水印嵌入到流媒体的方法、装置和系统 |
CN104376236A (zh) * | 2014-12-02 | 2015-02-25 | 上海出版印刷高等专科学校 | 基于伪装学的方案自适应数字水印嵌入方法及提取方法 |
CN106156649A (zh) * | 2015-04-13 | 2016-11-23 | Tcl集团股份有限公司 | 一种Android系统的数据保护方法及系统 |
-
2019
- 2019-12-16 CN CN201911290551.5A patent/CN112016061A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050053258A1 (en) * | 2000-11-15 | 2005-03-10 | Joe Pasqua | System and method for watermarking a document |
CN1897522A (zh) * | 2005-07-15 | 2007-01-17 | 国际商业机器公司 | 水印嵌入和/或检测的方法、装置及系统 |
CN103873954A (zh) * | 2012-12-13 | 2014-06-18 | 航天信息股份有限公司 | 将不见数字水印嵌入到流媒体的方法、装置和系统 |
CN104376236A (zh) * | 2014-12-02 | 2015-02-25 | 上海出版印刷高等专科学校 | 基于伪装学的方案自适应数字水印嵌入方法及提取方法 |
CN106156649A (zh) * | 2015-04-13 | 2016-11-23 | Tcl集团股份有限公司 | 一种Android系统的数据保护方法及系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112560099A (zh) * | 2020-12-22 | 2021-03-26 | 江苏方天电力技术有限公司 | 一种强鲁棒性的电力数据库指纹生成方法 |
CN112560099B (zh) * | 2020-12-22 | 2022-11-11 | 江苏方天电力技术有限公司 | 一种强鲁棒性的电力数据库指纹生成方法 |
CN113806696A (zh) * | 2021-09-18 | 2021-12-17 | 上海观安信息技术股份有限公司 | 一种水印生成及溯源方法、装置、设备及存储介质 |
CN113656825A (zh) * | 2021-10-21 | 2021-11-16 | 北京凯睿数加科技有限公司 | 文本水印嵌入方法、文本篡改检测方法、装置和电子设备 |
CN113656825B (zh) * | 2021-10-21 | 2022-02-22 | 北京凯睿数加科技有限公司 | 文本水印嵌入方法、文本篡改检测方法、装置和电子设备 |
CN113688601A (zh) * | 2021-10-26 | 2021-11-23 | 北京凯睿数加科技有限公司 | 基于表单的水印生成方法、装置、电子设备和计算机介质 |
CN116541808A (zh) * | 2023-07-06 | 2023-08-04 | 杭州美创科技股份有限公司 | 数据水印溯源方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112016061A (zh) | 一种基于鲁棒水印技术的Excel文档数据保护方法 | |
Satir et al. | A compression-based text steganography method | |
Roy et al. | A novel approach to format based text steganography | |
CN108537049B (zh) | 一种基于二值图像的自适应隐写算法 | |
Al-Nofaie et al. | Utilizing pseudo-spaces to improve Arabic text steganography for multimedia data communications | |
Hanyurwimfura et al. | Text format based relational database watermarking for non-numeric data | |
CN103049682A (zh) | 一种基于字符间距编码的双重水印嵌入的文本水印方法 | |
CN111966974B (zh) | 一种安全可逆的关系数据库版权保护方法 | |
CN101105832B (zh) | 基于(t,n)门限的关系型数据库水印嵌入及提取方法 | |
Thabit et al. | CSNTSteg: Color spacing normalization text steganography model to improve capacity and invisibility of hidden data | |
Zhang et al. | A novel robust text watermarking for word document | |
CN112632475A (zh) | 一种基于国密和图片隐写的图片版权保护系统及保护方法 | |
Elmahi et al. | Text steganography using compression and random number generators | |
CN114745475A (zh) | 一种鲁棒的加密图像可逆信息隐藏方法 | |
Baawi et al. | Enhancement of text steganography technique using Lempel-Ziv-Welch Algorithm and two-letter word technique | |
Lee et al. | Secret communication through web pages using special space codes in HTML files | |
Chaudhary et al. | Text steganography based on feature coding method | |
Ba-Alwi et al. | Content authentication of English text via internet using zero watermarking technique and Markov model | |
CN104376236A (zh) | 基于伪装学的方案自适应数字水印嵌入方法及提取方法 | |
Kumar et al. | Image steganography using index based chaotic mapping | |
Ritchey et al. | A Context Sensitive Tiling System for Information Hiding. | |
Shah et al. | Query preserving relational database watermarking | |
Azeem et al. | A novel approach to secret data concealment with high cover text capacity and security | |
CN104715442A (zh) | 一种基于汉明码的量子图像水印方法 | |
Elmahi et al. | Multi-level steganography aided with compression |
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 |