一种可逆的数据库水印方法及系统技术方案

技术编号:30753645 阅读:19 留言:0更新日期:2021-11-10 12:07
本发明专利技术提供的一种可逆的数据库水印方法及系统,包括利用数据库中非空文本型数据生成主键;利用萤火虫遗传算法生成秘钥,并根据所述秘钥、所述主键利用哈希算法对数据库中数值型数据计算添加或存在水印的位置,并在该位置添加或删除水印;根据所述主键利用同义词对数据库中文本型数据确定添加或存在水印的位置,并采用同义词替换和算术编码法在该位置嵌入或删除文本型水印;本发明专利技术采用萤火虫遗传算法生成密钥提高了局部搜索效率和鲁棒性,并且实现了同时对数据库中不同的数据类型添加或删除水印。除水印。除水印。

【技术实现步骤摘要】
一种可逆的数据库水印方法及系统


[0001]本专利技术涉及数据库管理领域,具体涉及一种可逆的数据库水印方法及系统。

技术介绍

[0002]关系数据库是当前应用较为广泛的数据库。数据盗窃,非法复制和侵犯版权的安全风险随着数据库的创建,传输和共享也显著增加。近年来经常发生数据库泄漏事故的报道,哪怕在数据敏感的领域如医疗保健领域也是如此。如今用于确保各种数据格式所有权保护和防篡改的有效方法之一是水印技术。数据库加水印将消息嵌入通常独立且离散的数据库记录中,是一种相对较新的技术。数据库水印由Agrawal和Kiernan于2002年首次引入。此后,国内外学者提出了几种方法。
[0003]萤火虫遗传算法FFA是剑桥科学家Xinshe Yang提出的基于生物智能的随机搜索优化算法,通过模拟自然界中萤火虫在择偶觅食等情况下产生的因光而相互吸引,进而相互移动的合作行为,来解决现实生活中的最优化问题。萤火虫遗传算法FFGA是将遗传算法GA与萤火虫算法FFA相结合构成的一种优化算法。遗传算法的局部搜索能力较差,但把握搜索过程总体能力较强。
[0004]Y.Wu等提出遗传算法(GA)可以被用来设计鲁棒的密钥方法。然后,一种基于差分扩展水印(GADEW)技术的遗传算法被提出,作为一种健壮且可逆的数据库水印解决方案。M.B.Imamogh等提出了一种新的可逆数据库水印方法,该方法将DEW与萤火虫算法(FFA)相结合,FFA选择最佳属性值以产生较低的失真并增加水印容量。2019年Donghui Hu等提出了遗传算法和直方图移位算法GAHSW。
[0005]Lingyun Xian从无损数据压缩的角度提出了一种基于自适应二进制算术编码的可逆自然语言水印算法,针对现有的文本可逆水印方法主要存在两个问题:水印嵌入容量低、附加信息共享量大。该方法通过对水印文本中的同义词值进行解码来提取水印,同时可以通过使用算术编码对提取的压缩数据进行解压缩来恢复原始同义词。
[0006]尽管FFADEW等方法最小化了数据失真并增加了水印容量,但是信息失真仍然很严重。GAHSW虽然失真较小,但只适用于数值型数据库,实用性较差。同时其使用生成主键,前期计算量非常大。并且单纯的文本型水印与单纯的数值型水印只适用于单一类型数据库,容易遭到攻击且无法满足现实生产生活需求。

技术实现思路

