基于超混沌迭代的双重零水印算法.docx

上传人:b****6 文档编号:4691361 上传时间:2022-12-07 格式:DOCX 页数:23 大小:290.54KB
下载 相关 举报
基于超混沌迭代的双重零水印算法.docx_第1页
第1页 / 共23页
基于超混沌迭代的双重零水印算法.docx_第2页
第2页 / 共23页
基于超混沌迭代的双重零水印算法.docx_第3页
第3页 / 共23页
基于超混沌迭代的双重零水印算法.docx_第4页
第4页 / 共23页
基于超混沌迭代的双重零水印算法.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

基于超混沌迭代的双重零水印算法.docx

《基于超混沌迭代的双重零水印算法.docx》由会员分享,可在线阅读,更多相关《基于超混沌迭代的双重零水印算法.docx(23页珍藏版)》请在冰豆网上搜索。

基于超混沌迭代的双重零水印算法.docx

基于超混沌迭代的双重零水印算法

目录

第一章基于超混沌迭代的双重零水印算法-2-

1.1概述-2-

1.2超混沌迭代序列加密-2-

1.2.1混沌加密-2-

1.2.2超混沌序列-3-

1.3基于变换域的双零水印算法-4-

1.4水印检测及实验结果分析-6-

第二章基于非数值型字段的关系数据库数字水印技术-7-

2.1概述-7-

2.2数据库数字水印技术研究概述-7-

2.3算法基本思想-8-

2.3.1水印嵌入算法-8-

2.3.2水印提取算法-8-

2.3.3算法性能分析-9-

第三章非数值型数据的数据库水印算法研究-10-

3.1概述-10-

3.2非数值型数据的水印算法-10-

3.2.2统计特征控制算法-12-

3.3性能分析-12-

第四章基于零宽度不可见字符的数据库零水印研究-13-

4.1引言-13-

4.2数据库零水印概念的扩展-13-

4.3基于零宽度不可见字符的鲁棒性水印-14-

4.3.1水印嵌入算法-14-

4.3.2水印提取算法-14-

4.4基于零宽度不可见字符的脆弱性水印-14-

4.5测试-14-

4.6结束语-14-

第五章基于数字水印的外包数据库内容保护技术研究-16-

5.1数据库水印解决方案的提出-16-

5.2数据库水印的研究现状与发展-16-

5.3数据库水印的基本概念-16-

5.3.1数据库水印的定义-17-

5.3.2数据库水印的主要特征-17-

5.3.3数据库水印的应用-17-

5.4数据库水印的基本原理-18-

5.4.1数据库水印系统-18-

5.4.2数据库水印嵌入-19-

5.4.3数据库水印检测与提取-19-

5.5数据库水印的攻击及对策-20-

5.6数据库版权认证-21-

参考文献-23-

第一章基于超混沌迭代的双重零水印算法

1.1概述

目前数字水印技术的难点集中在:

如何隐藏大量信息,保证水印本身的鲁棒性和安全性,又不破坏原文件。

针对这一问题,文献提出了零水印算法,其主要思想是利用宿主信息的重要特征构造可唯一识别的水印。

由于零水印技术没有向宿主文件嵌入任何信息,因此很好地保证了不可见性。

而零水印与常规水印算法一样,要对各种攻击保证良好的鲁棒性,目前主要的技术是基于时空域和变换域的算法。

后者由于运算速度快且抗噪声、抗压缩等方面的性能较好,因此研究和应用得更为广泛。

提出一种用超混沌迭代产生的序列进行加密的双重零水印算法,用图像离散余弦变换和小波变换后的重要系数分别构造零水印,以提高水印算法的抗攻击能力,采用超混沌序列进行加密,以提高系统的安全性。

实验结果表明,该算法提高了水印系统的综合性能,具有较好的不可见性、鲁棒性和安全性。

由于离散余弦变换(DiscreteCosineTransform,DCT)和离散小波变换(DiscreteWaveletTransform,DWT)域的数字水印对于不同的攻击鲁棒性各有优势,因此应在实际应用中将两者更好地结合。

