矢量图形脆弱水印研究与实现
- 格式:pdf
- 大小:254.63 KB
- 文档页数:3
基于水印结构的脆弱性水印方法研究的开题报告一、研究背景和意义在数字媒体领域,数字内容安全已成为重要研究方向之一。
其中,数字图像作为最常见的一种数字媒体内容,其安全保护是必不可少的。
由于数字图像的易复制性和易传播性,很容易被篡改、复制和传播,这也成为数字图像安全保护的挑战之一。
为解决数字图像的安全问题,出现了一种广泛应用的技术——水印技术。
水印技术是在数字媒体中插入特定的信息,从而使得实现数字版权管理、加密传输等目的成为可能。
其中,脆弱性水印技术是一种能够对抗数字图像篡改攻击的水印技术。
脆弱性水印技术的特点是对图像进行较弱的变换,就足以破坏水印,从而保证水印被篡改或攻击后的检测和保护。
针对目前市场上存在的脆弱性水印技术在图像容量、提取效率、鲁棒性等方面存在一定的限制,本研究拟对基于水印结构的脆弱性水印方法进行进一步研究,分析其优点与不足,结合现有最新研究,探究一种更适用于不同场景的脆弱性水印技术。
二、研究内容和思路1. 分析目前基于水印结构的脆弱性水印方法在图像容量、提取效率、鲁棒性等方面的不足。
2. 借鉴其他研究成果,设计一种新的基于水印结构的脆弱性水印方法,对其进行理论分析和实验验证。
3. 分析新方法的优缺点,结合现有研究成果,寻求优化方案,提出新的改进措施。
4. 对比新方法与其他方法在图像容量、提取效率、鲁棒性等方面的优劣,并对新方法应用场景进行探究。
三、预期成果本研究的预期成果包括:1. 分析目前基于水印结构的脆弱性水印方法在图像容量、提取效率、鲁棒性等方面的不足。
2. 设计一种新的基于水印结构的脆弱性水印方法,并在理论上进行证明和分析。
3. 针对新方法的特点,提出实现方案并进行实验验证,分析其优点与不足。
4. 探索改进方案,结合现有研究成果,提出新的优化措施。
5. 对比新方法与其他方法在图像容量、提取效率、鲁棒性等方面的优劣,并对新方法应用场景进行探究。
四、研究重点和难点1. 对目前的脆弱性水印技术进行深入探究,分析其优点与局限性。
《信息隐藏课程大作业》—P.W.Wong脆弱性水印算法学院计通学院专业班级信安1102姓名尹昊学号 ********一、基本原理典型的脆弱水印是P.W.Wong水印系统。
这是基于公钥的图像认证和完整性数字水印系统。
基本思想就是利用hash函数的单向性和能在输入发生微小变化时得到完全不同输出值的特点,结合图像分块来完成对图像像素值微小改变的定位。
借助公钥系统的便利性,使得任何人,只要他能获得作者的公钥,便可以完成对图像的完整性检测和身份认证。
二、算法实现1.嵌入过程☐以大小为M*N像素灰度图像X m,n为例,要把同样大小的二值化水印图像W m,n嵌入到载体图像X m,n中得到含水印图像Y m,n。
为此,逐块进行水印的嵌入,嵌入过程如下:⏹假定X表示载体图像X m,n中第r块子图,将X的LSB(最低有效位)平面值置为0得到X’⏹设H()是一种哈希加密函数,用下式计算哈希值,H(M,N,X’)=( P1r, P2r, … , P s r)其中:P i r是哈希函数的输出比特值,S是输出比特位的大小,其值取决于所使用的特定哈希函数,例如对SHA256算法而言S=256。
取前I*J位构成哈希值输出矩阵d m,n⏹对d m,n和对应的W m,n中的子块W r中的子块通过逐位异或运算得到新矩阵C r,C r=W r⊕d m,n⏹使用非对称加密公钥中的私钥对C r进行加密运算,S r=E r(C r),其中E()表示一公钥加密系统,K表示私钥⏹最后把得到的二进制值S r嵌入到X’的LSB位得到含水印图像取反后Y m,n的第r个子块⏹重复上面的步骤直到最后每一块水印都被添加到宿主图像中流程图:2. 提取过程☐ 水印提取过程与嵌入过程相似,首先将待检测图像Z m,n 分块记为Z r ,水印的检测过程如下图所示:⏹ 把待检测的图像的每个子块Z r 分为两部分:第一部分G r 是Z r 子块中每个像素最低有效位的值,第二部分Z’是把Z r 子块的LSB 平面置零的值⏹ 利用公钥加密系统的公钥K 对G r 解密得到U r ,U r =E r (G r )⏹ 计算M,N 和Z’的哈希值记为Q r⏹ 使用嵌入水印时第三步骤的操作提取出水印:B r =Q r ⊕U r⏹ 重复上面步骤,直到恢复出每一块的水印信息,得到提取的二值水印图像取反后B m,n含水印的图像分块X’rSr标志水印分块私钥图像分块XX’ 图像素N 图像素MH(M,N,X’) Xor 加密S 嵌入X’的LSBLSB 置0 0-1取反Wong 算法水印嵌入流程图流程图:三、 实验过程本次实验是在matlab 环境下进行编程实现的,在main 文件下是主要运行的过程函数,.\image 文件下是图片素材,.\code 文件是密码算法的实现过程函数,.\hide 文件哈希算法的实现过程函数。
数字图像中脆弱水印关键算法研究的开题报告一、研究背景和意义随着数字图像的广泛应用,保护数字图像的知识产权和完整性变得越来越重要。
一种常见的保护方法是使用数字水印技术,在数字图像中嵌入一些不可见的信息,以标识和保护原始图像。
但是传统数字水印技术存在着一些问题,如攻击者可以通过修改、裁剪、添加噪声等方法破坏水印,使得水印失效。
因此,研究数字图像中脆弱水印关键算法,对提高数字图像保护的能力具有重要意义。
与传统数字水印技术不同,脆弱水印是一种特殊的水印,容易被攻击者破坏。
但是,其在防抵赖和图像完整性方面具有独特的优势。
因此,脆弱水印技术在图像认证和防篡改方面具有广泛的应用前景。
二、研究目标和内容本文旨在研究数字图像中脆弱水印关键算法,探讨其在数字图像保护和认证领域的应用。
具体研究内容包括以下方面:1.脆弱水印的定义和分类:介绍脆弱水印的定义、分类和特点,对脆弱水印技术的基本概念进行详细阐述。
2.脆弱水印关键算法的研究:研究数字图像中脆弱水印的嵌入和提取算法,包括基于离散小波变换、主成分分析和奇异值分解等多种算法。
3.脆弱水印抵抗攻击性能的研究:探讨脆弱水印算法的抗攻击性能及其提高方法,比较各种算法在不同攻击条件下的鲁棒性。
4.脆弱水印的应用:研究脆弱水印技术在数字图像保护、认证和版权保护方面的应用,对其实际应用进行案例分析和评估。
三、研究方法本文将采用文献综述和实验研究相结合的方法进行研究,主要研究方法包括如下几个方面:1.文献综述:结合现有文献,对脆弱水印技术的基本概念、发展历程、分类和研究现状进行系统性梳理和总结。
2.算法设计:基于文献综述,设计脆弱水印嵌入和提取算法,并通过实验验证其有效性和性能。
3.攻击性能测试:对各种算法在不同攻击条件下的鲁棒性进行测试和分析,探讨提高脆弱水印抗攻击性能的方法。
4.应用案例分析:以版权保护为主要应用场景,分析脆弱水印技术在实际应用中的优势和不足,并提出相应的改进方法。
一种自嵌入的图像脆弱水印算法自嵌入的图像脆弱水印算法是一种可以在数字图像中嵌入信息以便于检测和识别的技术。
该算法是一种基于空间域的水印算法,可以在图像的任何区域内嵌入水印,并实现在不影响原始图像质量的情况下提高图像的安全性和可验证性。
该算法的基本原理是,在原始图像的每个像素点上嵌入一个值为1或0的二进制信号,并使用一些算法来判断原始图像像素值中是否存在嵌入的水印,以此达到检测和识别的目的。
在自嵌入的图像脆弱水印算法中,嵌入的水印信息是非常脆弱的,并且在对原始图像进行编辑或处理后,嵌入的水印信息很容易被破坏或删除。
这些处理包括缩放、旋转、剪切、过滤、压缩和重采样等。
因此,该算法需要使用一些特定的技术来保护嵌入的水印信息,并在需要识别嵌入信息时提供一些验证技术。
其中一种自嵌入的图像脆弱水印算法基于图像直方图的差异性。
该算法使用原始图像的直方图来嵌入信息,并使用嵌入信息前后图像的直方图来检测和识别嵌入信息的位置。
该算法首先将包含嵌入信息的信息位分成两组,分别表示嵌入信息为1的像素和嵌入信息为0的像素。
然后,该算法对原始图像的直方图进行调整,并计算每个像素的直方图差异性。
根据这些差异性,算法将嵌入信息为1的像素插入到差异性最小的直方图中,将嵌入信息为0的像素插入到差异性比嵌入信息为1的像素大的直方图中。
在检测嵌入信息时,该算法会评估原始图像和带有嵌入信息的图像的直方图差异性,并尝试通过比较这些差异性来确定嵌入信息的位置。
该算法还使用检测器来检测任何针对嵌入信息的攻击,并尝试提供一些保护措施来防止水印信息的破坏。
综上所述,自嵌入的图像脆弱水印算法是一种可以在不影响原始图像质量的情况下,提高图像的安全性和可验证性的技术。
它基于直方图差异性,可以在原始图像的任何区域内嵌入信息,并在检测和识别嵌入信息时提供一些验证和保护措施。
虽然这种算法在一些情况下可能会受到攻击,但是它仍然是一种相对有效的技术,可以用于数字图像的水印和保护。
收稿日期:2011-03-03;修回日期:2011-04-14基金项目:北京市教委科技发展计划面上项目(KM201010015003);北京市属高校人才强教资助项目(PHR201108349)作者简介:郑良斌(1972-),男,安徽人,博士研究生,主要研究方向为网络信息安全、数字内容版权保护(zlb@bigc.edu.cn );冯柳平,女,副教授,博士;陈如琪,男,副教授;程晓锦,男,副教授.矢量图形脆弱水印研究与实现*郑良斌,冯柳平,陈如琪,程晓锦(北京印刷学院,北京102600)摘要:分析了矢量图形内容完整性认证的常用方法及矢量图形数字水印研究现状。
针对线状实体组成的矢量图形,提出将矢量图形中线状实体分成不同的组,以组为计算单位将水印信息嵌入在矢量图形数据中,不仅能验证矢量图形的完整性,还能将窜改的定位能力精确到组,嵌入了水印信息的矢量图形仍有使用价值;在对数据精度要求极高的情况下,可以通过数据完整性验证提取出原始矢量图形数据,更好地满足一些特殊应用的需求。
关键词:矢量图形;脆弱数字水印;完整性验证中图分类号:TP391文献标志码:A文章编号:1001-3695(2011)10-3820-03doi :10.3969/j.issn.1001-3695.2011.10.058Research and implementation of fragile watermark for vector graphicsZHENG Liang-bin ,FENG Liu-ping ,CHEN Ru-qi ,CHENG Xiao-jin(Beijing Institute of Graphic Communication ,Beijing 102600,China )Abstract :This paper described the methods of integrity authentication for vector graphics fistly ,and then introduced digital watermarking for vector graphics.For vector graphics composed by linear entities ,it proposed a fragile watermark algorithm ,which was based on that the linear entities of vector graphics were divided into different groups ,and watermark information was embedded in these groups.The extraction procedure not only verified the integrity of the watermarked vector graphics ,but also located modification.The watermarked vector graphics can be used for its data is modified slightly ,and the original vector graphics can be restored by extraction procedure for special application.Key words :vector graphics ;fragile digital watermark ;integrity authentication0引言矢量图形用一组指令集合来描述图形的内容,这些指令用来描述构成图形的所有图元的位置、维数和形状等属性。
在屏幕上显示矢量图形要有专门软件将描述图形的指令转换成在屏幕上显示的形状和颜色,即根据矢量数据结构不同和算法不同画出这个图形。
用于产生和编辑矢量图形的程序可以产生和操作矢量图形的各个成分,并对矢量图形进行移动、缩放、旋转和扭曲等变换。
矢量图形广泛用于计算机辅助设计、地理信息系统(GIS )、艺术设计、动画制作等,绝大多数GIS 、CAD 和3D 造型软件使用矢量图形作为基本的图形存储格式。
矢量图形具有高精度、处理自动化以及无损缩放等优点,并且易于存储、易于发布。
然而,数字化存储的数据极易被编辑窜改,并造成严重的后果,如用于军事目的的地图显然不容窜改。
因此,在很多场合,需要对矢量图形的完整性(也称真实性)进行验证,明确地知道矢量图形是否被修改过,甚至还希望知道矢量图形数据的哪些部分被窜改了。
数据完整性是指数据本身的真实性,即数据是否被窜改。
目前,数字媒体内容完整性认证方案主要有两种:a )通过传统的密码学认证方法;b )利用数字水印技术。
传统的密码学认证方法用来验证数据的完整性已经发展得非常成熟。
它把所有的数据当做二进制比特流,计算该比特流的哈希散列值并产生消息认证码,或者用非对称加密算法加密哈希值产生数字签名,最后把它附加在原来消息的末尾。
在传输过程中,任何比特的改变都可能导致认证失败。
传统的密码学认证方法安全性较高,但它无法确定窜改的位置和程度。
另外,消息认证码或数字签名与原始数字媒体捆绑在一起存储或传输,由于消息认证码或数字签名独立于数字媒体数据而存在,因此其很容易被删除。
所谓数字水印技术就是在数字媒体中嵌入一些特定的信息,以达到确认内容创建者、购买者,或认证内容是否真实完整的目的。
就用途而言,数字水印一般可分为用于版权保护的鲁棒数字水印和用于防窜改的脆弱数字水印。
鲁棒数字水印必须很难去掉,能抵抗普通数据处理或恶意窜改;而脆弱数字水印则具有对数字媒体少许的改动就会导致提取的水印与原始水印不同的特性,利用这一特性可以鉴定数字媒体是否被窜改,从而辨别真伪。
因此,脆弱数字水印可被用于数字媒体的认证和完整性保护。
脆弱数字水印用于认证和完整性保护,其优点是不需要在原始数字媒体后额外地附加认证信息,水印可以离散地分布到数字媒体的各个部分,提高了攻击难度,增加了安全性。
另外,脆弱数字水印技术还能指出具体的窜改位置和程度,甚至完成对已窜改数据的恢复,克服了传统的密码学第28卷第10期2011年10月计算机应用研究Application Research of Computers Vol.28No.10Oct.2011认证方法的缺点。
不同于数字图像,矢量图形的使用价值主要取决于图形数据的精度而不是视觉质量,因此在矢量图形中嵌入水印必须遵循相应的独特准则。
首先,水印嵌入带来的扰动不能超过图形数据所能允许的精度误差范围。
矢量图形主要由属性数据和空间坐标数据组成,由于属性数据通常不允许改动,因此数字水印一般嵌入到空间坐标数据中,并且必须保证水印嵌入幅度控制在空间坐标允许的误差范围之内。
其次,对水印系统隐蔽性和图形数据质量的评价也必须考虑空间坐标的误差容限,而不能过多地依赖人的视觉感官。
再次,矢量图形水印面临的主要攻击方式也不同于普通图像,必须考虑针对矢量图形的特定攻击方式,如坐标变化等。
相对于对图像、视频及音频数字水印技术的受关注,专门针对矢量图形数据的数字水印技术研究相对较少。
在现有的矢量图形数字水印技术中,根据嵌入技术的不同主要有以下几种:空间域算法[1 11],主要思想是在精度允许的范围内,通过改变矢量图形坐标值达到嵌入水印的目的;变换域算法[12 18],主要是将矢量图形坐标值进行某种变换,通过改变变换后的系数达到嵌入水印的目的;基于图像数字水印算法[19 21],主要思想是将矢量图形通过一定的数据预处理过程,转换为包含一定矢量图形数据信息的栅格图像,然后利用图像数字水印技术对栅格图像进行水印嵌入,再转换为矢量数据,达到水印嵌入的目的。
文献[2 21]都是在讨论用于版权保护的鲁棒数字水印,研究用于矢量图形完整性认证的文献较少。
脆弱水印能够验证矢量图形的完整性,验证矢量图形哪些部分被窜改,甚至恢复被窜改的部分,有非常广泛的应用前景。
对此,文献[1]提出一种用于防窜改的脆弱数字水印,该算法的主要缺陷在于矢量图形顶点的增加和删除会破坏算法的窜改定位能力。
文献[22]基于差值扩大的思想,通过修改矢量地图中相邻顶点坐标值的差值嵌入水印信息,提出了一种应用于矢量地图的无损数据隐藏算法,该算法的缺陷是地图顶点的扰动方向没有考虑原始地图的形状特性,因此在充分放大的地图中,这些扰动使地图具有不自然的外形特征。
1矢量图形脆弱数字水印算法设计与实现矢量图形通常由不同的实体组成,本文以具有代表性的由线性实体构成的矢量图形为例进行水印信息的嵌入。
将矢量图形中的线状实体分成不同的组;针对每个线状实体组,提取坐标数据可以被修改的位组成数据序列;将提取到的数据序列先进行压缩,再将压缩后的数据序列与原始坐标数据的数字摘要连接成一个新的数据序列;用新的数据序列替换原始数据中提取的数据序列实现水印的嵌入。
1.1矢量图形分组设每个线状实体组至少含m个坐标点,变量count初始值为0,矢量图形按如下方法分组:a)依次统计矢量图形中线状实体坐标点的个数,并将坐标点的个数累加到count中,直到count中的值大于m或统计完矢量图形中的线状实体。
b)当count中的值大于m时,将统计的线状实体记为一个分组;当count中的值小于m,但矢量图形中线状实体已统计完,则将统计的线状实体作为最后一个分组的一部分,分组操作结束。
c)将count的值置为0,依次统计矢量图形中剩余的线性实体坐标点的个数,并将坐标点的个数累加到count中,直到count中的值大于m或统计完矢量图形中的线状实体。
d)重复步骤b) c)。
矢量图形分组操作的结果为将矢量图形划分成一系列线状实体组,每个线状实体组含有的坐标点数大于等于m。
1.2水印信息的生成为处理方便,将矢量图形分组中所有的浮点坐标转换成整数坐标,然后转换成二进制序列,记为P n={x i,y i|i=1,2,…,m}。
其中:n为组的标号;xi和y i分别是组内顶点横、纵坐标转换成的二进制整数,i是组内顶点的标号;m是组内顶点的个数。
对于每个组进行如下操作:a)根据矢量图形的精度容限,提取坐标数据可以被修改的位组成数据序列。
本文采用的原始矢量图形是shapefile格式的河流图,在坐标误差容限允许的范围内,对组中的每个顶点的横、纵坐标,提取其低4位数据,按顺序连接成一个二进制序列,记为O n={z k∈{0,1}|k=mˑ4ˑ2},其中m是组内顶点的个数。
b)采用无损压缩算法压缩On,得到缩短的比特序列Sn。
c)采用哈希算法计算原始坐标序列Pn的哈希值,得到数据P n的唯一数字摘要,记为H n=hash(P n)。