[0007]为了解决现有技术中所存在的现有的数据库水印方法中部分方法增加辅助数据导致存储空间增大;部分方法只能用于数值型数据库,实用性较差;且大多数方法会大幅度修改原始数据,导致数据质量下降的问题,本专利技术提供了一种可逆的数据库水印方法,包括:
[0008]利用数据库中非空文本型数据生成主键;
[0009]利用萤火虫遗传算法生成秘钥,并根据所述秘钥、所述主键利用哈希算法对数据
库中数值型数据计算添加或存在水印的位置,并在该位置添加或删除水印;
[0010]根据所述主键利用同义词对数据库中文本型数据确定添加或存在水印的位置,并采用同义词替换和算术编码法在该位置嵌入或删除文本型水印。
[0011]优选的,所述根据所述秘钥、所述主键利用哈希算法对不同的数据类型分别计算添加或存在水印的位置,并在该位置添加或删除水印,包括:
[0012]根据所述秘钥、所述主键利用哈希算法对数据库中数值型的属性列进行分组;根据每组内的各属性所在列的位置确定添加或存在水印的位置,并采用直方图移位法在该位置添加或删除水印。
[0013]优选的,所述根据每组内的各属性所在列的位置确定添加或存在水印的位置,包括:
[0014]判断每组中的属性是否为所在列的最大或最小值;
[0015]当不为最大或最小值时,将所述属性所在位置作为添加或存在水印的位置;
[0016]当为最大或最小值时,该属性所在位置不作为添加或存在水印的位置,并跳转到下一列的属性继续进行判断,直到找到所有可作为添加或存在水印的位置。
[0017]优选的,所述采用直方图移位法在该位置添加或删除水印,包括:
[0018]基于每组的属性列中最大值、最小值以及原始值计算所述属性列的预测变量和预测误差值,并以预测误差为横坐标,以预测误差出现的次数作为纵坐标构建每个元组的直方图;
[0019]将预先设置的水印信息从第一个bit位开始,依次添加至数值型数据添加或存在水印的位置处,每个位置上添加一个水印信息的bit位,循环执行,直到所有添加或存在水印的位置处均添加了水印信息;
[0020]基于所有元组的直方图、添加或存在水印的位置以及水印信息构建低失真的直方图,得到加入水印信息后的新属性值;
[0021]基于新属性值、添加或存在水印的位置以及水印信息结合低失真的直方图删除水印信息,恢复原始数据。
[0022]优选的,所述基于所有元组的直方图、添加或存在水印的位置以及水印信息构建低失真的直方图,得到加入水印信息后的新属性值,包括:
[0023]基于所述每个元组的直方图确定具有非零频率的峰值及所述峰值的位置,放入峰值数组,并计算所述峰值左侧频率和、右侧频率和,并将所述左侧频率和以及右侧频率和放入附加信息数组中;
[0024]计算所述峰值与左侧和右侧第一个为零的频率位置的左侧差值和右侧差值,并将所述左侧差值和右侧差值放入附加信息数组中;
[0025]基于所述左侧频率和、右侧频率和的大小关系以及预测误差是否大于零,确定新的预测误差计算式,并结合所述预测误差分别与峰值、峰值和所述左侧差值的差、峰值和右侧差值的和的大小关系,以及水印信息计算新的预测误差;
[0026]以所述新的预测误差为横坐标,以所述新的预测误差出现的次数为纵坐标构建每个元组的低失真直方图;
[0027]基于所述新的预测误差和预测变量结合属性值计算式计算添加了水印的新的属性值。
[0028]优选的,所述新的预测误差计算式如下式所示:
[0029]当左侧频率和大于右侧频率和,并预测误差大于零时,新的预测误差按下式计算:
[0030][0031]式中,b
e
为预测误差,w为水印中的bit位,b