有理论研究表明,将水印信号直接嵌入到DCT域的DC分量或小波域的LL子带,可以更好地实现水印信号的稳健嵌入[3-5]。

1.2超混沌迭代序列加密

由于采用一维混沌系统加密易被混沌同步分析法破译,因此本文采用二维超混沌系统对水印进行加密,极大地提高了系统的安全性。

1.2.1混沌加密

混沌加密基于混沌系统所具有的特性:

对初值的极端敏感性和高度的随机性。

混沌加密是以混沌系统产生混沌序列作为密钥序列的,利用该序列对明文加密,密文经信道传输,接收方用混沌同步的方法提取明文信号,实现解密。

混沌序列加密的主要特点是加密方式简单,只要对2个序列进行叠加即可。

混沌序列加密原理如图1-1所示。

图1-1混沌序列加密原理

1.2.2超混沌序列

超混沌是一类特殊的混沌现象,具有更多方向的不稳定性。

一般,系统的状态变量愈多,可能出现不稳定的程度就愈高。

所以,从实际应用的角度考虑,更希望用超混沌序列作为随机码来提高系统的安全性;由于高维系统产生超混沌序列较之低维系统计算更复杂,实际应用中通常寻找系统状态变量参数尽可能少的超混沌系统。

二维超混沌离散系统一般有如下形式:

(1-1)

其中,mi(i=1,2,…,12)为待定常系数。

用λL作为确定混沌和超混沌系统的判据,按照相应的参数选择准则,可以得到如下的简单二维超混沌系统:

(1-2)

按照上述参数生成的超混沌方程可以产生二维伪随机混沌序列,由于用变换域特征参数构造的水印序列是一维的,因此还要对这个二维伪随机序列进行降维处理。

假定输出的二维序列为

x(n)=[x

(1),x

(2),…,x(N)]

y(n)=[y

(1),y

(2),…,y(N)]

降维后输出的伪随机序列为

L(n)=[L

(1),L

(2),…L(N)]

仿真实验中发现,如果仅仅令

L(n)=x(n)

或者

L(n)=y(n)

得到的超混沌序列数值点的分布在边界处较为稠密,无法得到扩散度比较理想的随机分布序列点。

由初值到经迭代得到的结果已经是伪随机序列,在不破坏它们整体分布的情况下,可采用如下降维模型:

(1-3)

通过大量的仿真实验发现,采用如下参数的降维模型生成的序列扩散均匀度比较理想:

(1-4)

采用此降维模型生成2000个点的一维随机序列码如图1-2所示。

图1-2超混沌序列降维后的一维伪随机序列码

为了验证按照以上方案所产生的伪随机序列的扩散度是否理想,又对目前常用的一维Logistic混沌序列做了实验仿真,其动力学方程定义为

其中,μ称为分枝参数,当xn∈(0,1)且3.5699456<μ≤4时,Logistic映射工作于混沌状态。

本文取μ=3.9、初值密钥x0=0.4来产生2000个点的Logistic混沌序列,如图1-3所示。

图1-3Logistic混沌映射产生的伪随机序列码

可以明显看出,二维超混沌序列降维后生成的伪随机序列比直接用普通混沌模型生成的一维序列码的随机扩散度好,为以后对水印进行加密以提高系统的安全性提供了良好的基础。

1.3基于变换域的双零水印算法

(1)生成超混沌伪随机序列

在仿真实验中,先固定m5=-1.2,m8=-1.1,m10=0.1;经多次实验发现,当m4=1.52时,系统已经进入超混沌状态,则式

(1)可以写成

(1-5)

按照该二维超混沌方程产生的二维超混沌相空间如图1-4所示。

图1-4二维超混沌相空间

按照式(5)构造超混沌序列,并由式(4)的降维模型将二维超混沌序列转换为长度为N×N的一维超混沌伪随机序列,然后由实值序列转换为二值序列。

转换方法主要有阈值门限法、多种量化法等,本文采用的是阈值门限法,且设定阈值为0.5,经过下面的映射得到混沌二值序列。

(1-6)

其中,1≤i≤N×N。

再根据本文设计的降维模型,将二维序列转换成N×N的一维随机序列。

(2)DCT域构造零水印

