吕嫄
摘要:数字水印技术在现在的信息安全领域,成为了主要的研究热点方向,其成为了当前的主要的信息隐藏技术。随着信息化技术不断发展,数字水印技术被广泛应用,该文主要介绍在C#开发平台下进行数字水印系统的编码实现,对应用数字水印处理相关原理进行介绍。下面本文主要针对数字水印的基本研究现状、C#相关问题进行介绍,并在C#平台开发上实现了数字水印系统编码。
关键词:C#;数字水印;数字水印系统
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2014)36-8624-02
近年来,随着计算机网络、通信技术快速发展,对于人们的信息隐私保护问题成为了当前研究的重点。信息技术虽然快速发展,但是其安全性保护问题却一直是人们担忧的问题,目前主要的信息安全保护均是以数学理论和密码学作为基础,这两种技术都属于从数据加密和访问权限控制来实现保护。但是这种方法却不能够完全解决信息安全问题所带来的其他问题,密码技术在经过破译之后也能够对信息进行泄密,其具有局限性[1]。另外现代多媒体技术快速发展,对于一些重要信息需要进行数据加密、权限认证和数字版权保护仅仅使用密码措施,难以满足当前的要求。因此传统的加密处理难以满足当前信息时代发展的需求,于是人们发现了数字水印技术可以更加有效的对信息进行保护。其在数字认证、版权保护具有独特优势,面对快速发展的信息科技,数字水印技术解决了加密处理过程中的一些常规性问题。
1 数字水印研究现状
国外数字水印技术的起步时间比我国早,发展的时间较长,而在我国,随着信息隐藏技术的不断发展,使得很多的人越来越关注信息隐藏技术与数字水印技术,研究的力度也进一步加大,经过多年的发展,信息隐藏技术方面的领域与一些密码学、信息安全、信号处理等取得了很好的成果。如今数字水印技术作为一种隐藏通信与知识产权保护等方面具有极其重要作用的技术,正在被社会各界广泛的运用[2]。
随着数字水印理论和实践得到较大的突破时,目前数字水印在信息技术、信息标识隐藏、数字出版版权保护、非对称握手认证等方面的应用最为广泛。对于数字水印版权保护应用方面,主要集中在电子商务认证、传媒行业大规模广播服务、个人多媒体制品分享等方面,此外,数字水印还为工程制图、医学显像、监控、物理成像、多媒体检索等做出了巨大的贡献。在认证上,数字水印采用了信用卡、ID卡、票据等作为防伪和检测的重要手段,由于数字水印和隐藏通信能够很好的结合,使得数字水印在国防中不可通信中也得到了广泛的运用,数字水印能够为用户提供一个秘密的、公共的信息传输平台[3]。
目前对于证件的防伪面临着较大的困难,从造假到贩假到最后的用假,伪造证件已经成为了社会上的一种常见现象,也行成了一个巨大的产业链。伪造证件的使用无论在人才就业上、升学上、甄选上还是晋职调选上都产生了一股歪风邪气,给各企业带来严重的损失,严重的打击了人才甄选时的公信力和公平性。鉴于此,数字水印技术就伪造问题进行了深入的研究,将辨别真伪作为了应用中的重点,避免出现复制、仿造、假冒的现象,通过以往实践的经验来看,引入数字水印技术后,极大的降低了复制、仿造、假冒的现象。
数字水印利用数据隐藏的原理可以将版权设置为不可见或者不可听,从而在不损坏原有作品的基础上对其版权进行有力的保护。目前,我国的数字水印技术对版权的保护已经处于实用化阶段,如采用了IBM公司的数字图书馆软件中的数字水印功能和ADOBE工期的Photoshop软件中的数字水印插件等。虽然数字水印技术目前还有待提高,很容易遭到第三方的破解或破坏,但是数字水印技术为我们提供了一个开阔的发展前景。
2 C#相关介绍
C#作为一种面向对象的开发语言,并在NET Fremework框架环境中运行,其和C与C++相比,C#的很多功能得到了进一步的加强,并对一些语言规则进行了规范,如C#中仅允许了单继承,可以一个类实现多个接口。此外,C#比C和C++更注重语言的安全性,安全转换是唯一的且默认的,例如需要从派生类的基类中换算或者取整计算,布尔类型是不允许非空指针进行隐式转换成整数,该点和C++中的复制构造函数有很大的区别。至于C#的模板,可以采取仿制调用的方式,C#还支持了以前C++中不支出的对象以及方法,并在C#2.0版本中还增添了新功能[4]。
利用C#源代码对应用程序进行开发,无法直接将编译的源代码在操作系统中转换为可以直接执行的二进制代码,该特点和java语言类似,它会先生成一个中间代码,然后再通过NET Fremework虚拟机对中间代码进行执行,所以虽然在表面上看起来可执行的文件都是后缀为exe文件,和传统并无太大区别,但是如果执行的计算机上并没有安装NET Fremework框架,那么这些程序是无法被执行的。NET Fremework将中间代码翻译成机器可以执行的二进制代码,才能够使程序执行,如果执行的代码是相同的,NET Fremework则会调用曾经存储在缓存中的代码,就可以不需要进行二次编制就可以执行,这样的设计能够更快的提高执行的速度和效率。
上述提到NET Fremework对C#语言的执行的重要性,那么NET Fremework又为何物?NET Fremework被称为NET框架,是一种能够快速应用化、便捷化、网络化、独立化的开发平台,其能够支持多种编程语言,如C++、C#、VB等,其作为一种开发环境架构,提供了大部分语言必要的开发工具和功能,正由于这些特性使得其能够被广泛的运用。
3 基于C#平台开发数字水印系统
3.1 数字水印图像处理方式
1) Bitmap类图像处理
Bitmap类图像处理其主要是在Bitmap类中封装了一个位图,由图像和属性像素信息数据等组成,主要包含了设定像素颜色、获得像素颜色、返回像素格式、获得颜色调色板、返回高度和宽度,锁定内层的位图像素、锁定内层里的位图像素,这些都是对图像的基本形状和像素进行处理。当然在处理过程中既有设定颜色和像素,也有调色板进行颜色调色,使得位图的像素处理满足设计者的需求,从而更加满足设计者的要求[5]。endprint
2) BitmapData类图像处理
BitmapData类在描述图像的时候,主要是描述被锁定位图的主要属性,包含了返回高度、返回宽度、像素格式、返回被锁定位图的首字节位置以及扫描宽度等。
3) Graphics类图像处理
Graphics类图像处理是C#图像类处理的GDI核心,其定义了绘制和填充图形的方法属性,程序在进行图像绘画的时候,必须调用Graphics类进行图像处理。
此三种图像处理方法在数字水印中占据着非常重要的作用,在整个系统中都需要使用各类图像处理方法。
3.2 水印信息加解扰码算法
在加扰编码过程中,水印变换设计中可以起到对图像能量扩散的效果,使得原来的图像能量集中在水印信息中,并且扩散为一串伪随机的m序列,而且具备了一定水印信息的防篡改能力[6]。选取多项式(20 3 0)的m序列作为加扰多项式,将水印图像像素信息转变为Byte型数组,然后依次将Byte型数组输入(20 3 0)移位寄存器进行加扰。其具体算法为:
private void scramble(byte[] watermark)//自同步加扰
{ int i,j;//中间循环变量
//开辟一个21长度的byte型数组来储存移位寄存器的状态,
byte[] poly = new byte[21];
//初始状态
for (i = 0;i < poly.Length; i++)
{ poly[i] = watermark[i]; }
//申请移位寄存器的输出值
byte temp;
//开始进行加扰
for (i = 0; i < watermark.Length; i++ )
{ if (i < watermark.Length - 20)
{ //移位寄存器的输出
//(20 3 0)的移位寄存器的计算输出值
temp = poly[i] ^ poly[i + 17] ^ poly[i + 20];
//输出与原序列进行模运算,用来加扰
watermark[i] = watermark[i] ^ temp;
//对移位寄存器状态进行左移置位
for (j = 20;j < 1;j—)
{ poly[j] = poly[j-1];//所有数据左移一位}
poly[0] = temp; //将上一次移位寄存器的输出作为新的状态里的第一位
}
else
{ //移位寄存器的输出
temp = poly[i] ^ poly[i + 17] ^ poly[i + 20];
//输出与原序列进行加扰
watermark[i] = watermark[i] ^ temp;
//对移位寄存器状态左移置位
for (j = 20; j < 1; j—)
{ poly[j] = poly[j - 1];}//所有数据左移一位
poly[0] = 0x00;//将0x00作为新的状态里的第一位
} } }
本次主要针对水印技术在具体的现实实现和应用进行分析,首先是基于C#平台的安全性和代码编码安全性基础,选取了数字图像处理算法,最终将内存法作为开发的基本算法。随后从详细算法中实现、算法流程多个角度进行水印变换算法,将经典的算法进行改良。
4 结束语
近年来,数字水印技术的在图像处理技术在通信领域获得了极其重要的进展,该文主要针对其基本的理论知识以及相应的发展状况进行综述。另外针对C#平台上得数字水印技术系统的开发设计等进行详细研究,介绍了在数字水印技术中的三种图像处理技术以及水印信息加解扰码算法的具体编码应用。
参考文献:
[1] 刘竹松,陈平华,刘怡俊.混沌数字水印技术研究进展[J].计算机应用研究,2011(01):1-5,9.
[2] 吴金海,林福宗.基于数字水印的图像认证技术[J].计算机学报,2004(09):1153-1161.
[3] 吴亚坤,邸春红.数字水印技术综述[J]. 辽宁大学学报,2010(03):202-206.
[4] 马秀莹,林家骏.数字水印系统性能评价研究的现状与展望[J].计算机工程与设计,2009(22):5233-5238.
[5] 李雷达.数字水印抗几何攻击理论及应用研究[D].西安电子科技大学,2009.
[6] 骆婷.鲁棒图像数字水印算法和数字水印协议研究[D].华中科技大学,2010.endprint