信息隐藏报告范例
信息隐藏算法实验报告

一、实验背景信息隐藏技术是一种在传输或存储过程中将隐秘信息隐藏在特定载体中,以保证隐秘信息安全性的技术。
随着信息技术的不断发展,信息隐藏技术在军事、通信、网络安全等领域具有广泛的应用前景。
本实验旨在验证信息隐藏算法在文本信息隐藏中的应用效果,并分析不同算法的性能差异。
二、实验目的1. 了解信息隐藏技术的基本原理和常用算法。
2. 比较不同信息隐藏算法在文本信息隐藏中的应用效果。
3. 分析影响信息隐藏算法性能的因素。
三、实验内容本实验选用以下三种信息隐藏算法进行文本信息隐藏:1. 基于双文本段的信息隐藏算法2. 基于矢量字库的文本信息隐藏算法3. 基于宋词生成的大容量构造式信息隐藏算法实验步骤如下:1. 选择合适的文本作为载体,包括原文和待隐藏信息。
2. 分别采用三种算法对载体文本进行信息隐藏。
3. 对隐藏后的文本进行提取,并计算提取成功率。
4. 分析不同算法的性能差异,包括提取成功率、隐蔽性和安全性。
四、实验结果与分析1. 基于双文本段的信息隐藏算法该算法通过在多种隐形式中选择适当的隐藏形式和信息分散存储,大大提高信息隐藏的隐蔽性、安全性。
实验结果显示,该算法的提取成功率较高,隐蔽性和安全性较好。
2. 基于矢量字库的文本信息隐藏算法该算法利用汉字的二维象形性和人眼视觉冗余特性,通过修改汉字字库的矢量数据来实现信息隐藏。
实验结果显示,该算法的提取成功率较高,隐蔽性和安全性较好,同时具有较大的嵌入空间。
3. 基于宋词生成的大容量构造式信息隐藏算法该算法基于宋词生成模型,通过符号集设计、编码等综合作用,生成宋词诗句来实现信息隐藏。
实验结果显示,该算法的提取成功率较高,隐蔽性和安全性较好,且生成的宋词文本的信息隐藏容量较大。
综合分析三种算法的性能,可以得出以下结论:1. 基于双文本段的信息隐藏算法和基于矢量字库的文本信息隐藏算法在提取成功率、隐蔽性和安全性方面表现较好。
2. 基于宋词生成的大容量构造式信息隐藏算法在信息隐藏容量方面具有优势。
工作报告之信息隐藏实验报告

信息隐藏实验报告【篇一:合肥工业大学信息隐藏实验报告完整代码版】计算机与信息学院专业班级学生姓名及学号课程教学班号任课教师实验指导教师实验地点20~20学年第学期实验1 bmp位图信息隐藏一、实验目的学习bmp格式文件,并编程实现对位图文件信息隐藏二、实验要求将txt文件嵌入bmp 文件中三、问题描述1、bmp位图文件的格式?2、有哪几种方法隐藏信息,分别采用什么样的数据结构3、随机选取如何避免“碰撞”的出现四、算法思想1、bmp位图文件格式0000h~0001h 2字节 -------------------------bm的asc码0002h~0005h 4字节 -------------------------文件大小102718字节0006h~0009h 4字节 -------------------------全为0000ah~000dh 4字节 -------------------------偏移量 118字节000eh~0011h 4字节 -------------------------位图信息块大小40字节 0012h~0015h 4字节 -------------------------宽 4500016h~0019h 4字节 -------------------------高 450001ah~001bh 2字节 -------------------------恒为01h 00h001ch~001dh 2字节 -------------------------颜色所占二进制位数值04h 00h=4 16色位图001eh~0021h 4字节 -------------------------压缩方式=0无压缩0022h~0025h 4字节 -------------------------图像数据区大小 102600字节0026h~0029h 4字节 -------------------------水平每米多少像素 39个 002ah~002dh 4字节 -------------------------垂直每米多少像素 39个 002eh~0031h 4字节 -------------------------图像所用颜色数=00032h~0035h 4字节 -------------------------重要颜色数=00036h~0076h 64字节 -------------------------颜色表0077h~1913dh 102600字节 -------------------------图像数据区2、(1)、在图片图像数据区的一个连续的数据区采用整字节替换的方法(2)、在图像数据的最后增加文本信息的字节(3)、顺序选取每个文本信息字节的每一位替换图像数据区的一个连续的数据区每个字节的最后一位。
信息隐藏基础实验报告范文信息技术研究报告范文