经实验分析,DCT变换后的能量分布图像的主要能量集中在左上角,即DCT变换后的低频部分。

这表明人眼视觉系统对DCT系数低频部分的改变很敏感,如果对图像的篡改要达到视觉无法察觉的效果,必须避免对低频系数的改动。

主要步骤如下:

1)对所选图像进行DCT变换,得到其DCT变换矩阵。

并选择左上角的N×N个系数。

2)将所选取的N×N个DCT系数序列经过以下映射转换成0,1序列。

(1-7)

其中,1≤i≤N×N。

3)通过超混沌迭代系统降维得到的一维随机序列与上述0,1序列进行按位异或,从而对水印信息进行加密,构造成零水印。

(3)DWT域构造零水印

本算法对图像进行小波变换时采用Haar小波,因为Haar小波的支撑长度最短,它的分解和重构计算复杂度远低于其他小波,且Haar小波是对称的,可以减少量化误差,不会导致边缘错位,在边界点也不需要周期延拓,所以在用作数字水印方面,Haar小波优于其他小波。

1.4水印检测及实验结果分析

水印检测算法的基本步骤与构造算法完全相同,根据待检测图像所有者提供的密钥,由式(5)确定超混沌序列,由式(4)降维得到一维序列,由式(6)映射得到二值序列,再与待检测图像进行DCT及DWT变换得到的二值序列进行按位异或,得到特征水印WDCT`和WDWT`,长度为N×N。

按位比较原始水印WDCT与WDWT`、WDWT与WDWT`,计算两者中元素相同的个数C,则其相似度SIM可以定义为:

SIM=C/N。

给定一个阈值T,如果SIM>T,则认为检测图像中含有原始特征水印,图像的版权属于该图像提供者,否则认为图像不具有原始特征水印,图像的版权与其无关。

经大量测试实验,将阈值T定为0.5。

第二章基于非数值型字段的关系数据库数字水印技术

2.1概述

结合现有数字水印技术,提出了一种基于非数值型字段的关系数据库水印算法。

该方法可嵌入信息量大,水印恢复不需要原始数据库,可以抵抗各种子集攻击和添加攻击。

现有的数据库水印技术大多是对数值型字段进行标记,而在非数值数据中因为难以找到可辨认的冗余空间,给水印的安全嵌入带来困难。

只有解决了非数值型数据的水印嵌入问题,数据库水印技术才具有真正的实用性。

提出了一种基于非数值型字段的关系数据库水印算法。

该算法最小化了在嵌入水印时需修改的数据量,允许数据的拥有者自己定义一个相似函数选择元素进行水印嵌入,在水印恢复时不需要原始数据库。

通过对算法的健壮性分析表明,该水印算法可以抵御各种攻击。

相似函数是由用户自己定义的,相似函数的定义取决于受保护的数据库的特点。

2.2数据库数字水印技术研究概述

目前的关系数据库数字水印算法的研究基本上都集中于对数字型字段的嵌入研究,而对非数值型字段的嵌入算法研究比较少,这是由于数字型字段容许一定的失真,对数据库的正常使用不造成影响;而非数值型字段则不同,任何微小的修改,都会导致字段值所标示的意思失真:

所以目前在该方面的算法研究比较少,也还没有很好的解决方案。

而非数值型字段数据在数据库中是很常见的,譬如网络节点数据库、医药数据库等等。

笔者通过保护关系数据库的非数值型字段提出了一种新的水印算法,提出的水印系统允许嵌入者定义相似函数来减少嵌入时引起的失真,同时嵌入过程中不需要修改数据。

在关系数据库中加水印应该充分考虑到关系数据库自身的特殊性以及各种攻击方式。

基本要求就是水印算法要在鲁棒性、不可见性之间折衷考虑[8-9]:

(1)鲁棒性要好,加入的水印就越能够经受住各种恶意的攻击和善意的数据更新;

(2)不可见性要高,不可见性越高说明加入的水印方法越好,水印越不被用户察觉,越不会因为加了水印而影响关系数据的使用;

(3)嵌入的信息要多,加入的信息量越多水印就越不容易被破坏,误判的概率越小;