e
为降低失真后的预测误差,bi为峰值;d
ir
为右侧差值;
[0032]当左侧频率和大于右侧频率和,并预测误差小于零时,新的预测误差按下式计算:
[0033][0034]当左侧频率和小于右侧频率和,并预测误差不小于零时,新的预测误差按下式计算:
[0035][0036]式中,d
il
为左侧差值;
[0037]当左侧频率和小于右侧频率和,并预测误差小于零时,新的预测误差按下式计算:
[0038][0039]优选的,所述基于新的属性值、添加或存在水印的位置以及水印信息结合低失真的直方图删除水印信息,恢复原始数据,包括:
[0040]基于所述新的属性值和预测变量结合预测误差计算式,得到新的预测误差及新的预测误差的绝对值;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可逆的数据库水印方法,其特征在于,包括:利用数据库中非空文本型数据生成主键;利用萤火虫遗传算法生成秘钥,并根据所述秘钥、所述主键利用哈希算法对数据库中数值型数据计算添加或存在水印的位置,并在该位置添加或删除水印;根据所述主键利用同义词对数据库中文本型数据确定添加或存在水印的位置,并采用同义词替换和算术编码法在该位置嵌入或删除文本型水印。2.如权利要求1所述的可逆的数据库水印方法,其特征在于,所述利用萤火虫遗传算法生成秘钥,并根据所述秘钥、所述主键利用哈希算法对数据库中数值型数据计算添加或存在水印的位置,并在该位置添加或删除水印,包括:根据所述秘钥、所述主键利用哈希算法对数据库中数值型的属性列进行分组;根据每组内的各属性所在列的位置确定添加或存在水印的位置,并采用直方图移位法在该位置添加或删除水印。3.如权利要求2所述的可逆的数据库水印方法,其特征在于,所述根据每组内的各属性所在列的位置确定添加或存在水印的位置,包括:判断每组中的属性是否为所在列的最大或最小值;当不为最大或最小值时,将所述属性所在位置作为添加或存在水印的位置;当为最大或最小值时,该属性所在位置不作为添加或存在水印的位置,并跳转到下一列的属性继续进行判断,直到找到所有可作为添加或存在水印的位置。4.如权利要求3所述的可逆的数据库水印方法,其特征在于,所述采用直方图移位法在该位置添加或删除水印,包括:基于每组的属性列中最大值、最小值以及原始值计算所述属性列的预测变量和预测误差值,并以预测误差为横坐标,以预测误差出现的次数作为纵坐标构建每个元组的直方图;将预先设置的水印信息从第一个bit位开始,依次添加至数值型数据添加或存在水印的位置处,每个位置上添加一个水印信息的bit位,循环执行,直到所有添加或存在水印的位置处均添加了水印信息;基于所有元组的直方图、添加或存在水印的位置以及水印信息构建低失真的直方图,得到加入水印信息后的新属性值;基于新属性值、添加或存在水印的位置以及水印信息结合低失真的直方图删除水印信息,恢复原始数据。5.如权利要求4所述的可逆的数据库水印方法,其特征在于,所述基于所有元组的直方图、添加或存在水印的位置以及水印信息构建低失真的直方图,得到加入水印信息后的新属性值,包括:基于所述每个元组的直方图确定具有非零频率的峰值及所述峰值的位置,放入峰值数组,并计算所述峰值左侧频率和、右侧频率和,并将所述左侧频率和以及右侧频率和放入附加信息数组中;计算所述峰值与左侧和右侧第一个为零的频率位置的左侧差值和右侧差值,并将所述左侧差值和右侧差值放入附加信息数组中;基于所述左侧频率和、右侧频率和的大小关系以及预测误差是否大于零,确定新的预测误差计算式,并结合所述预测误差分别与峰值、峰值和所述左侧差值的差、峰值和右侧差
值的和的大小关系,以及水印信息计算新的预测误差;以所述新的预测误差为横坐标,以所述新的预测误差出现的次数为纵坐标构建每个元组的低失真直方图;基于所述新的预测误差和预测变量结合属性值计算式计算添加了水印的新的属性值。6.如权利要求5所述的可逆的数据库水印方法,其特征在于,所述新的预测误差计算式如下式所示:当左侧频率和大于右侧频率和,并预测误差大于零时,新的预测误差按下式计算:式中,b
e
为预测误差,w为水印中的bit位,b

e
为降低失真后的预测误差,bi为峰值;d
ir
为右侧差值;当左侧频率和大于右侧频率和,并预测误差小于零时,新的预测误差按下式计算:当左侧频率和小于右侧频率和,并预测误差不小于零时,新的预测误差按下式计算:式中,d
il
为左侧差值;当左侧频率和小于右侧频率和,并预测误差小于零时,新的预测误差按下式计算:7.如权利要求4所述的可逆的数据库水印方法,其特征在于,所述基于新属性值、添加或存在水印的位置以及水印信息结合低失真的直方图删除水印信息,恢复原始数据,包括:基于所述新属性值和预测变量结合预测误差计算式,得到新的预测误差及新的预测误差的绝对值;以所述新的预测误差为横坐标,以新的预测误差出现的次数作为纵坐标构建每个元组的低失真直方图;基于所述低失真直方图确定具有非零频率的峰值及所述峰值的位置,并计算所述峰值左侧频率和、右侧频率和;计算所述峰值与...

【专利技术属性】
技术研发人员:于鹏飞石聪聪高先周吴宁单超
申请(专利权)人:国家电网有限公司国网江苏省电力有限公司国网江苏省电力有限公司营销服务中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1