信息隐藏基础实验报告范文信息技术研究报告范文实验三回声隐藏算法一、实验目的1、了解“回声隐藏”的基本原理和数学模型。
2、了解“倒谱”的计算方法。
3、了解音频信号在matlab环境里的读、写、显示。
4、掌握在“回声隐藏”基础上进行秘密信息的隐藏和提取方法。
二、实验内容1、复习教材中有关“回声隐藏”的基本原理和数学模型的相关知识。
在数字声音中隐藏信息有一种方法是回声隐藏发,它主要是利用了人耳在一个较强声音后的极短时间内的较弱声音的不可觉察性。
回声隐藏方法是在数字声音信号中引入回声,引入回声的不同方法就代表了秘密信息。
生成的伪装信号为,通过选择不同的延迟来达到对秘密信息编码的目的,比如,秘密信息为“0”,选择延迟为;秘密信息为“1”,选择延迟为。
为了在一段语音信号中隐藏多个秘密信息比特,需要把连续载体语音信号先分成L(m)个短序列块,每一个语音块利用回声隐藏方法隐藏一比特秘密信息。
在每一块之间用一些不用的取样点隔开,并且间隔大小事随机选取的,这些间隔不会引起听者的察觉,并使得检测和提取秘密信息更加困难。
在接受端提取秘密信息时,必须采取某种同步措施,使得接受者能够得到L(m)个信号块的起止位置,然后,在每一个信号块中采用快速傅里叶变换得方法,求得信号的自相关函数,自相关函数在延迟时间或者上出现峰值,就得到了隐藏的秘密信息。
2、熟悉并掌握“倒谱”的计算方法。
由于每段隐写声音信号都是一个卷积性组合信号,直接从时域或频域确定回声延时存在一定困难,可采用卷积同态滤波系统来处理,将这个卷积性组合信号变为加性组合信号。
传统方法大都用倒谱分析来确定回声延时:其中:F和分别为傅立叶变换和逆变换。
在信号的倒谱中,延迟时间d处会出现幅度为a的峰值,然后根据峰值出现位置的不同可确定嵌入回声的延时大小,从而进一步确定隐藏信息是“0”或是“1”。
3、阅读“myecho.m”,实现“回声隐藏”法。
将myecho.m程序填写完整,如下所示:运行此程序,得到如下结果:由图可以看出,采用回声隐藏并没有太大影响语音波形,并可以看到最后一个采样点的倒谱峰值。
信息隐藏实验报告-信息隐藏技术

实验目的隐写分析以及变换域隐写技术实验内容针对LSB隐写的卡方分析a)实现针对LSB隐写的卡方分析b)分析实验性能针对LSB隐写的RS分析a)实现针对LSB隐写的RS分析b)分析实验性能JPEG压缩算法a)分析JPEG压缩算法的主要流程Jsteg隐写算法a)实现Jsteg隐写算法b)分析实验性能F3隐写算法a)实现F3隐写算法b)分析实验性能实验工具及平台■Windows+Matlab□其它:(请注明)实验涉及到的相关算法1、与实验内容选择的项目对应;2、请使用流程图、伪代码、NS 图或文字方式描述,不要..贴代码 卡方隐写分析卡方隐写分析主要利用了LSB 隐写后图像的值对效应。
它需要LSB 隐写满足如下的条件:1. 嵌入信息中0、1的分布较为均匀,即各为50%左右。
由于信息嵌入到载体之前通常需要经过加密操作,因此这一点是容易满足的。
2. 图像需要有较多的像素点被嵌入信息。
当嵌入信息较少时,卡方分析的效果并不精确。
卡方分析的原理是:若设ℎj 表示图像载体中灰度值为j 的像素数量,如果载体图像没有使用LSB 隐写算法,那么ℎ2i 和ℎ2i+1的值通常相差较大,而LSB 隐写方法将秘密信息取代图像的最低位,由于秘密信息通常是加密过的,因此可以看成0、1分布均匀的比特流。
在嵌入过程中只存在2i →2i +1而不存在2i →2i −1的变换,因此使得ℎ2i 和ℎ2i+1的值趋于一致,我们能够借助改变的统计特性判断图像是否经过隐写。
我们首先定义ℎ2i ∗=ℎ2i +ℎ2i+12,由LSB 隐写算法的性质我们可以知道在嵌入前后该值是不变的。
由中心极限定理,我们有ℎ2i −ℎ2i+1√(2ℎ2i ∗)→N(0,1) 因此r = ∑(ℎ2i −ℎ2i ∗)2ℎ2i ∗k i=1服从卡方分布。
结合卡方分布的密度计算函数我们可以计算出载体被隐写的可能性为:p =1−12k−12T(k −12)∫exp (−t 2)t k−12−1dt r0 当p 的值接近于1时,我们可以推断出载体图像中含有秘密信息。
信息隐藏(图像处理)实验报告

