《Outguess隐写算法及其安全性研究.doc》由会员分享,可在线阅读,更多相关《Outguess隐写算法及其安全性研究.doc(31页珍藏版)》请在三一办公上搜索。
1、 Outguess隐写算法及其安全性研究摘 要随着Internet越来越广泛的应用,信息安全问题也显得越来越重要。隐写术作为一种新的保密通信手段,受到了众多研究者的关注。而JPEG图像是目前在Internet网上应用最为广泛的图像格式之一,以JPEG 为隐蔽载体的隐写算法及其安全性研究具有非常重要的意义。本文主要研究如何运用现有的图像处理方法来提高以JPEG图像为载体的Outguess算法的安全性。本文的主要工作如下:(1)对Outguess隐写算法的安全性进行了深入研究。通过运用ETM (Empirical Transition Matrix) 检测算法对Outguess算法的安全性进行了详
2、细的测试。(2)寻找一些新的方法来提高Outguess的安全性。利用现有的图象处理方法,如锐化、模糊、加噪等方式,在不影响图象质量的情况下的能降低加密图象的被检测效率。实验结果表明,通过对原始图像进行加噪处理,可以有效地提高Outguess算法地安全性,降低ETM算法的检测率。关键词:隐写术;检测;Outguess; 信息安全;JPEG;AbstractWith the rapid development of Internet, the information security becomes more and more important. As a new technology of s
3、ecret communication, the digital steganogrophy have attracted much attention of the researches. Since the JPEG image is by far the most common image format in use today, the JPEG steganography and its security is very important. In this paper, we main studied how to improved the security performance
4、 of Outguess which is a JPEG steganography through image processing technologies. The main work of this paper is as follows.(1) We have studied the security performance of Outguess. The ETM (Empirical Transition Matrix) detection algorithm is adopted in our experiments to evaluate the security perfo
5、rmance of Outguess. (2) We have tried to find some new way to improve the security of Outguess. For example, the image processing technologies such as sharpening, blurring,and adding noise etc have been used in our various experiments. The experimental results demonstrate that the security performan
6、ce of Outguess can be improved through adding noise to the original carrier image, and also the detection rates of ETM can be lowered to some extent.Key words: steganography; detection; Outguess; information security; JPEG;目 录第一章前言11.1 信息隐藏技术的背景与意义11.2 信息隐藏技术简介21.3 信息隐藏的检测技术简介5第二章图象信息隐藏与检测研究过程82.1基于
7、JPEG图象的信息隐藏体系82.2OutGuess密写算法理论体系102.3基于SVM的JPEG图象隐秘分析132.3.1SVM 分类器原理简述132.3.2SVM 分类流程15第三章基于OUTGUESS算法的图象信息隐藏实验研究163.1原始隐写图象的被检测率实验163.2提高隐写图象被检测率的几种方法193.3降低隐写图象被检测率的几种方法22第四章结论24致谢25参考文献26第一章 前言1.1 信息隐藏技术的背景与意义现代信息隐藏技术是由古老的隐写术(Steganography)发展而来的,隐写术一词来源于希腊语,其对应的英文意思是“Covered writing”。隐写术的应用实例可以
8、追溯到非常久远的年代。被人们誉为历史学之父的古希腊历史学家希罗多德(Herodotus, 486425),在其著作中讲述了这样一则故事:一个名叫Histaieus的人筹划着与他的朋友合伙发起叛乱,里应外合,以便推翻波斯人的统治。他找来一位忠诚的奴隶,剃光其头发并把消息文刺在头皮上,等到头发又长起来了,把这人派出去送“信”,最后叛乱成功了。 历史上诸如此类的隐写方法还有多种。17世纪,英国的Wilkins(16141672)是资料记载中最早使用隐写墨水进行秘密通信的人,在20世纪的两次世界大战中德国间谍都使用过隐写墨水。早期的隐写墨水是由易于获得的有机物(例如牛奶、果汁或尿)制成,加热后颜色就会
9、变暗从而显现出来。后来随着化学工业的发展,在第一次世界大战中人们制造出了复杂的化合物做成隐写墨水和显影剂。在中国古代,人们曾经使用挖有若干小孔的纸模板盖在信件上,从中取出秘密传递的消息,而信件的全文则是为打掩护用的。现代又发明了很多方法用于信息隐藏:高分辨率缩微胶片、扩频通信、流星余迹散射通信、语义编码(Semagram)等。其中,扩频通信和流星余迹散射通信多用于军事上,使敌手难以检测和干扰通信信号;语义编码是指用非文字的东西来表示文字消息的内容,例如把手表指针拧到不同的位置可表示不同的含义,用图画、乐谱等都可以进行语义编码。 上述各种隐藏消息的手段都有一个共同的特点,就是为了不引起人们的注意
10、和怀疑。下面介绍的现代信息隐藏技术主要是研究基于计算机系统的各种手段和方法。随着计算机技术与互连网技术的迅猛发展,数字与网络的新科技时代已经悄然来临。尤其是随着因特网的广泛应用,使得人们在工作方式、生活方式、思维方式等诸多方面都发生了不少的变化,带来了方便、快捷和舒适。然而现在人类的生存已经强烈地依赖于计算机网络技术,使其不仅仅影响了人们的各方面生活,甚至渗透到了国家的政府、军事、经济、文化等领域,在这些领域中都离不开计算机网络技术。计算机网络技术的迅速发展的同时,加速了经济全球化与全球信息化的步伐,促进了整个世界的巨大发展。电子商务、电子政务都是网络时代政治和经济活动的全新形式。计算机网络技
11、术改变了几千年的人类交流方式,尤其是网络技术与多媒体技术的相结合,更是大大地扩宽了网络技术的应用范围。然而,随着互联网的日益普及,多媒体信息的交流已经达到了前所未有的深度和广度,其发布形式也更加丰富了。网络已经成为人民获得信息的重要手段之一,但是伴随而来出现的问题也相当严重:如作品侵权、纂改等问题。因此如何既能够充分利用互联网带来的便利,又能够有效地保护知识产权、保护信息的安全传输,正受到更多的人们的高度重视。由此而新兴的学科“信息隐藏学”也愈来愈受欢迎,所谓的信息隐藏是在网络环境下把机密信息隐藏在其他无关紧要的信息中形成隐秘信道,除了通信双方以外的任何第三方并不知道秘密通信这个事实的存在,信
12、息加密从“看不懂”变为“看不见”,从而成功地转移了攻击者的目标,实现了信息的隐藏。信息隐藏技术主要研究向掩体对象中嵌入秘密信息,而隐写分析技术则主要研究对隐藏信息的检测、破解秘密信息或通过对隐藏对象处理从而破坏嵌入信息和阻止秘密通信。本文主要讨论图像中隐藏信息的检测问题,也称为图像隐写分析。它对于保障网络信息安全具有重要的意义。 现今的信息隐藏学作为隐秘通信和知识产权保护等的主要手段,正得到越来越广泛的研究与应用。正因如此,本文的主要研究方向也将在这两方面进行,一方面使隐秘通信变得更加隐秘,在另一方面要使知识产权保护手段变得更强硬。1.2 信息隐藏技术简介信息隐藏(Information Hi
13、ding)是一个覆盖范围较大的问题,通用术语指信息不被感知或对信息的存在进行保密,水印技术(watermark) 和隐写术(steganography)是信息隐藏的两个最重要的应用分支,鉴于信息隐藏技术的应用前景和在经济、军事、安全等技术上的重要性,全球支持或开展此项研究的政府机构和研究部门很多。信息隐藏也被称为“信息隐匿”或“信息隐形”。到目前为止,信息隐藏还没有一个准确和公认的定义。一般认为,信息隐藏是信息安全研究领域与密码技术紧密相关的一大分支。信息隐藏和信息加密都是为了保护秘密信息的存储和传输,使之免遭敌手的破坏和攻击,但两者之间有着显著的区别。信息加密是利用单钥或双钥密码算法把明文变
14、换成密文通过公开信道送到接收者手中。由于密文是一堆乱码,攻击者监视着信道的通信,一旦截获到乱码,就可以利用已有的对各种密码体制的攻击方法进行破译了。由此可见,信息加密所保护的是信息的内容。信息隐藏则不同,秘密信息被嵌入表面上看起来无害的宿主信息中,攻击者无法直观地判断他所监视的信息中是否含有秘密信息,换句话说,含有隐匿信息的宿主信息不会引起别人的注意和怀疑。信息隐藏的目的是使敌手不知道哪里有秘密,它隐藏了信息的存在形式。这就好比隐形飞机不能被雷达探测到,从而避免了被袭击的危险。众所周知,密码的不可破译度是靠不断增加密钥的长度来提高的,然而随着计算机计算能力的迅速增长,密码的安全度始终面临着新的
15、挑战。如今令人们欣喜的是,信息隐藏技术的出现和发展,为信息安全的研究和应用拓展了一个新的领域。而且,由于近年来各国政府出于国家安全方面的考虑,对密码的使用场合及密码强度都做了严格的限制,这就更加激发了人们对信息隐藏技术研究的热情。追溯现代隐藏信息技术的历史,在1984 年,Simons提出了不可视通讯的经典模型“囚犯模型”,如图1.2.1所示: 下图1.2.1中囚犯Alice 和Bob 之间的通信,必须接受看守人Wendy 的监督。Alice 和Bob 之间不能用加密通信,为了能够进行秘密通信,他们采用隐写术进行通信。隐写术是一种将秘密信息隐藏在表面无害的载体中进行通信,以隐藏通信本身的存在性
16、。Alice 和Bob 将秘密信息隐藏在表面无害的通信载体中以躲避Wendy 的检查。Wendy 要阻止Alice 和Bob 间的秘密通信,就必须对所得到的信息进行分析检测,以确定是否有隐藏的信息,Wendy 的工作就是隐写分析要完成的任务。隐写分析是能够发现隐藏消息的一种技术,由确定可疑对象、确定隐写机制、恢复隐写密钥、提取隐藏信息几部分组成,近年来成为信息安全领域中一个新的研究热点。隐写分析是比隐写术更新的研究领域。最早关于在图像中寻找隐藏信息的技术出现在20 世纪90 年代中期。现代隐写术可以用于各种数字媒体中,例如图像、音频、视频、文本等,相对应的隐写分析也会有所不同。 wendyAl
17、iceIs it stegoBob Suppress message Embedding Extracting Secret key Algorithm Algorithm Secret key Cover Message Secret message Hidden messageSecret message:隐藏信息;Secret key:隐写密钥; Embedding Algorithm:嵌入算法;Extracting Algorithm:提取算法; Hidden message:被隐藏的信息图1.2.1信息隐藏技术主要由下述两部分组成:(1)信息嵌入算法,它利用密钥来实现秘密信息的隐藏。
18、(2)隐蔽信息检测/提取算法(检测器),它利用密钥从隐蔽载体中检测/恢复出秘密信息。在密钥未知的前提下,第三者很难从隐秘载体中得到或删除,甚至发现秘密信息。下图1.2.2即是一个信息隐藏的通用模型:密钥密钥隐秘信息隐秘信息检测器通信信道嵌入算法载体信息图1.2.2信息隐藏模型信息隐藏不同于传统的加密,因为其目的不在于限制正常的资料存取,而在于保证隐藏数据不被侵犯和发现。另外,由于信息隐藏必须考虑隐藏的信息在经历各种环境、操作之后,仍需具有免遭破坏的能力,因此,信息隐藏技术必须考虑正常的信息操作所造成的威胁,使机密资料对正常的数据操作技术具有免疫能力。这种免疫力的关键是要使隐藏信息部分不易被正常
19、的数据操作如通常的信号变换操作或数据压缩所破坏。 根据信息隐藏的目的和技术要求,该技术存在以下特性18:(1)鲁棒性(robustness) 指不因图象文件的某种改动而导致隐藏信息丢失的能力。这里所谓“改动”包括传输过程中的信道噪音、滤波操作、重采样、有损编码压缩、D/A或A/D转换等。(2)不可检测性(undetectability) 指隐蔽载体与原始载体具有一致的特性。如具有一致的统计噪声分布等。使非法拦截者无法判断是否有隐蔽信息。(3)透明性(invisibility) 利用人类视觉系统或人类听觉系统属性,经过一系列隐藏处理,使目标数据没有明显的降质现象,而隐藏的数据却无法人为地看见或听
20、见。(4)安全性(security) 指隐藏算法有较强的抗攻击能力,即它必须能够承受一定程度的人为攻击,而使隐藏信息不会被破坏。(5)自恢复性 由于经过一些操作或变换后,可能会使原图产生较大的破坏,如果只从留下的片段数据,仍能恢复隐藏信号,而且恢复过程不需要宿主信号,这就是所谓的自恢复性。信息隐藏学是一门新兴的交叉学科,在计算机、通讯、保密学等领域有着广阔的应用前景。1.3 信息隐藏的检测技术简介 近年来,信息隐藏技术得到了越来越广泛的关注。采用信息隐藏技术,可以将重要的保密信息隐藏于公开的数字文件中,通过传递公开数字文件来传递隐秘信息,使第三者察觉不到秘密信息甚至秘密通信的存在,从而达到安全
21、传递信息的目的。然而,由于秘密信息的传递仅保证单方面安全发送却无法让用者方便提取,使得这项技术的价值被严重削弱了。此外,若是信息隐藏技术被犯罪分子利用, 难免会威胁到国家的安全和社会的稳定。因此,自然就有了对信息隐藏的攻击技术。而在对信息隐藏攻击之前,首先要明确攻击的确切方位,即在若干数字文件中正确分辨出哪些数字文件中含有隐秘信息,于是就产生了称之为信息隐藏的检测技术。 信息隐藏的检测技术分类:从不同角度出发,信息隐藏的检测技术可以有多种划分: 1) 对比检测方法:在对比检测方法中,检测过程需要将隐秘载体(含有特定隐藏信息的载体) 和原始载体(未嵌入任何信息的干净数字载体:文本、图像、视频、音
22、频片段等) 进行对比,原始载体和隐秘载体的像素进行关联分析、对其变换域系数关联分析,从而发现隐藏信息的是否存在。这种方法相对简单,但由于不易获取完整的原始载体信息,所以实际意义不大。2) 盲检测方法:就是指在没有原始载体的情况下,仅仅通过隐秘载体检测隐藏信息的方法。通常通过对自然数字图像发生的特征变化进行分析,进而判断是否存在信息的嵌入。盲检测主要依赖于信号检测技术、信号估计和预测技术以及巧妙的算法设计策略, 难度较大, 但具有更广泛的应用前景。目前比较成熟的有RQP (Raw Quick Pairs)检测法和Farid 检测法。3) 时空域检测方法:主要用于检测基于时空域嵌入方法的信息隐藏,
23、如LSB 嵌入方法。时空域检测实现简单,但检测能力有限,多数算法仅采用了一阶统计量方法。4) 频域检测方法:对于嵌入信息的数字图像,在频率域中呈现出与原始图像不同的特性,利用这种特性可以检测出是否存在信息嵌入,常用的频域方法有傅里叶变换、离散余弦变换和小波变换。5) 基于签名的检测方:针对已知的隐藏算法和工具,分析信息嵌入的模式,从而判定是否存在该算法或工具实现的信息隐藏。该方法的优点是检测准确性高,可以分辨出具体的嵌入算法和工具,但缺点是对未知模式无能为力,无法检测未知的隐藏算法和工具。6) 基于统计的检测方法:在信息嵌入到数字图像中后,根据数字图像的统计特性的偏离判定是否存在信息隐藏。该算
24、法的优点在于它寻求一类图像或算法的检测方法,具有较通用的检测能力,但检测准确性受外界因素影响大,无法分辨是哪一种隐藏工具和算法。随着信息隐藏的检测技术的不断发展,出现了多种检测方法,下面将简单介绍两种种较成熟的检测技术:RQP 检测法u 基本思想:该方法利用了L SB 算法嵌入秘密信息的过程会引起载体信息的一阶统计数据(Fir st2Order) 改变的性质,达到检测目的。通过分析1 幅图像中相邻颜色对的改变,可以判断其中是否含有以L SB 算法嵌入的隐藏信息。检查相邻颜色对与所有颜色对之间的比例,进行统计对比,可以检测出以随机L SB 算法隐藏在24 位图像中的秘密信息。u 特点:该法简单、
25、易于实现,但仅对LSB 算法有效,不通用;只能粗略检测出隐藏信息的大小;人们已经注意到了一阶统计数据被改变的问题,并已研究出了针对这项检测技术的隐藏工具,如OutGuess ,可以保证在不改变一阶统计数据的同时嵌入秘密信息。 Farid 检测法u 基本思想Farid 检测法通过对大量图像信息进行多数值范围(Multi2scale) 的小波分解得到预期的高阶统计数据,再与待测图像信息的统计结果进行比较,从而实现隐藏信息的检测。图像信息的小波分解使用QMFs (Quadrat ure Mirror Filter s)积分映射过滤器,将图像在频域空间上以多数值方向进行分解,用可分离的低通和高通滤波器
26、在图像各个轴上生成多方向的低通子频带。统计模型中包括了子频带系数在各方向和数值范围上的均值、方差、偏斜度及峰值,这些统计数据代表了基本的特征系数分布。在此基础上根据Fisher 线性分类的思想对统计结果进行分类,将干净信息和隐蔽载体区分开来,从而检测出可疑图像中是否含有隐藏信息。u 特点该法可以在没有原始载体信息的条件下,实现隐秘信息的盲检测; 在采用模式识别分类时,只能针对图像信息,缺乏通用性;该方法的适应性较差,需要经过大量的样本来训练。 总之,信息隐藏技术的研究主要集中在信息隐藏的检测算法上,现有的检测算法还不够完善,存在着诸如效率不高、误报率和漏报率相对较高、检测速度较慢等问题。此外,
27、通常每种检测算法都有相应的局限性,亟须研究出一个成熟、通用的检测算法。信息隐藏的检测技术在理论研究上还有很长一段路要走,距实际应用还有很大的距离。未来的信息隐藏的检测技术研究应集中在基于统计的检测方法、检测结果的优化与融合技术等方面。第二章 图象信息隐藏与检测研究过程2.1 基于JPEG图象的信息隐藏体系JPEG(Joint Photographic Experts Group) 联合图象专家组规范。JPEG 是一个由ISO和IEC两个组织机构联合组成的一个专家组,负责制定静态的数字图象数据压缩编码标准,因此又称为JPEG标准。JPEG是一个适用范围很广的静态图象数据压缩标准,既可用于灰度图象
28、又可用于彩色图象。JPEG专家组开发了两种基本的压缩算法,一种是采用以DCT(Discrete Cosine Transform)为基础的有损压缩算法,另一种是采用以预测技术为基础的无损压缩算法。由于前者具有较高的压缩率,实际上已成为目前JPEG压缩的常见形式。基于DCT变换的编码流程图如图2.1.1所示:源图象数据量化器FDCT变换量化表熵编码表压缩图象数据熵编码器图2.1.1 基于DCT变换的编码流程图首先,源图像数据被分成8*8像素块,每块使用正向DCT(Forward DCT,FDCT)进行变换,得到64个DCT系数值,这些DCT系数从低频到高频按照Zigzag次序排列,第个值为DC(
29、直流)系数,其他63个为AC(交流)系数。然后,使用已经规范化好的量化表对每个DCT系数量化。前一量化的DC系数用于预测当前的DC系数,然后对其差值进行编码;63个AC系数不进行差分编码。最后,对DCT系数进行熵编码。熵编码的算法有两种:哈夫曼编码和算术编码,当前采用较多的是哈夫曼编码。解码的过程和编码过程相反,如图2.1.2所示:源图象数据反量化器IDCT变换量化表熵编码表压缩图象数据熵编码器图2.1.1 基于DCT变换的解码流程图使用有损压缩算法时,在压缩比为25:1的情况下,压缩后还原得到的图象与原始图象相比较,非图象专家难于找出它们之间的区别,因此得到了广泛的应用。例如,在V-CD和D
30、VD-Video电视图象压缩技术中,就使用JPEG的有损压缩算法来取消空间冗余数据。为了在保证图象质量的前提下进一步提高压缩比,近年来JPEG专家组正在制定JPEG2000(简称JP2000)标准,这个标准中将采用小波变换(wavelet)算法。 JPEG是一个有损耗的图象压缩算法,经常通过10个或更多因子中的一个来减少位图化图象的大小,它产生很小或根本不产生能够被分辨出来的图象损耗。JPEG压缩按照以下方式工作:滤掉一个图象的高频信息以减少数据量,然后通过一个无损耗的压缩算法对得到的结果数据进行压缩。低频信息在定义一个图象的特性方面贡献更大,因此丢失一些高频信息未必会影响图象质量。基于JPE
31、G 图像的隐写方案有两种:一种是私有水印方案,即需要原始图像的参与来进行隐写图像的提取和检测;另一种是公有水印方案,只需在嵌入过程记录一些原始图像的参数即可,检测时就不再需要原始图像。对应这两种方案相应地也有各种各样的算法,最出名的包括MB、OutGuess、F5等等,以及一些针对专门的图像的专有算法。涉及到具体的信息隐藏,又可分为两种方式:空间域方法和变换域方法。隐藏算法分为三个步骤:(1)对JPEG文件进行格式分析,获得它的熵编码信息,采用哈夫曼解码或算术解码,得到整幅图像的DCT变换系数;(2)按照某种规则对得到的DCT变换系数做一些微小的修改,将要隐藏的信息嵌入到DCT变换系数中;(3
32、)将修改后的DCT变换系数进行熵编码写入到新的JPEG文件中。提取秘密信息的算法则是隐藏算法的逆过程。最关键的是第二步中修改规则的制定。目前已出现多种基于不同修改原则的,以JPEG图像为载体的密写技术。2.2 OutGuess密写算法理论体系JPEG图像是由分块DCT变换后的系数按照一定的量化表量化而成,量化后的系数是量化表中对应量化步长的整数倍。目前已出现了多种以JPEG图像为载体的密写方法。有的方法先修改量化表中对应中高频分量的量化步长,然后将秘密信息嵌入在图像的中高频系数上。但修改后的中高频量化步长会小于低频量化步长,这种异常会暴露秘密信息的存在,因此安全性不高。大多数密写方法并不改变原
33、始图像的量化表,而是根据一定的规则直接将秘密信息嵌入在量化后的DCI系数上,如Jsteg,F5,OutGuess等,在这里主要介绍基于OutGuess算法的图象信息隐藏密写算法。OutGuess算法是Niels Provos针对Jsteg1类算法的缺陷提出的种方法,主要分两个部分:嵌入过程和纠正过程。嵌入过程不修改值为0、l的DCT系数,随机决定下个要嵌入的DCT系数的位置。纠正过程是利用那些未被修改的DCT系数进行修改来保持 妨图不变。OutGuess在嵌入信息时修改了DUF系数,在纠正过程中也修改可DCT系数,这种改变会造成空间域的边界不连续性,修改越多则不连续性越大,因此,也存在安全漏洞
34、,而我们的主要目的则在于如何提高其安全性。(Jsteg是基于JPEG图像格式的著名的密写工具;由DUpham最早发明,而后很多软件采用类似方法。Jsteg是将个二边制位的秘密信息隐藏在DCT量化后系数不是0、1、-1的最低一位。接收方解码时只要依次取反量化DCT矩阵系数(不是0、l、-1)的最低个二进制位即可。由于Jsteg密写仅仅在不等于0、1、-1的DCT系数上嵌入信息,所以密写量较小。由于算法是将秘密信息直接嵌入在DCT系数的LSB上,因此不能抵抗X2分析。)OutGuess 算法是由一种将密码学知识与数据隐藏技术结合而成的算法,现在已发展至0.2 版本,OutGuess0.2 算法在加
35、密过程中加入了用户口令(key)的参与,在整幅图像中根据口令的不同按一定的规则选取出部分DCT 系数修改其最末比特为所需嵌入的信息,达到了使所隐藏的数据相对检测完全分散的目的。因为在没有用户口令的情况下OutGuess0.2 算法加密后的图像中的隐藏信息相对检测者而言是完全随机的。抵抗检测的能力比有序分布的隐藏信息大大提高,OutGuess0.2 算法对加密的操作基于PRNG产生的伪随机数列这样的操作在对PRNG 算法或用户口令不知晓的人或程序看来是完全无序的,而在有相同PRNG 算法且提供相同的的用户口令时可以得到完全一样的数列,可以方便的进行恢复或读取等OutGuess0.2 的操作过程主
36、要步骤为,开始JPEG压缩在获得量化后的DCT系数矩阵后,系统向加密用户请求获得一个口令将口令送至PRNG, 初始化伪随机序列然后将伪随机序列中的数依次取出作为选择DCT 系数的步长按步长逐次取出选定的DCT 系数,若系数值为0 或1 则跳过选取下一个若DCT系数,若不为这两个值则将其最末位替代为所需隐藏信息的一位所有信息隐藏完毕后或宿主图像已满报错后继续进行压缩过程。Outguess使用RC4密码算法初始化流加密器和伪随机数发生器。流加密器用于加密欲隐藏的信息,伪随机数发生器用于控制DCT系数的选取。具体描述如下:记 其中表示1,x 范围内的一个随机数,由剩余的冗余信息位数量和剩余的欲嵌入信
37、息量来决定。Outguess V 02在嵌入信息前保留原始载体JPEG文件的DCT系数统计特性。信息嵌入过程中并非在所有可被修改DCT系数中都嵌入隐藏信息,而是剩余部分DCT系数空间;隐藏信息嵌入后,进行第二次遍历,利用第一次嵌入后剩下的空间修正DCT系数,以求尽量减少其统计特性的改变。Outguess 013隐藏算法将被修改的DCT系数尽量均匀地分布到整个DCT系数空间范围内,上述卡方检测对此算法效果不理想。Provos提出了扩展的卡方检测。该方法使用大小固定的样本空间,而检测位置不固定。为获取合适大小的样本,取两个不相关的DCT系数的平均值作为期望值做扩展的卡方检测:, 分别作为其期望值和
38、观测值。计算卡方值时样本空间采用二分法,当计算的P最接近阈值但又不服从同一分布时停止计算,此时的样本大小即确定为做扩展卡方检测的样本大小。卡方统计的方法和扩展的卡方统计依赖于DCT系数的频谱,Outguess 02版本较好地保持了信息嵌入前后DCT系数的统计特性,J Fridrich提出了一种基于JPEG兼容性且不需要计算DCT系数直方图的检测算法:其中表示尺度为M*N灰度图像的像素值。将解压后待检图像沿边框裁剪4个像素,作为载体图像的近似,再采用与原始待检图像相同的压缩量化标准压缩裁剪后的图像,作为原始待检图像的近似,计算其B值,记为:B(0);使用Outguess对近似的载体图像尽可能多地
39、嵌入隐藏信息,计算B值,记为:B(1);使用Outguess对近似的待检图像尽可能多地嵌入隐藏信息,计算B值,记为:B1(1);记,定义待检图像含有隐藏信息的度量值为:为取得一个较精确值。做法是多次重复以上步骤,将P的计算结果取平均值。当p=0时即可认为其不含有隐藏信息,当p=l时,认为Outguess含有尽可能多的隐藏信息。在此基础上OutGuess0.2 版本还引入了对DCT 系数直方图的维护,即在加密过程完成后采用一种算法修改一些冗余的DCT 系数,图象加密前后值相同的DCT 系数其总个数不变,这就使使用DCT 系数直方图检测的算法完全失去了用武之地。为了更直观地了解此算法。我们给出了经
40、过Outguess 算法加密前后图象的两图如下: 图2.2-1 原始图象 图2.2-2 经加密后图象 从上面两图可直观地看不出任何区别,但是图2.2-2为在原图象图2.2-1嵌入加密信息后产生的加密图象。2.3 基于SVM的JPEG图象隐秘分析在图象信息检测过程中,为了各种目的而如何提高检测一幅图片是否隐藏有加密信息的效率已经越来越重要了,在这种检测过程中,首先将提取图片的DCT系数,然后再利用各种检测算法来一一区分图象是否加密过。数字水印检测就是通过构造检测系统对数字媒体信息进行分析和处理,得到是否含有数字水印的判断。现有的基于统计的数字图像水印检测方法中存在着几个需要解决的问题:一是需要找
41、到一种具体严密的理论支持的通用的检测方法;二是对于非线性相关的数字水印,现有的基于统计的水印检测技术无法解决维数灾难问题;三是现有的基于统计的水印检测技术在样本数量较小时的检测效果较差。有很多统计特征量可以用于图像信息隐藏的检测,当分别利用这些特征量进行识别时,识别的精度不是很高,考虑将这些特征量组合起来形成特征矢量,然后再采用分类性能很好的SVM 分类器进行检测,从而实现一种高精度的隐藏算法检测器SVM是Vapnik等根据统计学习理论提出的一种新的机器学习方法,它是建立在VC维和结构风险最小化原则等众多标准技术基础上的。根据有限样本信息在模型的复杂性和学习能力之间寻求最佳折中,获得最好的泛化
42、能力。2.3.1 SVM 分类器原理简述近年来支持向量机(SVM)受到广泛关注。它以统计学习理论为基础,避免了局部最优解,在训练样本较少的情况下可以很好地解决多维向量的分类问题。它的基本思想是,对于一个给定的具有有限数量训练样本的学习任务,如何在准确性和机器容量两方面进行折中,以得到最佳的推广性能。设线性可分样本集为:(Xi,Yi),i=1,2,3, ,n, x R2 , y+l,-l。Y是类别标号,则d维空间中线性判别函数的一般形式为 2.3.1-1另外,对于二类可分问题,我们期望分类超平面有最大的分类间隔,特别地,我们期望找到这个分类超平面:,以及两个和这个分类线平行等距离的分类平面: ;
43、 条件是Hl和H2之间没有任何数据点,且在lH和H2之间有最大的间隔(maximum margin)。显然,Hl和H2应为过两类样本中与H距离最近的点的超平面。由空间几何理论可表示出Hl和H2与H的距离并得出分类间隔的大小为2/(|w|),使间隔最大等价于使|w|2 最小,而Hl和H2间无数据点可表示为,因此分类问题转化为如下最优化问题: 2.3.1-2使得 i=1,2,3,n再引入Lagrange 常子 ,我们可以得到如下函数: 2.3.1-3我们的问题是对W和b求Lagrange函数的极小值为此对式2.3-3分别求变量W和b的偏导并令其为,可以将式2.3-3 转化为其wolf对偶问题(du
44、al problem) 2.3.1-4使得 (等式约束条件) 0=1,2,n (不等式约束条件)式2.3-4被称为训练SVM的对偶问题,该最优化问题是凸集上的凸优化问题存在唯一的全局最优解,满足稀疏性(sparsity),只有那些处于分类面边缘的样本即支持向量(support vectors)所对应的不为0,因此式子中的求和只对支持向量进行而b可以由任意支持向量由约束式子: i=1,2,3,n 求出。由,而有: 并由此得到最优分类函数为: 2.3.1-5这就是支持向量机SVM。2.3.2 SVM 分类流程采用SVM作为数字图像隐写检测的方法流程如下:(1)训练样本的采集。特征矢量的选择可以从图
45、像的质量统计量出发。针对JPEG 隐藏算法改变DCT 系数来隐藏信息的方法,DCT 系数的直方图可以作为一个重要的判别特征量。而空间域的边界不连续性是判断JPEG 图像是否隐藏有信息的一个重要判别量。由于在隐藏信息时修改了DCT 系数,这种改变会造成空间域的边界不连续性,修改越多则不连续性越大。(2)确定图像的特征向量。图像的特征向量是一幅图像区别于其他图像的关键要素。之所以能判断出一幅图像不同于另外一幅图像取决于其中某个或某些要素,如灰度、亮度等。图像的特征很多,为了能更好或更简洁地区分图像,必须挑出其中关键之特征。图像特征选择是一个研究热点问题,当前已有许多成型的图像特征选择方法,如直方图
46、方法、灰度共生矩阵方法等,本次实验采用的是提取图象的DCT系数作为图象的特征向量。(3)量化图像特征向量。选择出图像特征向量后,为使SVM进行训练必须对特征向量数量化。可以采用各种方法对各特征向量归一化处理,得到一个训练集数据库。工具即为ETM-200。(4)使用SVM进行训练。一幅图像的上下文之间有一定的相关性,即相邻频率块之间的变化具有一定的内在特性,而信息隐藏时不考虑这种特性,因此会在一定程度上破坏这种相关性。把得到的训练集数据库给SVM进行训练从而产生分类规则来进行下一步的分类。(5)检测并给出结果。输入待测图像的特征向量,给SVM采用训练样本集训练出的规测进行检测,并判断待测图象出是否含有数字密写信息,从而区分出正确结果。第