(4)误判率要小,误判有2种,一种是有水印时不能够检测提取出来,另一种是无水印时却检测到水印存在;

(5)盲测,由于数据库数据需要经常更新维护,关系数据库的数字水印技术最好能够在水印提取时实现盲测,即水印检测既不需要原始数据库数据(加水印前数据)也不需要水印。

该特征关键是可以在关系数据库数据拷贝中检测到水印,而不用考虑原始关系数据库的更新。

2.3算法基本思想

在模型中考虑了以下因素:

(1)需要处理哪些数据。

非数值型字段的特点是:

它们的值不能轻易修改,任何修改都会改变原有的意思。

关系数据库是由关系R、主键R.Pk和1个或多个属性Ai组成的。

只要关系数据库的主键R.Pk不允许修改,水印系统就是有效的。

(2)需要取得什么。

在关系数据库中嵌入水印,而不需要修改数据库中任何属性的值,同时嵌入的水印又要足够强壮,能够抵抗各种类型的攻击,尽可能减少需要修改的数据量,可以通过一些相关数据的相似函数来减少嵌入水印时的失真。

2.3.1水印嵌入算法

水印嵌入算法模型如图2-1所示。

 

图2-1水印嵌入算法模型

(1)计算嵌入位置假设关系中的主键R.Pk在不对数据造成不可接受的破坏的情况下是不能修改的,希望所选择的元素与在关系中的相对位置是独立的。

所以,使用主键来唯一确定一个元素,为了使这个过程变得安全,采用密钥K和主键R.Pk连接起来,计算编号Index=Hash(K,R.Pk,ri.Ai)。

(2)选择相似函数当通过数值型字段来嵌入水印时,可以很轻易地通过对字段值轻微的增加、减少来隐藏水印。

然而,在非数值型字段中,隐藏一个水印是非平滑的,因为任何轻微的修改,意味着是被另一个值完全取代。

造成失真的主要原因是用来取代的类别的值和原类别的值所表示的意思相似性太小。

为了使失真最小,提出了用户定义的相似函数:

sf(e1,e2)y[0,1]。

给定e1和e2,相似函数返回一个0和1之间的相似值,0表示非常的不同,1表示非常的相似。

通过相似函数,就可以量化和减少交换2个元素时所产生的失真。

(3)嵌入水印通过计算嵌入位置,选择用来嵌入水印的原始元素ei的最不显著位lsb(ei),替换为水印中的元素eic。

2.3.2水印提取算法

水印恢复时,采用的算法与嵌入时一样,必须确定在哪个位置上嵌入了水印。

(1)从数据库中的字段中,根据密钥K,计算Index=Hash(K,R.Pk,ri.Ai)。

(2)根据Index值,选择该元素eic中的最不显著位置lsb(eic)。

(3)根据Index值,将提取出来的元素按顺序取出,即为嵌入的文本信息。

2.3.3算法性能分析

该水印系统能够抵御随机修改、水平取样、垂直取样等攻击。

入侵者能够执行大范围的各种恶意的攻击。

下面描述该水印系统如何能够抵抗各种攻击。

(1)垂直取样水印系统可以应用到各种至少有1个主键和属性A的关系R中,插入的水印不取决于任何属性之间的关系,可以单独地嵌入到任何想嵌入的属性中。

(2)水平和垂直的重排序水平的重排序攻击,包括交换一些元组的位置,而不修改值。

水印系统是不易受影响的,因为关系R中的相对位置是不被用来决定哪些元素被嵌入水印的。

同样地,垂直重排序,包括交换一些属性的顺序,而不修改值。

对这种攻击,方法是在属性中嵌入水印时与该属性在关系R中的相对位置是无关的。

(3)随机选择元素修改攻击入侵者想通过随即选择元素进行修改来破坏水印,则必须修改足够多的元素。

因此,一个简单有效的做法是,增加嵌入水印的元素和增加可嵌入水印的元素。

(4)水平取样这种攻击是基于随机的选择关系R中的一些元组。

这种通常对数据库数字水印算法攻击是很有效的方法,对该系统却不是非常有效。