信息隐藏(图像处理)实验报告
实验一、图像输入与输出
实验目的:
学习在MATLAB环境下对图像文件的I/O操作。
实验要求:
1.在Matlab环境下读入一幅.jpg格式的灰度图像并显示该图像;
2.显示多幅图像。
读入四幅灰度图像,并用两排显示。
实验结果:
实验二、直方图处理 实验目的:
获取图像的直方图,并利用直方图均衡化进行图像增强。
实验要求:
1.在Matlab 环境下读入.jpg 格式的灰度图像,分别显示该图像的直方图以及归一化直方图;
2.进行直方图均衡化。
显示均衡化后的图像,以及该图像的直方图。
实验结果:
原图 直方图
归一化直方图直方图均衡化后的结果图像
直方图均衡化后的结果图像的直方图
实验三、使用DCT进行变换编码
实验目的:
了解图像压缩中常用的DCT变换。
实验要求:
1.在Matlab环境下显示4x4的DCT基函数图像;
2.读入.jpg格式的灰度图像,对该图像进行8x8的DCT变换,将得到的系数的50%截去,再对截去的系数阵列进行逆变换得到重构图像,以图像形式显示重构图像和原始图像的误差。
实验结果
原图 4x4的DCT基函数图像
重构图像重构误差图像
实验四、图像加密
实验目的:
了解基于置乱的图像加密方法。
实验要求:
1.读入.bmp格式的灰度图像,编程实现基于Arnold变换的图像置乱加密算法。
实验结果:
原图置乱1次
置乱2次置乱3次
置乱4次置乱5次
置乱6次置乱96次。
信息隐藏技术_实验报告(3篇)

第1篇一、实验目的1. 了解信息隐藏技术的基本原理和实现方法。
2. 掌握信息隐藏技术在图像、音频和视频等数字媒体中的应用。
3. 通过实验验证信息隐藏技术的有效性和安全性。
二、实验环境1. 操作系统:Windows 102. 编程语言:Python3. 库:OpenCV、scikit-image、numpy、matplotlib三、实验内容1. 图像信息隐藏2. 音频信息隐藏3. 视频信息隐藏四、实验步骤1. 图像信息隐藏(1)选择一幅图像作为宿主图像,并选择一幅图像作为水印图像。
(2)将水印图像转换为二值图像。
(3)对宿主图像进行分块处理,将每个块转换为二值图像。
(4)根据密钥对水印图像进行置乱,提高安全性。
(5)将置乱后的水印图像嵌入到宿主图像的对应块中。
(6)提取水印图像,并与原始水印图像进行对比。
2. 音频信息隐藏(1)选择一段音频作为宿主音频,并选择一段音频作为水印音频。
(2)对宿主音频和水印音频进行分帧处理。
(3)根据密钥对水印音频进行置乱,提高安全性。
(4)将置乱后的水印音频嵌入到宿主音频的对应帧中。
(5)提取水印音频,并与原始水印音频进行对比。
3. 视频信息隐藏(1)选择一段视频作为宿主视频,并选择一段视频作为水印视频。
(2)对宿主视频和水印视频进行帧提取。
(3)根据密钥对水印视频进行置乱,提高安全性。
(4)将置乱后的水印视频嵌入到宿主视频的对应帧中。
(5)提取水印视频,并与原始水印视频进行对比。
五、实验结果与分析1. 图像信息隐藏实验结果表明,嵌入水印后的图像与原始图像在视觉效果上几乎没有差异,水印的嵌入效果良好。
同时,提取的水印图像与原始水印图像完全一致,证明了信息隐藏技术的有效性。
2. 音频信息隐藏实验结果表明,嵌入水印后的音频与原始音频在音质上几乎没有差异,水印的嵌入效果良好。
同时,提取的水印音频与原始水印音频完全一致,证明了信息隐藏技术的有效性。
3. 视频信息隐藏实验结果表明,嵌入水印后的视频与原始视频在视觉效果上几乎没有差异,水印的嵌入效果良好。
隐藏技术实验报告

一、实验背景随着科技的不断发展,信息传播速度的加快,信息安全问题日益突出。
为了保护国家、企业和个人隐私,防止信息泄露,隐藏技术应运而生。
隐藏技术主要包括信息隐藏、数字水印和隐写术等。
本实验旨在研究隐藏技术的原理和实现方法,并对其性能进行评估。
二、实验目的1. 理解隐藏技术的原理和实现方法;2. 掌握信息隐藏、数字水印和隐写术的基本操作;3. 评估隐藏技术的性能,包括鲁棒性、抗攻击能力和隐蔽性;4. 分析隐藏技术在信息安全领域的应用前景。
三、实验内容1. 信息隐藏(1)实验原理:信息隐藏技术是将信息嵌入到载体数据中,使得嵌入的信息对人类感知不可见,同时保证载体数据的完整性。
常用的信息隐藏方法有基于空域、频域和变换域的隐藏方法。
(2)实验步骤:1)选择载体数据,如图像、音频和视频等;2)将秘密信息嵌入到载体数据中,采用空域、频域或变换域方法;3)提取嵌入的秘密信息,验证隐藏效果;4)分析隐藏技术的性能,包括鲁棒性和抗攻击能力。
2. 数字水印(1)实验原理:数字水印技术是在数字媒体中嵌入不可见的水印,用于标识数字媒体的版权信息、完整性校验和来源追踪。
常见的数字水印技术有基于空间域、频域和变换域的水印嵌入方法。
(2)实验步骤:1)选择数字媒体,如图像、音频和视频等;2)将水印信息嵌入到数字媒体中,采用空间域、频域或变换域方法;3)提取水印信息,验证水印嵌入效果;4)分析水印技术的性能,包括鲁棒性、抗攻击能力和隐蔽性。
3. 隐写术(1)实验原理:隐写术是一种将秘密信息隐藏在公开信息中的技术,使得秘密信息对人类感知不可见。
常见的隐写术有基于文本、图像和音频的隐写方法。
(2)实验步骤:1)选择公开信息,如文本、图像和音频等;2)将秘密信息嵌入到公开信息中,采用隐写方法;3)提取嵌入的秘密信息,验证隐写效果;4)分析隐写技术的性能,包括隐蔽性、抗攻击能力和检测难度。
四、实验结果与分析1. 信息隐藏实验结果:通过实验,我们发现基于变换域的信息隐藏方法在鲁棒性和抗攻击能力方面表现较好,而基于空域的隐藏方法在隐蔽性方面表现较好。
信息隐藏实验报告总结(3篇)