因为为了破坏水印,入侵者必须选择尽可能少的元组,而且这些被选择的元组中包含尽可能少的被嵌入了水印的元组,这是比较困难的,而一个没被选择的元组就像一个被改变的元组,所以水平取样分析攻击就类似于上面讨论的随机修改元组攻击。

第三章非数值型数据的数据库水印算法研究

3.1概述

分析了对非数值类型数据进行水印嵌入的特殊性,提出了基于非数值型数据水印的简单替换算法及其改进方法。

为了减少水印嵌入对数据统计特性的改变,提出了一个统计特征控制算法。

文献[20]提出了一种针对非数值型数据的水印算法,然而,这种算法不易进行水印信息的提取恢复,而且该方法对数据域的统计特征的影响也很不确定。

本文针对关系数据库中的非数值数据进行探讨,在此基础上给出了非数值型的数据库水印算法与实现。

3.2非数值型数据的水印算法

非数值型数据不能像数值型数据那样进行简单的按位操作或增、减值操作,因此,对于非数值型数据进行水印嵌入时要用同一属性域的其他值来替换原有的数据值。

本文提出了一种简单替换算法,可以针对一个属性嵌入水印信息。

然后,将这个算法扩展到多个属性域,并针对出现的问题提出了改进方法。

3.2.1简单替换算法

假设关系数据库模式为R(P,A),P为主键,水印信息的编码过程中不能对P作任何改动,A为R中用来进行水印嵌入的非数值型的属性.R中共包含N个元组,r1,r2,…,rN各元组的主键分别为ri.P,元组中的属性为ri.A。

e为调节因字,控制水印嵌入的比例。

K1、K2为数据库拥有者的密钥。

水印算法中用到的一些符号及其含义如表3-1所示。

表3-1水印中的符号及其涵义

符号

含意

N

R中元组数

P

主键

V

R中可用来嵌入水印的属性列的数量

W

代表数据库特征的水印信息

K1,K2,K3

密钥|W|W中的bit信息量

e

关系数据分组调节因子

在水印嵌入时,采用单向Hash函数来确定哪些元组可以用来进行水印嵌入。

然后,对每个满足嵌入条件的元组ri嵌入一位二进制水印信息,如算法1所示。

将ri.A的值用at的值进行替换,由式(3-1)来确定:

(3-1)

函数cup(a,b,c)计算将a的第b位用c替换后的结果。

Msb(a,m)表示数值a的m位最重要位,Lsb(a)表示数值a的最不重要位,这里我们只选择最末位。

&表示按位“与”运算。

元组的主键ri.P和K1生成秘密数值,其最不重要位将被由ri.P和K2生成的秘密数值确定的水印信息替换。

算法1 WMEncoding(R,K3,K1,K2,e,W)

1)W=WMGen(R,K3)//形成水印信息

2)foreachtupleri∈Rdo

3)if(Hash(ri.P,A,K1)mode=0)

4)a=Msb(Hash(ri.P,A,K1),[log2n])mod(n-1)

5)b=Msb(Hash(ri.P,A ,K2),log2|W|)mod|W|

6)t=cup(a,pos(Lsb(a)),W[b])

7)ri.A=at

8)nexttupleri。

在水印提取时(实现过程如算法2所示),首先进行水印信息二进制位串的恢复,用相同的方法确定可能嵌有水印信息的元组ri,根据ri.A=at求得相应的水印信息为t&1:

w·[Msb(Hash(ri.P,K2),log2|W|)mod|W|]=t&1

算法2 WMDecoding(R′,K3,K1,K2,e)

1)W=WMGen(R′,K3)//形成水印信息

2)foreachtupleri(R′do

3)if(Hash(ri.P,A,K1)mode=0)

4)求得t,使得ri.A=at

5)b=Msb(Hash(ri.P,K2),log2|W|)mod|W|

6)w′[b]=t&1

7)W′=E(w′)//处理提取的水印信息

在简单替换算法中,只是针对单个非数值型属性域A进行了水印嵌入编码。

在该算法中,关系数据库有N个元组,即使对所有元组进行水印嵌入的情况下,大约最多只可嵌入log2N位水印信息。

为了扩展水印带宽,使能够嵌入合理长度的水印信息,可以将水印信息嵌入在不同的属性域中。