第1篇一、实验背景随着信息技术的飞速发展,信息安全问题日益突出。
信息隐藏技术作为一种隐蔽通信手段,在军事、商业、医疗等多个领域具有重要的应用价值。
本实验旨在通过实际操作,深入了解信息隐藏技术的基本原理,掌握其实现方法,并分析其在实际应用中的优缺点。
二、实验目的1. 理解信息隐藏技术的概念、原理和应用领域。
2. 掌握信息隐藏技术的实现方法,包括空域、频域和变换域等方法。
3. 分析信息隐藏技术的安全性、鲁棒性和可检测性。
4. 结合实际案例,探讨信息隐藏技术在各个领域的应用。
三、实验内容本次实验主要分为以下几个部分:1. 信息隐藏技术概述:介绍了信息隐藏技术的概念、原理和应用领域,并简要分析了信息隐藏技术的安全性、鲁棒性和可检测性。
2. 空域信息隐藏:通过将秘密信息嵌入到载体图像的像素值中,实现信息的隐蔽传输。
实验中,我们采用了基于直方图平移的算法,将秘密信息嵌入到载体图像中。
3. 频域信息隐藏:将秘密信息嵌入到载体图像的频域系数中,实现信息的隐蔽传输。
实验中,我们采用了基于DCT变换的算法,将秘密信息嵌入到载体图像的DCT系数中。
4. 变换域信息隐藏:将秘密信息嵌入到载体图像的变换域系数中,实现信息的隐蔽传输。
实验中,我们采用了基于小波变换的算法,将秘密信息嵌入到载体图像的小波系数中。
5. 信息隐藏技术的安全性、鲁棒性和可检测性分析:通过实验,分析了不同信息隐藏方法的优缺点,并探讨了如何提高信息隐藏技术的安全性、鲁棒性和可检测性。
6. 信息隐藏技术在各个领域的应用:结合实际案例,探讨了信息隐藏技术在军事、商业、医疗等领域的应用。
四、实验结果与分析1. 空域信息隐藏:实验结果表明,基于直方图平移的算法能够将秘密信息嵌入到载体图像中,且嵌入过程对图像质量的影响较小。
然而,该方法对噪声和压缩等攻击较为敏感。
2. 频域信息隐藏:实验结果表明,基于DCT变换的算法能够将秘密信息嵌入到载体图像的频域系数中,且嵌入过程对图像质量的影响较小。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第x讲隐写中的±1编码本讲提要隐写中的±1编码是指在隐写嵌入过程中,通过对载体样点值进行+1或−1操作表达不同的隐蔽信息。
±1编码方法本质上是一种三元编码,与矩阵编码类的二元编码方法相比,在同等嵌入效率条件下具有更高的负载率,理论上可以达到更优的隐写性能。
本讲详细介绍了现有研究中出现的几种±1编码方法的原理和特点,归纳并阐述了通过加减覆盖集进行±1编码隐写嵌入的步骤。
本讲还介绍了一种通过扩展方式构造加减覆盖集的方法,能够通过调节参数组合的取值获得不同的加减覆盖集,满足不同的隐写负载率或嵌入效率需求。
x.1 基本概念为了便于表述,首先介绍本讲使用的符号标记。
令x={x1,x2,⋯,x n},x i∈ℝ表示长度为n的原文样点值序列,ℝ为每个样点值的动态范围;m={b1,b2,⋯,b m},b i∈{0,1}表示长度为m的隐蔽信息比特序列;y={y1,y2,⋯,y n},y i∈ℝ表示嵌入隐蔽信息后的隐文样点值序列。
给定原文x和隐蔽信息m,隐写嵌入过程可表示为寻找满足如下条件的yf(y)=m(1)D(x,y)(2)miny其中,公式(1)中的映射f:ℝn→{0,1}m由隐写嵌入者和接收者共享,保证接收者能够正确提取隐蔽信息;公式(2)中的函数D(∙,∙)衡量了嵌入前后原文和隐文的差异,若存在多个满足公式(1)的序列y,则根据公式(2)选择其中使D(x,y)最小的y作为嵌入后的序列,确保隐写嵌入过程对载体的扰动最小,隐写的隐蔽性最高。
公式(1)和(2)给出的是一种一般性的表述,对于每种具体的隐写方法,公式中的映射f和函数D(∙,∙)均具有不同的形式。
例如,对于矩阵编码类的隐写方法[1]-[4]有f(y)=Hy,H为校验矩阵;且由于嵌入过程只修改原文样点值的LSB位,因此D(x,y)退化为嵌入过程中修改位置的数量。
基于BCH编码[5][6]和格编码[7][8]的隐写方法也可以用类似的形式表达。
接收者提取隐蔽信息的过程可表示为m=f(y)(3)基于二元编码和三元编码的隐写方法均可用上述公式(1)-(3)表示,其区别在于将载体样点值x i修改为y i的方式。
图1列出了几种典型隐写算法的修改方式,其中(a)和(c)所表示的方法均可等价为二元编码,即通过两种不同的方式修改载体样点值x i,从而表达不同的隐蔽信息比特;而(b)所示的±1编图1 典型隐写算法的修改方式衡量隐写方法性能的主要指标包括负载率α和嵌入效率e 两种。
负载率α的物理意义是每占用一个嵌入位置平均所能承载的隐蔽信息比特数,计算公式为α=m n(4)嵌入效率e 的物理意义是,平均每修改一个位置所能表达的信息比特数,计算公式为e =αd =m n E (K )n=m E (K )(5) 其中,d 称为平均修改量(expected number of modifications per pixel, ENMPP ),E (K )表示嵌入过程中总修改次数的期望值。
这里以一组对比数据直观的比较二元编码与三元编码的性能差异。
例如,使用(7,4)汉明码的矩阵编码隐写方法是一种典型的基于二元编码的隐写方法,该方法在7个样点值中嵌入3比特隐蔽信息,即m =3,n =7,因此负载率α=37⁄;嵌入时最多修改1个位置,其修改次数的期望值为E (K )=1×0+7×123=78(6) 因此嵌入效率为e =m E (K )=247≈3.4 (7)另一方面,如果使用±1编码方法,只需占用4个样点值即可嵌入3比特隐蔽信息(具体嵌入过程可参见5.2节第2小节的示例),即m =3,n =4,因此负载率α=34⁄;嵌入时同样最多修改1个位置,嵌入效率e ≈3.4不变。
从这个例子可以直观的看出,使用±1编码方法进行隐写嵌入,可以在同等嵌入效率情况下获得更高的负载率;反之,如果限定相同的负载率,则±1编码方法可以达到更高的嵌入效率。
需要特别指出的是,二元编码方法可以通过一种“双层嵌入”的机制提高负载率。
该机制的原理与传统意义的编码方法不同,且实现较为复杂,通常需要依赖湿纸编码协助接收者定位第二层中的有效嵌入位置。
这种双层嵌入机制不在本讲讨论范围之内,其具体嵌入步骤可参见文献[9]。
x.2 基于±1编码方法的隐写方法1. LSB Matching RevisitedLSB Matching Revisited (下称LSBM -R )是Mielikainen [10]提出的一种基于±1编码的隐写方法,通过对载体样点值进行+1或−1操作表达不同的信息,提高隐写的嵌入效率。
该方法以一对样点值x ={x 1,x 2}为嵌入对象,嵌入2比特的隐蔽信息m ={b 1,b 2}。
该方法的特点在于,使用两个样点值的奇偶关系表达额外的信息比特,使修改后的样点值y ={y 1,y 2}满足LSB (y 1)=b 1 LSB (⌊y 12⌋+y 2)=b 2(8)公式(8)可改写为公式(1)所表达的一般形式[11]f(y)=(y1+2y2)mod 4=m4(9)可以验证,对y1,y2进行+1或−1操作时会获得不同的映射值f(y)。
上式中的m4表示将待嵌入的隐蔽信息m转化为整数后模4的余数。
LSBM-R方法占用2个样点值嵌入2比特隐蔽信息,即m=2,n=2,负载率α=1;嵌入时修改次数的期望值E(K)=1×0+3×122=34(10)因此嵌入效率为e=mE(K)=83≈2.7(11)2. Generalized LSB MatchingLi等人[11]提出了一种称为G-LSB-M(generalized LSB matching)的隐写方法,将LSBM-R方法的思想推广到更一般的形式(LSBM-R方法为该形式在n=2情况下的一种特例)。
该方法的映射f的一般表达式为f(y)=(∑a i y ini=1)mod 2m≜ay T(12)其中向量a={a1,a2,⋯,a n},a i∈ℤ2m,ℤ2m表示2m阶有限循环群(其中元素为0∼2m−1的整数)。
向量a是影响负载率和嵌入效率的关键因素,其构造方法将稍后做详细论述。
以下结合实例讲解具体的嵌入过程。
本讲涉及到的计算,如无特殊说明均在有限循环群ℤ2m上进行,即计算结果均需要取模2m的余数。
假设隐写者与接收者通过某种安全信道或密钥协商过程确定向量a={1,2,3,4}。
给定载体样点值序列x={41,248,245,124}和隐蔽信息m={1,0,1},隐写者首先计算w=m23−ax T=(5−(1×41+2×248+3×245+4×124))mod 23=(5−1768)mod 8=5(13)随后,寻找满足f(s)=as T=w的向量s={s1,s2,⋯,s n},s i∈{0,±1}。
s i∈{0,±1}这个限制条件,确保了隐写嵌入过程中只对载体样点值进行+1或−1修改。
在这种情况下,as T的计算结果可直观理解为向量a中元素a i的加减线性组合。
当满足条件的s存在多个时,选择其中非零元素最少的一个。
对于上述例子,一个容易找到的向量s={1,0,0,1}(1+4=5);但注意到上述运算是在8阶有限循环群上进行的,因此可以找到另一个满足条件的向量s={0,0,−1,0}(−3=5)。
显然后者的非零元素个数更少,因此选择s={0,0,−1,0}作为隐写嵌入过程的修改向量。
最后,计算嵌入隐蔽信息后的样点值序列yy=x+s={41,248,245,124}+{0,0,−1,0}={41,248,244,124}(14)即可完成嵌入过程。
接收者接收到y={41,248,244,124}后,计算m=ay T=(1×41+2×248+3×244+4×124)=(1765)mod 8=5={1,0,1}(15)即可提取出隐蔽信息。
在这个例子中,隐写者占用4个嵌入位置嵌入了3比特隐蔽信息,负载率α=34⁄;嵌入过程只修改了一个样点值,其嵌入时修改次数的期望值E (K )可通过穷举w 的所有取值(0~2m −1)计算获得。
对于w 的各种取值,修改向量s 即其非零元素个数如表1所示。
可以计算出其修改次数的期望值E (K )=1×0+7×18=78(16) 因此嵌入效率为e =m E (K )=247≈3.4 (17)表1 a ={1,2,3,4}对应的修改向量列表3. 加减覆盖集的概念和示例通过上述分析可以看出,向量a 是影响隐写负载率和嵌入效率的关键因素。
如何设计向量a 是构造有效的±1编码隐写方法的难点。
Li 等人[11]提出了有限循环群上加减覆盖集的概念,以描述±1编码中所需的向量a 的性质。
对于有限循环群ℤ2m 上的一个集合a ={a 1,a 2,⋯,a n },如果对于任意的w ∈ℤ2m ,都存在一个向量s ={s 1,s 2,⋯,s n },s i ∈{0,±1},使得as T =w 成立,则称a 为ℤ2m 上的一个加减覆盖集。
加减覆盖集的物理意义是,通过该集合上元素的加减线性组合能够表达(覆盖)有限循环群ℤ2m 上的所有整数。
这种特性确保了隐写者在嵌入过程中一定能够找到满足f (s )=as T =m 2m −ax T 的修改向量s 完成嵌入。
加减覆盖集a 中元素的个数n 决定了隐写负载率,元素的具体取值组合则会影响计算出的修改向量s 中非零元素的个数,从而影响嵌入效率。
以有限循环群ℤ8为例,w ∈ℤ8={0,1,2,⋯,7}。
显然,a 1={1,2,3,4,5,6,7}是ℤ8的一个加减覆盖集,容易验证(1)对w =0,s =0可满足as T =w ;(2)对w 的其他取值,令s w =1,其余s i =0可满足as T =w 。
注意对于有限循环群ℤ8,其对应的隐蔽信息为3比特,因此使用a 1进行隐写嵌入时,负载率α=37⁄,修改次数期望E (K )=78⁄,嵌入效率e =247⁄。
事实上,使用a 1进行隐写嵌入的方法等价于使用(7,4)汉明码的矩阵编码。
文献[1]在论述F5的嵌入过程时即给出了一种与公式(12)相似的表达方式。
上一小节中给出的示例a 2={1,2,3,4}是ℤ8的另一个加减覆盖集,其负载率α=34⁄,嵌入效率e =247⁄,隐写性能全面优于a 1。
为了进一步说明加减覆盖集对隐写性能的影响,另举a 3={1,2,3}为例,容易验证a 3也是ℤ8的一个加减覆盖集,如表2所示。
表2 a ={1,2,3}对应的修改向量列表a3包含3个元素,因此嵌入负载率α=1;借助表2容易计算其修改次数期望值E(K)=1×0+6×1+1×28=1(18)因此嵌入效率为e=mE(K)=3(19)与a2相比,使用a3进行隐写嵌入时负载率更高、嵌入效率却略有下降。