针对不同的属性域使用相应的域名和逐位取得的水印信息来确定进行替换的数据值:

(3-2)

3.2.2统计特征控制算法

在算法1中,嵌入水印时没有直接将水印信息与原有关系数据属性值进行编码,而是用水印信息参与关系数据值的选取,保证了原有关系数据信息的可用性。

但这种简单替换显然会破坏原有关系数据的统计分布特性。

本文首先分析原有属性域的统计特征,例如属性值aj对应的频度为cj,函数f(aj)=cj/n计算对应频率。

然后利用部分水印信息对频率值作小波变换,用一个二维数组对最小频率和最大频率进行记录,直到数据库拥有者的最大限制约束,即将属性域的数据统计特征控制在拥有者许可的范围内。

若水印嵌入后的统计特征在此范围内则嵌入,否则进行回滚操作。

3.3性能分析

1)复杂度分析。

在简单替换算法及其改进算法中,只需对N个元组的关系数据库进行一次遍历、更新操作,其复杂度约为O(N)。

为使水印信息嵌入的同时能够控制数据库的统计特征变换,需要在水印嵌入前对属性域的统计特征进行分析,故需要进行两次遍历操作和一次更新操作。

对有n(n<

O(N+N+nlgn+N)≈O(N)

2)盲检测分析。

本文提出的算法中,由于水印嵌入位置是根据主关键字、属性名称和密钥K1的单向哈希函数值确定的,水印信息未参与水印嵌入位置的计算,实现了数字水印的盲检测。

第四章基于零宽度不可见字符的数据库零水印研究

4.1引言

数据库数字水印是国际上公认的解决数据库版权问题的有效方法,它能够以高概率判别非法拷贝的数据库版权归属,保护数据库知识版权,是目前信息安全研究的热点问题之一。

2005年孟应杰等提出了关系数据库零水印方案[21],将零水印概念引入数据库水印研究。

2007年孟应杰等提出了零水印注册方案[22]以解决数据库零水印不包含版权特征数据,无法建立与版权信息关联的问题。

2008年孟应杰等提出了一种基于混沌变换的数据库零水印算法[23],改善了数据库零水印算法的部分性能。

2009年马会娟等研究了数据库水印死锁等版权保护安全问题[24]。

2010年王丽娜等将数字签名引入零水印注册,增强了零水印的安全性[25]。

对于非数值型数据,在不修改非数值型数据条件下,如何利用非数值型数据构造零水印的研究尚处于初始阶段;研究以提出新的数据库数字零水印算法为主,缺乏可实际实用于版权保护的完整系统;利用零水印保护数据库版权的安全性问题仍需进一步探讨研究。

针对以上问题,本文创新提出和实现基于零宽度不可见字符的数据库零水印,扩展数据库零水印概念,解决如何有效利用非数值型属性域构造数字水印这一难点问题,将版权特征图像不可见地嵌入载体数据库,解决传统数据库零水印检测时可能形成版权死锁从而引起版权纠纷的关键问题,建设数据库数字零水印实验平台验证研究内容,建成具有先进性和实用性的数据库版权保护系统实现数据库版权保护。

4.2数据库零水印概念的扩展

数据库水印可分为两大类:

(1)嵌入类,该类数据库水印方案都是在一定误差允许前提下,为嵌入水印而修改数据库中的宿主信息,只能适合于对精度要求不高的数据库[10];

(2)构造类,也称零水印,具体思想是利用数据库中的数值特征构造零水印,不改变原数据库,构造的零水印在认证中心注册,可有效地解决修改信息导致的数据库误差[21-23]。

数据库零水印的本质特征是零水印没有真正嵌入载体数据库,零水印对用户具有不可见性。

我们在研究Unicode编码时发现存在多个同时具有零宽度和不可见双重特性的零宽度不可见字符(ZeroWidthCharacter,ZWC),它们在被插入字符串后,不会改变原字符串的长度、字形、字号等所有属性,对用户完全不可见,非常适合作为数字零水印使用。

当我们把零宽度不可见字符作为数字水印嵌入数据库非数值型字段后,从用户的角度

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1