信息隐藏基础实验

合集下载

实验2:信息隐藏技术实验

实验2:信息隐藏技术实验

实验2:信息隐藏技术实验一、实验目的掌握信息嵌入与检测的工具与使用方法;掌握数字水印的提取方法二、实验用的仪器、仪表easycode、AssureMark三、实验原理图像水印部分显示阿须数码在数字图像上的数字水印技术。

在不改变原有图像品质的情况下将数字水印信息隐藏于图像本身,并可在需要时能提取,用以作为版权声明和信息保护等。

Assure Image Mark V2。

0 是在一个MS-WINDOWS环境下运行的数字水印嵌入与检测程序,同时能够有效地提取篡改后图像的数字水印信息。

运行步骤依次为:1。

选择欲添加水印的原始图像文件、并给新生成水印信息的文件定义名称;2。

嵌入水印信息,可选择两种方式嵌入A:手动输入信息、B:从15877文件中提取信息;3.检测水印信息;选择含水印信息的图像文件,直接点击“检测水印”按钮;若该文件被篡改,检测时对所篡改的部分显示反差;4。

屏幕中显示所嵌入的数字水印信息.四、实验步骤1、基于图像的信息隐藏—-easycode前提:先建立一个TXT文件,且素材中有一个图片文件CHURCH。

JPG。

目标:将TXT文件秘密潜入到CHURCH.JPG中.隐藏方法:在easycode中单击“文件嵌入”选项卡;单击第一个“浏览”,选择图片文件church.jpg;单击第二个“浏览”,选择文本文件;输入密码后,单击“嵌入文件”按钮,即可。

测试:此时将原始TXT文件删除掉,并打开图片文件查看是否有异常.提取信息:在文件嵌入选项卡中,单击第三个“浏览",选择需要提取信息的图片文件;输入释放密码后,单击“释放文件"按钮,即可发现,txt文件重新恢复出来了。

2、数字水印的嵌入/提取—-AssureMark(注:只能用bmp文件)水印的嵌入方法:选择“嵌入水印”模式;单击“输入原始图像”右侧的“打开”按钮,选择原始图像church。

bmp,并定义输出图片的名称(如123。

bmp),手动输入水印信息(可以是一个字符串,如:123456);单击“嵌入水印”按钮,即可。

工作报告之信息隐藏实验报告

工作报告之信息隐藏实验报告

信息隐藏实验报告【篇一:合肥工业大学信息隐藏实验报告完整代码版】计算机与信息学院专业班级学生姓名及学号课程教学班号任课教师实验指导教师实验地点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)、顺序选取每个文本信息字节的每一位替换图像数据区的一个连续的数据区每个字节的最后一位。

信息隐藏实验五-stirmark与jsteg全解

信息隐藏实验五-stirmark与jsteg全解

Stirmark操作步骤
打开Media文件夹,有两个子文件夹Input和Output。 将待检测的图像放入\Media\Input\Images\Set1中。如图 双击\Bin\Benchmark中的StirMark Benchmark.exe(stirmark主 程序),程序自动运行,将待测图像的各种检测结果图像 放入\Media\Onput\Images\Set1中。
LSB嵌入的改进
设定阈值 T , T= 嵌入位置的八个邻居像素值之和 嵌入位置的像素值。若T>0,加1;若T<0,减1。
以0.5的概率加减1。
三、实现Jsteg的嵌入和提取算法
实验1.2:
实现Jsteg的嵌入和提取。
实验要求 :
1. 2.
分析鲁棒性和隐蔽性,计算在不同JPEG压缩率下提取信息 的误码率。 计算在stirmark攻击下的误码率。
量出现连零实现的,如果改变DCT系数中”0”的话
,就不能很好的实现压缩. DCT系数中的”1”若变为”0”, 由于接受端无法区 分未使用的” 0” 和嵌入消息后得到的” 0” ,从而 无法实现秘密消息的提取。
JSteg隐写对直方图的影响

嵌入前
嵌入后
特点:Jsteg隐写使得DCT系数中(2i,2i+1)的频率趋向一致。 由于这种统计直方图的异常,很容易被卡方攻击检测出来。
三、实现Jsteg的嵌入和提取算法(拓展)
JSteg隐写
基本思想:用秘密信息比特直接替换JPEG图像中量 化后DCT系数的最低比特位,但若量化后DCT系数为 0或者1,则不进行处理。(DCT系数的LSB嵌入)
JSteg隐写
(11)
(10)
(11)

信息隐藏实验报告-信息隐藏技术

信息隐藏实验报告-信息隐藏技术

实验目的隐写分析以及变换域隐写技术实验内容针对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时,我们可以推断出载体图像中含有秘密信息。

隐藏技术实验报告

隐藏技术实验报告

一、实验背景随着科技的不断发展,信息传播速度的加快,信息安全问题日益突出。

为了保护国家、企业和个人隐私,防止信息泄露,隐藏技术应运而生。

隐藏技术主要包括信息隐藏、数字水印和隐写术等。

本实验旨在研究隐藏技术的原理和实现方法,并对其性能进行评估。

二、实验目的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. 信息隐藏实验结果:通过实验,我们发现基于变换域的信息隐藏方法在鲁棒性和抗攻击能力方面表现较好,而基于空域的隐藏方法在隐蔽性方面表现较好。

信息隐藏实验十LSB信息隐藏的卡方分析

信息隐藏实验十LSB信息隐藏的卡方分析

信息隐藏实验十LSB信息隐藏的卡方分析信息隐藏是一种将秘密信息嵌入到载体数据中的技术。

嵌入信息的最广泛应用之一是最低有效位(LSB)信息隐藏。

在LSB信息隐藏中,秘密信息位嵌入到像素的最低有效位中,而保持其他位不受影响。

该技术在数字音频、图像和视频领域得到广泛应用。

卡方分析是一种统计方法,用于衡量统计数据的拟合程度。

在LSB信息隐藏中,卡方分析可以用于分析嵌入数据的随机性。

通过计算嵌入数据和原始数据之间的差异,可以评估嵌入信息与载体数据的一致性。

LSB信息隐藏的实验中,首先需要得到原始的载体数据。

这可以是一幅图像、一段音频或一段视频。

然后,选择一个合适的秘密信息进行嵌入。

秘密信息可以是一串文本、一张图像或一个视频片段。

接下来,将秘密信息的二进制表示按位进行嵌入到载体数据的最低有效位中。

此时,嵌入数据已准备好。

进行卡方分析的下一步是计算频数。

对于每个像素,统计其最低有效位(被嵌入数据所占据的位)出现1和0的频数。

同时,计算原始数据中最低有效位出现1和0的频数。

比较两组频数可以得到嵌入数据和原始数据之间的差异。

卡方分析可以用来评估嵌入数据的随机性。

根据卡方分布表,可以计算卡方值。

通过比较卡方值和临界值,可以判断嵌入数据的随机性是否达到了预期。

如果卡方值小于临界值,则表明嵌入数据的分布与原始数据的分布存在显著差异,嵌入数据不具备较好的随机性。

LSB信息隐藏的卡方分析还可以用于评估嵌入数据的容量。

通过计算嵌入数据和原始数据之间的差异,可以推断嵌入数据的容量。

如果嵌入数据的容量越大,则嵌入数据与原始数据的差异越大。

卡方分析可以帮助评估嵌入数据的最大容量,以便在实际应用中选择合适的嵌入容量。

LSB信息隐藏的卡方分析还可以用于检测嵌入数据的存在。

通过比较卡方值和临界值,可以判断嵌入数据是否存在于载体数据中。

如果卡方值大于临界值,则可以得出嵌入数据的存在性。

这在数字取证和数字水印领域具有重要意义。

LSB信息隐藏的卡方分析是一种有力的工具,用于评估嵌入数据的随机性、容量和存在性。

信息隐藏-实验二-BMP-图像信息隐藏

信息隐藏-实验二-BMP-图像信息隐藏

信息隐藏-实验二-BMP-图像信息隐藏实验二 BMP 图像信息隐藏一,实验目的1,了解BMP图像文件格式2,了解利用BMP图像文件隐藏信息的原理3,设计并实现一种基于24位真彩色BMP图像的文件信息隐藏方法。

二,实验环境1, Windows XP 操作系统2, Ultra Edit 文本编辑工具3, Matlab 7.1版本软件4, BMP格式图片文件三,实验原理1,在图像文件尾部添加任意长度的数据,秘密信息存放在文件尾部可以减少修改文件头的数据量,仅需修改文件头中的文件长度的值即可。

2,在调色板或者位图信息头和实际的图像数据之间隐藏数据,如果将秘密数据放在文件头与图像数据之间,则至少需要修改文件头中文件长度、数据起始偏移地址这两个域的值。

3,修改文件头和信息头中保留字段隐藏信息。

4,在图像像素区利用图像宽度字节必须是4的倍数额特点,在补足位处隐藏数据。

四,实验过程1,在实际的图像数据后隐藏信息(1)将载体baboon.bmp和秘密信息hidden.txt放置在同一目录下,在Windows 的MS-DOS方式下执行命令copy baboon.bmp /b + hidden.txt /a baboon1.bmp,如下图所示:图一 DOS界面(2)生成的新图像baboon1.bmp,表面上看上去与原图像几乎完全一样图二隐藏前后对比图(3)在Ultra Edit看两幅图像的结构,发现有所差别。

图三 baboon.bmp图四 baboon1.bmp(4)在Matlab中通过比较文件的实际长度和文件中保存的文件长度,就可以发现该图像是否隐藏秘密信息。

代码如下所示:clc;clear;fid=fopen('baboon1.bmp','r');%读入伪装载体图像文件[a,length]=fread(fid,inf,'uint8');%length是文件的实际长度fclose(fid);fid=fopen('baboon1.bmp','r');%读入伪装载体图像文件status=fseek(fid,2,'bof');fileb=fread(fid,4,'uint8');filelength=fileb(1)*1+fileb(2)*256+fileb(3)*256*256+fileb(4)*256^3;%文件图像中保存的文件长度diff=length-filelength;%diff表示隐藏的信息长度如果相同,表示图像没有隐藏任何信息fclose(fid);从Workspace中可以读出diff数据为8图五 Workspace(5)在Ultra Edit中手动修改文件长度,再运行上述程序,发现diff=0,表示图像隐藏并修改文件长度后,通过该方法无法发现图像有隐藏信息。

SA实验一:信息隐藏原则实践

SA实验一:信息隐藏原则实践
软件体系架构 实验一 信息隐藏原则初探
实验简介



图灵奖得主Edsger Wybe Dijkstra 是THE操作系统的 设计者和开发者; 他在著名文献《The Structure of the T.H.E. multiprogramming System》, Communications of the ACM 18(8), 1968.中提到 “软件开发不应当仅为得出某个正确的结果,而是要更 多地关心软件是如何划分、如何构建的” Parnas对SA的基本原则做了深入研究,他说,如果构 架设计有一个基本原则的话,必是信息隐藏原则:关于 如何将一个系统分解成若干元素以提高可维护性和可重 用性。 通过下面的实验,体会信息隐藏原则(information hiding)如何提高软件重用性。
仔细规划:哪些东西需要隐藏,提供
哪些接口,传递什么参数

对重用来说,相对位置的重要性大于绝对位置,因 为每次用户需要的图形,其具体位置可能不同。通 过信息隐藏,把这些绝对位置的变化屏蔽——由函 数来做每次的具体计算,以应对每次的不同要求, 程序员只要将最基本的、不可缺少的、屏蔽不掉的 关于形状的变化信息传给函数,即可
用C++编写程序,显示如下图 形:矩形、零、箭头、菱形
要求完成其中任意3个图形。
信息隐藏原则:如何将一个系统分解
成若干元素,以提高可维护性和可重用性。
设计软件系统前,应当仔细规划,哪些元素是可
重用的,然后——用函数或类来实现
它们——这就是信息隐藏原则

在这个简单软件中,我们要重用的是4个形状 以任一形状为例,重用包括:

打印符号的改变,*→+。

一个变量marker即足够, 将变量理解为一个最简函数 如果不是这样,你将在程序中修改多次

(完整word版)信息隐藏实验七DCT域图像水印

(完整word版)信息隐藏实验七DCT域图像水印

实验七DCT域图像水印(一)实验目的了解频域水印的特点,掌握基于DCT系数关系的图像水印算法原理,设计并实现一种基于DCT域的图像水印算法。

(二)实验环境1、W indows xp操作系统2、M atlab 7.1版本软件3、B MP图像(三)实验原理1、嵌入信息利用载体中两个特定DCT系数的相对大小来表示隐藏的信息。

载体图像分为8*8分块,进行二维DCT变换,分别选择其中的两个位置,比如用(u1, v1)和(u2,v2)代表所选定的两个系数的坐标。

如果Bi (u1,v1)<Bi (u2,v2),代表隐藏了1;如果相反,贝U交换两系数。

如果Bi (u1,v2)>Bi (u2,v2),代表隐藏0;如果相反,则交换两系数2、提取信息提取的时候接收者对包含水印信息的图像文件进行二维DCT变换,比较每一块中约定位置的DCT系数值,根据其相对大小,得到隐藏信息的比特串,从而恢复出秘密信息。

3、特殊处理引入一个Alpha变量对系数的差值进行控制,将两个系数的差值放大,可以保证提取秘密信息的正确性。

(四)实验步骤1、嵌入秘密信息。

2、提取秘密信息。

(五)实验截图1、图像显示截图原始图像 嵌入水印图像结果:所隐藏的信息为‘ 0123456789(六)代码附录图1-1原始图像和携密图像的对比图结果:在显示上两者基本无差别2、所含秘密信息截图图1-2提取秘密信息1、嵌入秘密信息clc;clear;msgfid=fope n('hidde n.txt','r');%打开秘密文件,读入秘密信息[msg,co un t]=fread(msgfid);coun t=co un t*8;alpha=0.02;fclose(msgfid);msg=str2bit(msg)';[le n, col]=size(msg);io=imread('le na.bmp');% 读取载体图像io=double(io)/255;output=io;i仁io(:,:,1)%取图像的一层来隐藏T=dctmtx(8);%对图像进行分块DCTrgb=blkproc(i1,[8,8],'P1*x*P2',T,T');% 对图像分块进行DCT 变换[row,col]=size(DCTrgb);row=floor(row/8);col=floor(col/8);%顺序信息嵌入temp=0;for i=1:co untif msg(i,1)==0if DCTrgb(i+4,i+1)<DCTrgb(i+3,i+2)% 选择(5,2)和(4,3)这一对系数temp=DCTrgb(i+4,i+1);DCTrgb(i+4,i+1)=DCTrgb(i+3,i+2);DCTrgb(i+3,i+2)=temp;endelseif DCTrgb(i+4,i+1)>DCTrgb(i+3,i+2) temp=DCTrgb(i+4,i+1);DCTrgb(i+4,i+1)=DCTrgb(i+3,i+2);DCTrgb(i+3,i+2)=temp;endendif DCTrgb(i+4,i+1)<DCTrgb(i+3,i+2)DCTrgb(i+4,i+1)=DCTrgb(i+3,i+2)-alpha;% 将原本小的系数调整更小,使得系数差别变大elseDCTrgb(i+3,i+2)=DCTrgb(i+3,i+2)-alpha;endend%将信息写回并保存wi=blkproc(DCTrgb,[8,8],'P1*x*P2',T',T);% 对DCTrgb 进行逆变换output=io;output(:,:,1)=wi;imwrite(output,'le na1.bmp');figure;subplot(1,2,1);imshow('lena.bmp');title('原始图像');subplot(1,2,2);imshow('lena1.bmp');title('嵌入水印图像');2、提取秘密信息clc;clear;wi=imread('le na1.bmp');wi=double(wi)/255;wi=wi(:,:,1)%取图像的一层来提取T=dctmtx(8);%对图像进行分块DCTcheck=blkproc(wi,[8,8],'P1*x*P2',T,T');% 对图像分块进行DCT 变换for i=1:80%80为隐藏的秘密信息的比特数if DCTcheck(i+4,i+1)v=DCTcheck(i+3,i+2)message(i,1)=1;elsemessage(i,1)=0;endendout=bit2str(message);fid=fope n('message.txt','wt');fwrite(fid,out);fclose(fid);(七)实验心得通过此次的实验,了解了频域水印的特点。

信息隐藏_实验报告

信息隐藏_实验报告

一、实验目的1. 了解信息隐藏的基本原理和方法。

2. 掌握数字图像、音频、视频等媒体中信息隐藏的实现技术。

3. 熟悉信息隐藏技术在实际应用中的重要性。

二、实验内容1. 数字图像信息隐藏2. 音频信息隐藏3. 视频信息隐藏三、实验原理信息隐藏是指将秘密信息嵌入到公开信息(如数字图像、音频、视频等)中,使得秘密信息在传输或存储过程中不易被发现。

信息隐藏技术广泛应用于网络安全、数字版权保护、隐私保护等领域。

四、实验步骤1. 数字图像信息隐藏(1)选择一幅数字图像作为公开信息,如图1所示。

(2)选择一幅与公开信息大小相同的数字图像作为载体图像,如图2所示。

(3)在载体图像中嵌入秘密信息,采用空域方法,如图3所示。

(4)提取嵌入的秘密信息,如图4所示。

2. 音频信息隐藏(1)选择一段音频作为公开信息,如图5所示。

(2)选择一段与公开信息时长相同的音频作为载体音频,如图6所示。

(3)在载体音频中嵌入秘密信息,采用时域方法,如图7所示。

(4)提取嵌入的秘密信息,如图8所示。

3. 视频信息隐藏(1)选择一段视频作为公开信息,如图9所示。

(2)选择一段与公开信息时长相同的视频作为载体视频,如图10所示。

(3)在载体视频中嵌入秘密信息,采用空域方法,如图11所示。

(4)提取嵌入的秘密信息,如图12所示。

五、实验结果与分析1. 数字图像信息隐藏实验结果表明,采用空域方法嵌入秘密信息后,嵌入秘密信息的图像与原始图像在视觉效果上基本一致,且提取的秘密信息与原始秘密信息完全相同。

2. 音频信息隐藏实验结果表明,采用时域方法嵌入秘密信息后,嵌入秘密信息的音频与原始音频在听觉效果上基本一致,且提取的秘密信息与原始秘密信息完全相同。

3. 视频信息隐藏实验结果表明,采用空域方法嵌入秘密信息后,嵌入秘密信息的视频与原始视频在视觉效果上基本一致,且提取的秘密信息与原始秘密信息完全相同。

六、实验总结通过本次实验,我们了解了信息隐藏的基本原理和方法,掌握了数字图像、音频、视频等媒体中信息隐藏的实现技术。

信息隐藏实验报告一图像的位平面,LSB和MSB

信息隐藏实验报告一图像的位平面,LSB和MSB

信息隐藏实验报告一实验名称:图像的位平面,LSB 和MSB一、实验目的图像的位平面,LSB 和MSBLSB(Least Significant Bits):最不重要位(或最低有效位) MSB(Most Significant Bits):最重要位。

二、实验内容⑴用“按位与”运算清image 的第2、3、4、5、6、7位,结果分别保存在图像矩阵data02、 data03、 data04、 data05、 data06、 data07中,并显示所得结果;⑵用“按位与”运算取image 的第2、3、4、5、6、7位,结果分别保存在图像矩阵data12、 data13、 data14、 data15、 data16、 data17中,并显示所得结果;⑶用“按位与”运算清image 的第1-2、1-3、1-4、1-5、1-6、1-7位,结果分别保存在图像矩阵data02、 data03、 data04、 data05、 data06、 data07中,并显示所得结果; ⑷用“按位与”运算取image 的第3-8、4-8、5-8、6-8、7-8位,结果分别保存在图像矩阵data13、 data14、 data15、 data16、 data17中,并显示所得结果;⑸将彩色图像dsc.jpg 读入图像矩阵image ,重做上面的⑴-⑷项要求;⑹取彩色图像矩阵image 的某个分量(R 、G 、B 均可),重做上面的⑴-⑷项要求;三、实验环境matlab7.0四、基本原理(算法思想)时域是对应于变换域而言的,即不对信号做任何频率变换而得到的信号域就是时域。

对于图像载体,其信号空间也就是像素的取值空间。

我们选择了RGB 颜色空间下的像素作为分析对象。

在RGB 颜色空间中,每一个像素都有三个分量,即红(Red)、绿(Green)、蓝(Blue)分量。

五、实验结果与结论(主要的程序代码、运行结果)⑴用“按位与”运算清image 的第2、3、4、5、6、7位,结果分别保存在图像矩阵data02、 data03、 data04、 data05、 data06、 data07中,并显示所得结果;教师签名2007.11实验时间成绩评 定信息隐藏 课程名称同组人姓 名 05软件工程班 级 计算机科学与技术系别⑵用“按位与”运算取image的第2、3、4、5、6、7位,结果分别保存在图像矩阵data12、data13、 data14、 data15、 data16、 data17中,并显示所得结果;⑶用“按位与”运算清image的第1-2、1-3、1-4、1-5、1-6、1-7位,结果分别保存在图像矩阵data02、 data03、 data04、 data05、 data06、 data07中,并显示所得结果;⑷用“按位与”运算取image的第3-8、4-8、5-8、6-8、7-8位,结果分别保存在图像矩阵data13、 data14、 data15、 data16、 data17中,并显示所得结果;⑸将彩色图像dsc.jpg读入图像矩阵image,重做上面的⑴-⑷项要求;代码略清image的第2、3、4、5、6、7位取image的第2、3、4、5、6、7位清image的第1-2、1-3、1-4、1-5、1-6、1-7位⑹取彩色图像矩阵image的某个分量(R、G、B均可),重做上面的⑴-⑷项要求;代码image=imread('dsc.jpg');%将彩色图像读入图像矩阵image A=image(:,:,1);下略清image的第2、3、4、5、6、7位取image的第2、3、4、5、6、7位清image的第1-2、1-3、1-4、1-5、1-6、1-7位六、实验总结通过这次实验使我对图像的位平面有了一定的认识。

信息隐藏 实验十 LSB信息隐藏的卡方分析

信息隐藏 实验十 LSB信息隐藏的卡方分析

实验十 LSB 信息隐藏的卡方分析一,实验目的:了解什么是隐写分析,隐写分析与信息隐藏和数字水印的关系。

掌握基于图像的LSB 隐写的分析方法,设计并实现一种基于图像的LSB 卡方隐写分析方法。

二,实验环境1, Windows XP 操作系统 2, Matlab 软件 3, BMP 格式图片文件 三,实验原理隐写术和隐写分析技术是互相矛盾又是相互促进的,隐写分析是指对可疑的载体信息进行攻击以达到检测、破坏,甚至提取秘密信息的技术,它的主要目标是为了揭示媒体中隐蔽信息的存在性,甚至只是指出媒体中存在秘密信息的可疑性。

图像LSB 信息隐藏的方法是用嵌入的秘密信息取代载体图像的最低比特位,原来图像的7个高位平面与代表秘密信息的最低位平面组成含隐蔽信息的新图像。

虽然LSB 隐写在隐藏大量信息的情况下依然保持良好的视觉隐蔽性,但使用有效的统计分析工具可判断一幅载体图像中是否含有秘密信息。

目前对于图像LSB 信息隐藏主要分析方法有卡方分析、信息量估算法、RS 分析法和GPC 分析法等。

卡方分析的步骤是:设图像中灰度值为j 的象素数为hj ,其中0≤j ≤255。

如果载体图像未经隐写,h2i 和h2i+1的值会相差很大。

秘密信息在嵌入之前往往经过加密,可以看作是0、1 随机分布的比特流,而且值为0与1的可能性都是1/2。

如果秘密信息完全替代载体图像的最低位,那么h2i 和h2i+1的值会比较接近,可以根据这个性质判断图像是否经过隐写。

定量分析载体图像最低位完全嵌入秘密信息的情况:嵌入信息会改变直方图的分布,由差别很大变得近似相等,但是却不会改变h2i+h2i+1的值,因为样值要么不改变,要么就在h2i 和h2i+1之间改变。

令 显然这个值在隐写前后是不会变的。

如果某个样值为2i ,那么它对参数q 的贡献为1/2;如果样值为2i+1 ,对221*22i i i h h h ++=2212i i h h q +-=参数q 的贡献为-1/2。

信息隐藏实验报告

信息隐藏实验报告

信息隐藏实验报告
一、实验目的
本次实验的主要目的是探讨如何利用信息隐藏技术将信息嵌入图片、
视频、音频、文档等多媒体类型文件中,从而来保护图片、视频、音频、
文档等多媒体类型文件的安全。

同时,也为以后使用信息隐藏技术方便安
全地管理文件提供参考。

二、实验内容
1、利用信息隐藏技术嵌入图片中的实验
该实验首先采用Steganography Studio和WinStego两款软件,分别
用来嵌入图片中信息。

此外,还可以利用Cat-pdf、Cat hex等技术来隐
藏文档中的信息。

实验过程:
(1)安装Steganography Studio,打开软件,点击图片处进入图片
界面;
(2)选择一张要嵌入信息的图片,拖拽到Steganography Studio的
图片界面中;
(3)点击“文件”,选择“嵌入文件”,选择要嵌入图片中的信息;
(4)点击“嵌入文件”按钮,将信息嵌入图片中;
(5)点击“文件”,选择“保存”,将嵌入信息的图片保存至指定
位置。

2、利用信息隐藏技术嵌入视频中的实验
该实验采用XviD Video Codec和VirtualDub软件来嵌入视频中的信息。

实验过程:
(1)安装XviD Video Codec和VirtualDub;
(2)打开VirtualDub,添加要嵌入信息的视频;
(3)在“菜单”中选择“视频”,选择“压缩”;。

实验1 信息安全实验-加密与隐藏

实验1 信息安全实验-加密与隐藏

实验1 加密与隐藏一、实验目的(1)提高对加密与解密原理的认识;(2)提高对信息隐藏原理的认识;(3)学会使用加密与隐藏软件。

二、实验环境Pentiuum III、600 MHz以上CPU , 128M 以上内存,10G 以上硬盘,安装windows 98 以上操作系统,加密与隐藏软件EsayCode Boy Plus 。

EasyCode Boy Plus ,界面如图1-1所示。

图1-1 EasyCode Boy Plus界面三、实验内容与步骤3.1 加密文件任意编写一个 Word 文档,如 my.doc,执行 ECBoy.exe 程序,打开 EsayCode Boy Plus 窗口→选中“加密”→“添加文件→选中要加密的文件(如 my. doc )→在密码输人框中输人密码→“开始加密”→打开加密文件,如 my.doc ,看到的将是乱码。

说明:实际上EasyCode Boy Plus可以加密任何类型的文件,并对文件的每个比特单元加密。

如果需要加密一个文件夹,可以单击“批量添加文件”,程序将加密文件夹中的所有文件;如果被加密的文件较大,可以选中“启动快速加密”选项;如果只对文件名加密,可以选中“加密文件名”选项,这时加密后的文件名会改变,无法打开或执行。

3.2 解密文件在 Esaycode Boy Plus 窗口→选中“解密”→选择被加密的文件→在密码输人框中输人密码→“开始解密”→打开解密的文件,如 my.doc,可以看到文件的内容已经被解密或文件已经可以运行。

3.3生成随机密码在 Esaycode Boy Plus 窗口→选中“加密”→“产生随机密码”→在弹出的“随机密码生成器”窗口中打开所有选项,改变密码位数或密码中特殊字符数→单击“生成。

说明: EsayCode Boy Plus 可以生成安全强度很高的密码。

一般情况下使用 8位由大小写字母和数字组成的密码就可以了。

3.4 生成可自解密文件在 EsayC0de Boy Plus窗口→选中“编译 ExE”→选择“将文件编译为 ExE 文件”→“浏览”→选择要加密的文件(如 my . doc )→在密码输人框中输人密码→“开始编译/加密”→打开被加密的.exe 文件,如 my.doc ,程序会弹出窗口提示输人密码,输人密码正确后才能打开文件。

信息隐藏基础实验

信息隐藏基础实验

实验一基于图像的LSB信息隐藏算法一、实验目的1、了解和熟悉数字图像的读入和显示等基本操作。

2、了解不同“位平面”对图像质量的影响。

3、掌握不同图像格式之间的转换方法。

4、熟悉和掌握基于图像的LSB信息隐藏算法。

5、掌握对LSB算法的不可感知性的客观评价。

6、掌握LSB提取算法。

二、实验内容1、结合EXZAMPLE.M,查看不同“位平面”对图像质量的影响。

(1)运行example.m程序,将“位平面”的第7、8位设置为‘0’,得到如下结果,如图所示:由图分析得:去掉第7、8为,此两位(低位)对图像质量没有明显影响,没有携带图像的有用信息。

(2)运行example.m程序,将“位平面”的第3、4位设置为‘0’,得到如下结果,如图所示:由上图分析:对比左右两幅图像,可以看出去掉第3、4位对图像质量有较为明显的影响,携带有图像的有用信息。

(2)运行example.m程序,将“位平面”的第1、2位设置为‘0’,得到如下结果,如图所示:由图分析:对比左右两幅图像,可以看出去掉第1、2位对图像质量产生非常大的影响,携带有图像的大量有用信息。

由此程序可以得出,不同“位平面”对图像的质量有不同程度的影响,第1、2位携带有有用信息,而第7、8位不含有图像的有用信息。

2、运行water.m程序,理解不同图像格式之间的转换方法。

运行water.m程序,得到如下结果,如图所示:分析:可以在图像不同格式(RGB、灰度、二值)之间进行转换。

3、阅读并"完善" imbed.m内容,掌握基于图像的LSB信息隐藏算法。

(1)填写完善imbed.m程序,填写部分如下所示:(2)运行已完善的imbed.m程序,得到如下结果,如下图所示:分析:将水印嵌入灰度图像的“位平面”第N=6位,得到上图右图所示,与原图视觉效果没有区别,嵌入成功。

4、编写matlab函数:sse(f,f0)、mse(f,f0)、psnr(f,f0),实现对上述算法不可感知性的客观评价。

信息隐藏与数字水印实验教程课程设计

信息隐藏与数字水印实验教程课程设计

信息隐藏与数字水印实验教程课程设计课程设计简介信息隐藏和数字水印是一类在数字媒体内容中嵌入一些“隐蔽”的信息的可逆技术,其中信息隐藏以隐藏为目标,数字水印以鉴别为目标。

本课程设计是一款针对信息隐藏和数字水印技术的实验教程,旨在让学生了解信息隐藏和数字水印的基本概念、算法流程及实验操作。

实验教程实验1:LSB信息隐藏LSB信息隐藏是一种较为简单的信息隐藏技术,利用了图像或音频信号中的最低有效位(LSB)来储存信息。

本实验将让学生了解LSB信息隐藏的基本思路和实现流程。

实验步骤:1.安装Python编程环境和必要的库(numpy、pillow等);2.编写Python代码实现将信息隐藏到图像中的最低有效位;3.对图像进行解密,将隐藏的信息提取出来并显示。

实验要求:1.能够了解LSB信息隐藏的原理;2.能够独立完成Python代码的编写和调试;3.能够对嵌入信息后的图像进行正确解密。

实验2:DCT数字水印DCT数字水印是一种在频域中实现数字水印嵌入到图像或视频信号中的可逆算法,其中DCT(离散余弦变换)是一种常见的频域转换方式。

本实验将让学生了解DCT数字水印的基本原理和实现方法。

实验步骤:1.安装MATLAB编程环境和必要的工具箱(image processing等);2.编写MATLAB代码实现将数字水印嵌入图像中的DCT系数;3.对嵌入数字水印后的图像进行攻击,如JPEG压缩、调整亮度等;4.对加入攻击后的图像进行解密,将数字水印提取出来并验证。

实验要求:1.能够了解DCT数字水印的基本原理;2.能够独立完成MATLAB代码的编写和调试;3.能够对加入攻击后的图像进行正确解密和验证。

实验结论通过本次课程设计,学生能够了解信息隐藏和数字水印的基本概念,并通过实验了解LSB信息隐藏和DCT数字水印的基本算法和实现方式。

同时,学生也能够了解到数字水印的鲁棒性和对攻击的抵抗能力,以及对数字媒体内容可信度的提升。

信息隐藏 实验六 调色板图像隐写

信息隐藏 实验六 调色板图像隐写

实验六调色板图像隐写一,实验目的1,了解调色板图像的特点2,掌握基于调色板图像的信息隐藏原理3,设计并实现一种基于调色板图像的信息隐藏算法二,实验环境1,Windows XP2,Matlab3,调色板图像三,实验原理1,本实验的实验原理是:对调色板中所有颜色,把像素点的蓝色分量增加,然后将这种颜色添加到调色板中形成一个拓展调色板。

根据需要嵌入的消息长度,随机选取隐藏的位置,当嵌入0时,使用原调色板中的颜色,当嵌入1时,使用拓展后调色板中的颜色。

2,在查找的资料中显示,目前基于调色板的隐写大致分为三类:第一类是利用LSB 跳变来隐藏消息位, 这种技术一般要同时改变调色板与像素内容, 而且由于颜色空间的扩展, 导致图片中存在大片的颜色块, 容易检测出来; 第二类是利用调色板中的颜色对来进行数据隐藏; 第三类是通过颜色在调色板中的顺序来对消息位进行编码。

四,实验过程1,嵌入秘密信息在这个过程中,秘密信息‘123’被装在hidden.txt中,密钥为1234。

用randselest(x,count,key)函数来选择隐藏的位置。

结果如下所示:原始图像携密图像由图像可以看出,没有什么变化。

2,提取秘密信息结果如下截图所示,提取出的秘密信息是123.五,实验总结通过该实验了解了调色板图像的特点,掌握了基于调色板图像的信息隐藏原理。

六,代码附录1,simpleindexhiding.mclc;clear;%读入载体图像[x,map]=imread('lenaindex.bmp','bmp');wx=x;[row col]=size(wx);wmap=map;msgfid=fopen('hidden.txt','r');[msg,count]=fread(magfid);fclose(msgfid);count=count*8;msg=str2bit(msg);msg=msg';oplength=0;for i=1:256if map(i,1)~=0&&map(i,2)~=0&&map(i,3)~=0oplength=oplength+1;endend%复制调色板for i=oplength+1:oplength*2wmap(i,1)=map(i-oplength,1);wmap(i,2)=map(i-oplength,2);wmap(i,3)=map(i-oplength,3)+0.0001;endkey=1234;[row col]=randselect(x,count,key);%选择隐藏的位置for i=1:counthidingindex=x(row(i),col(i))+1;if msg(i,1)==1wx(row(i),col(i))=x(row(i),col(i))+oplength;endendimwrite(wx,wmap,'lenaindex1.bmp','bmp');figure;subplot(1,2,1);imshow('lena.bmp');title('原始图像');subplot(1,2,2);imshow('lenaindex1.bmp');title('携密图像');2,simpleextract.mclc;clear;%读入载体图像[x,map]=imread('lenaindex1.bmp','bmp');key=1234;count=24;for i=1:countmsg(i,1)=0;endoplength=64;[row col]=randselect(x,count,key);for i=1:countif x(row(i),rol(i))>oplengthmsg(i,1)=1;elsemsg(i,1)=0;endendout=bit2str(mag);fid=fopen('massage.txt','wt');fwrite(fid,out);fclose(fid);3,bit2str.mfunction out = bit2str(in)% out = zeros(1, round(length(in)/8));out = [''];len = round(length(in)/8);for n = 1:lentemp = in((n - 1) * 8 + 1:n * 8);temp = toStr(temp);out(n) = bin2dec(temp);end;4,str2bit.mfunction data = str2bit(varargin)source = '';str = '';if nargin == 0source = input('please enter the plain text you want to send:\n', 's');elsesource = varargin{1};end;source_len = length(source) * 8;data = zeros(1, source_len);for n = 1:length(source)temp = dec2bin(source(n), 8);str = strcat(str, temp);end;for n = 1:source_lenif str(n) == '0'data(n) = 0;elseif str(n) == '1'data(n) = 1;elsefprintf(1, 'error bit');return;end;end;5,randselect.mfunction [row col]=randselect(omatrix,count,key) [m,n]=size(omatrix);distance1=ceil(m*n/count);distance2=distance1-2;if distance2==0error('载体太小');endrand('state',key);a=rand(1,count);row=zeros([1 count]);col=zeros([1 count]);r=1;c=1;row(1,1)=r;col(1,1)=c;for i=2:countif a(i)>=0.5c=c+distance1;elsec=c+distance2;endif c>nr=r+1;if r>merror('载体太小');endc=mod(c,n);if c==0c=1;endendrow(1,i)=r;col(1,i)=c;end6,toStr.mfunction y = toStr(x)%y = toStr(x)%change 0, 1array to string%x:0, 1arrayfor n = 1:length(x)if(x(n) == 1)y = strcat(y, '1');elsey = strcat(y, '0');end;end;。

LSB图片信息隐藏隐藏实验

LSB图片信息隐藏隐藏实验

上海电力学院高级程序设计(C)课程设计报告LSB信息隐藏实验题目:院系:计算机科学与技术学院专业年级:信息安全2012级学生姓名:涂桂花学号:指导教师:魏为民2015年4月14日目录一、实验目的 0二、实验内容和步骤 01. 操作环境 02. 系统配置 03. 操作步骤 04. 程序源代码 (3)三、实验结果 (3)1. 测试图片 (3)2. 测试结果 (3)3.截屏 (4)四.实验小结 (4)1. 遇到的问题总结合分析: (4)2. 未解决的问题 (4)3. 实验效果和分析 (4)4. 总结: (4)附件: (5)上 海 电 力 学 院实 验 报 告 课程名称实验项目 姓名 学号 班级 专业同组人姓名 指导教师 魏为民 实验日期 一、实验目的1.用MATLAB 函数实现LSB 信息隐藏和提取。

2.了解信息隐藏的作用和实现方法原理。

3.学会分析了解隐藏算法。

二、实验内容和步骤如操作环境、系统配置、操作步骤、程序源代码等。

1.操作环境操作系统 Windows 7 旗舰版 64位 SP1 ( DirectX 11 )2.系统配置处理器 AMD E1-2100 APU with Radeon HD Graphics 双核3.操作步骤1) 打开MATLAB 软件,新建文件夹名为“ LSB ”。

2) 在“Command Window ”窗口里输入“guide ”,回车。

a. 如下图所示建立图形界面。

将5个push button 控件的“String ”属性设置为下图相应显示的名字,Tag 属性设置为pbt+String 名的格式。

将4个axec 控件的Tag 属性设置为如下图所显示的名字。

3) 分别右键点击5个push button 控件,View Callbacks->CallBacks.给每个控件添加信息安全 LSB 信息隐藏实验 涂桂花 20123333 2012252 信息安全 无Callback代码。

信息隐藏实验三LSB图像信息隐藏剖析

信息隐藏实验三LSB图像信息隐藏剖析

实验三:LSB图像信息隐藏一、实验目的了解信息隐藏中最常用的LSB算法的特点,掌握LSB算法原理,设计并实现一种基于图像的LSB隐藏算法;了解如何通过峰值信噪比来对图像进行客观评价,并计算峰值信噪比值。

二、实验环境(1)Windows 7操作系统;(2)MATLAB R2012b版本软件;(3)BMP格式灰度图像文件。

三、原理简介任何多媒体信息在数字化时都会产生物理随机噪声,而人的感官系统对这些随机噪声并不敏感。

替换技术就是利用这个原理,通过使用秘密信息比特替换随机噪声,从而实现信息隐藏目的。

在BMP灰度图像的位平面中,每个像素值为8比特二进制,表示该点亮度。

图像高位平面对图像感官质量起主要作用,去除图像最低几个位平面并不会造成画面质量的明显下降。

利用这个原理可用秘密信息(或称水印信息)替代载体图像低位平面以实现信息嵌入。

本算法选用最低位平面来嵌入秘密信息。

最低位平面对图像的视觉效果影响最轻微,但很容易受噪声影响和攻击,可采用冗余嵌入的方式来增强稳健性加以解决,即在一个区域(多个像素)中嵌入相同的信息,提取时根据该区域中的所有像素判断。

四、实验步骤1. 隐藏提取及测试算法分为三个部分实现:(1)隐藏算法;(2)提取算法;(3)测试脚本。

1)隐藏算法源代码hide_lis.m如下:function o = hide_lsb(block,data,I)%function o = hide_lsb(block,data,I)%隐藏提取及测试%block:隐藏的最小分块大小%data:秘密信息%I:原始载体si = size(I);lend = length(data);N = floor(si(2)/block(2));%将图像划分为M*N个小块M = min(floor(si(1)/block(1)),ceil(lend/N));o = I;for i = 0 : M-1 %计算每小块隐藏的秘密信息rst = i*block(1) + 1;red = (i+1)*block(1);for j = 0 : N-1 %计算每小块隐藏的秘密信息的序号idx = i*N + j + 1;if idx > lendbreak;end%取每小块隐藏的秘密信息bit = data(idx);%计算每小块水平方向起止位置cst = j*block(2) + 1;ced = (j+1)*block(2);%将每小块最低位平面替换为秘密信息o(rst:red,cst:ced) = bitset(o(rst:red,cst:ced),1,bit);endend2)提取算法源代码dh_lsb.m如下:function out = dh_lsb(block,I)%function out = dh_lsb(block,I)%源代码dh_lsb.m如下:%block:隐藏的最小分块大小%I:携密载体si = size(I);%将图像划分为M*N个小块N = floor(si(2)/block(2));M = floor(si(1)/block(2));out = [];%计算比特1判决阀值:每小块半数以上元素隐藏是比特1时,判决该小块嵌入信息为1thr = ceil((block(1)*block(2) + 1)/2);idx = 0;for i = 0 : M-1%计算每小块垂直方向起止位置rst = i*block(1) + 1;red = (i+1)*block(1);for j = 0 : N-1%计算每小块将要数据的秘密信息的序号idx = i*N + j + 1;%计算每小块水平方向起止位置cst = j*block(2) + 1;ced = (j + 1)*block(2);%提取小块最低位平面,统计1比特个数,判决输出秘密信息 tmp = sum(sum(bitget(I(rst : red,cst : ced),1)));if (tmp >= thr)out(idx) = 1;elseout(idx) = 0;endendend3)测试脚本源代码test.m如下:fid = 1;len = 10;%随机生成要隐藏的秘密信息d = randsrc(1,len,[0 1]);block = [3,3];[fn,pn] = uigetfile({'* .bmp','bmp file(* .bmp)';},'选择载体');s = imread(strcat(pn,fn));ss = size(s);if (length(ss) >= 3)I = rgb2gray(s);elseI = s;endsi = size(I);sN = floor(si(1)/block(1))*floor(si(2)/block(2));tN = length(d);%如果载体图像尺寸不足以隐藏秘密信息,则在垂直方向上复制填充图像if sN < tNmultiple = ceil(tN/sN);tmp = [];for i = 1 : multipletmp = [tmp;I];endI = tmp;end%调用隐藏算法,把携密载体写至硬盘stegoed = hide_lsb(block,d,I);imwrite(stegoed,'hide.bmp','bmp');[fn,pn] = uigetfile({'*.bmp','bmp file(*.bmp)';},'选择隐蔽载体');y = imread(strcat(pn,fn));sy = size(y);if (length(sy) > 3)I = rgb2gray(y);elseI=y;end%调用提取算法,获得秘密信息out = dh_lsb(block,I);%计算误码率len = min(length(d),length(out));rate = sum(abs(out(1:len)-d(1:len)))/len;y = 1 - rate;fprintf(fid,'LSB:len:% d\t error rate:% f\t error num:% d\n',len,rate,len*rate);2. 计算峰值信噪比(1)峰值信噪比定义:2,2,,,,max ()x y x y x y x yx y p PSNR XY p p =-∑(2)峰值信噪比函数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一基于图像的LSB信息隐藏算法一、实验目的1、了解和熟悉数字图像的读入和显示等基本操作。

2、了解不同“位平面”对图像质量的影响。

3、掌握不同图像格式之间的转换方法。

4、熟悉和掌握基于图像的LSB信息隐藏算法。

5、掌握对LSB算法的不可感知性的客观评价。

6、掌握LSB提取算法。

二、实验内容1、结合EXZAMPLE.M,查看不同“位平面”对图像质量的影响。

(1)运行example.m程序,将“位平面”的第7、8位设置为‘0’,得到如下结果,如图所示:由图分析得:去掉第7、8为,此两位(低位)对图像质量没有明显影响,没有携带图像的有用信息。

(2)运行example.m程序,将“位平面”的第3、4位设置为‘0’,得到如下结果,如图所示:由上图分析:对比左右两幅图像,可以看出去掉第3、4位对图像质量有较为明显的影响,携带有图像的有用信息。

(2)运行example.m程序,将“位平面”的第1、2位设置为‘0’,得到如下结果,如图所示:由图分析:对比左右两幅图像,可以看出去掉第1、2位对图像质量产生非常大的影响,携带有图像的大量有用信息。

由此程序可以得出,不同“位平面”对图像的质量有不同程度的影响,第1、2位携带有有用信息,而第7、8位不含有图像的有用信息。

2、运行water.m程序,理解不同图像格式之间的转换方法。

运行water.m程序,得到如下结果,如图所示:分析:可以在图像不同格式(RGB、灰度、二值)之间进行转换。

3、阅读并"完善" imbed.m内容,掌握基于图像的LSB信息隐藏算法。

(1)填写完善imbed.m程序,填写部分如下所示:(2)运行已完善的imbed.m程序,得到如下结果,如下图所示:分析:将水印嵌入灰度图像的“位平面”第N=6位,得到上图右图所示,与原图视觉效果没有区别,嵌入成功。

4、编写matlab函数:sse(f,f0)、mse(f,f0)、psnr(f,f0),实现对上述算法不可感知性的客观评价。

(1)编写完成see(f,f0)函数,编写完毕如下所示:然后,在command窗口输入如下程序:Img_imbeded=imread('Img_imbeded.bmp');Img_cover=imread('lena.bmp');Img_sse = sse(Img_imbeded,Img_cover) 运行得到图像的总方差值:(2)编写完成mse(f,f0)函数,编写完毕如下所示:然后,在command窗口输入如下程序:Img_mse = mse(Img_imbeded,Img_cover) 运行得到图像的总方差值:(3)编写完成psnr(f,f0)函数,编写完毕如下所示:然后,在command窗口输入如下程序:Img_psnr = psnr(Img_imbeded,Img_cover) 运行得到图像的峰值信噪比值:单位为dB(分贝)分析:对伪装后的图像和载体图像进行不可感知性的客观评价,可以看出这种隐藏的峰值信噪比比较大,效果不是很好!5运行detect.m程序,理解和掌握LSB提取算法的实现。

运行detect.m程序,得到如下结果:容易看出所隐藏的信息被成功的提取出来,算法正确!(3)当取“位平面”N=8,运行Imbeddedm.m和dectect.m程序,得到如下结果,如图所示:嵌入效果稍比N=6好些,提取出的秘密信息也正确!进行不可感知性评价,运行sse(f,f0)、mse(f,f0)、psnr(f,f0)函数,得到如下结果:与N=6相比其峰值信噪比增大,不可感知性更加好。

故可得出,将秘密信息隐藏在最低位效果比较能取得较好的嵌入效果。

三、分析及讨论通过这个实验,了解和掌握了LSB的隐藏算法以及提取算法,这是将每个像素点化为8位的“位平面”,在低位嵌入秘密信息,以达到隐藏信息的目的。

此方法存在一种缺陷,即提取信息时须知道信息隐藏“位”,抗攻击能力不高。

此外,在编程中应特别注意变量的类型,否则会造成错误。

实验二基于变换域的信息隐藏算法一、实验目的1、复习理解基于变换域的信息隐藏技术相关内容。

2、掌握基于变换域的信息隐藏方法。

3、了解DCT变换及其系数分布。

4、了解掌握相应的秘密信息提取思路,并编写提取程序。

5、总结DCT变换信息隐藏的思想并改进之。

二、实验内容1、复习教材中基于变换域的信息隐藏(数字水印)技术相关内容。

目前主要使用的变换域方法有:离散余弦变换(DCT)、离散小波变换(DWT)、离散傅里叶变换(DFT)等。

本实验主要探讨离散余弦变换(DCT),DCT变换首先将载体图像分为8x8的像素块,然后进行而为DCT变换,得到8x8的DCT系数这些DCT系数从低频到高频按照Zig-Zag次序排列,左上角部分为直流和低频系数,右下角部分为高频系数,中间区域为中频系数。

一般将隐藏信息嵌入在载体中的中频部分,保持了图像的可视性。

2、认真阅读,并运行调试dct_imbed.m内容,并思考该方法能否实现秘密信息的盲检测?调试运行程序,得到如下结果如图所示:分析:该程序的核心语句如下:在选定的中频系数中叠加秘密信息并没有采用所选择的DCT系数,而是直接对秘密信息编码后乘以嵌入强度,因此可以判断出嵌入秘密信息时不需要载体图像的参与,为盲检测。

3、对应dct_imbed.m编程思路,编写相应的秘密信息提取程序dct_detect.m,实现watermarked_image.bmp中所嵌秘密信息的提取。

编写程序完毕,如下:运行该程序,得到提取信息的结果,如下图所示:秘密信息提取成功,说明算法是正确的。

4、在dct_imbed.m和dct_detect.m的基础上进一步改进该DCT域隐藏算法。

嵌入秘密信息和提取信息(1)嵌入信息程序编写完毕其中关键部分如下:运行程序,得到如下结果:实现了秘密信息的嵌入。

(2)提取信息程序编写完毕,其中关键部分如下:运行程序得到如下结果:秘密信息提取成功,说明程序正确。

(3)可通过改变嵌入信息强度k值来改善伪装图像的质量,若令k=50,则得到如下结果:图像质量较以前有所改观。

运行秘密信息提取程序,得到如下结果如图示:由图可以看出,提取信息过程中出现了一些错误,故此条件下秘密信息嵌入强度较低。

三、分析及讨论通过这个实验,了解和掌握了基于DCT变换域的秘密信息的隐藏和提取算法,将秘密信息隐藏在中频部分,既不较大影响图像质量,也具有一定的抗攻击能力。

嵌入中也需考虑嵌入强度的影响,若选择不当就影响了图像的提取和传输中的抗攻击能力。

实验三 回声隐藏算法一、实验目的1、了解“回声隐藏”的基本原理和数学模型。

2、了解“倒谱”的计算方法。

3、了解音频信号在matlab 环境里的读、写、显示。

4、掌握在“回声隐藏”基础上进行秘密信息的隐藏和提取方法。

二、实验内容1、复习教材中有关“回声隐藏”的基本原理和数学模型的相关知识。

在数字声音中隐藏信息有一种方法是回声隐藏发,它主要是利用了人耳在一个较强声音后的极短时间内的较弱声音的不可觉察性。

回声隐藏方法是在数字声音信号()f t 中引入回声()f t t -∆,引入回声的不同方法就代表了秘密信息。

生成的伪装信号为()()()c t f t f t t α=+-∆,通过选择不同的延迟t ∆来达到对秘密信息编码的目的,比如,秘密信息为“0”,选择延迟为t ∆;秘密信息为“1”,选择延迟为't ∆。

为了在一段语音信号中隐藏多个秘密信息比特,需要把连续载体语音信号先分成L (m )个短序列块,每一个语音块利用回声隐藏方法隐藏一比特秘密信息。

在每一块之间用一些不用的取样点隔开,并且间隔大小事随机选取的,这些间隔不会引起听者的察觉,并使得检测和提取秘密信息更加困难。

在接受端提取秘密信息时,必须采取某种同步措施,使得接受者能够得到L (m )个信号块的起止位置,然后,在每一个信号块中采用快速傅里叶变换得方法,求得信号的自相关函数,自相关函数在延迟时间t ∆或者't ∆上出现峰值,就得到了隐藏的秘密信息。

2、熟悉并掌握“倒谱”的计算方法。

由于每段隐写声音信号都是一个卷积性组合信号,直接从时域或频域确定回声延时存在一定困难,可采用卷积同态滤波系统来处理,将这个卷积性组合信号变为加性组合信号。

传统方法大都用倒谱分析来确定回声延时:1()[ln (())]y C n F F y n -=其中:F 和1F -分别为傅立叶变换和逆变换。

在信号的倒谱()y C n 中,延迟时间d 处会出现幅度为a 的峰值,然后根据峰值出现位置的不同可确定嵌入回声的延时大小,从而进一步确定隐藏信息是“0”或是“1”。

3、阅读“myecho.m ”,实现“回声隐藏”法。

将myecho.m 程序填写完整,如下所示:运行此程序,得到如下结果:由图可以看出,采用回声隐藏并没有太大影响语音波形,并可以看到最后一个采样点的倒谱峰值。

4、在回声隐藏的基础上编写程序,实现回声隐藏算法。

编程将20bit秘密信息隐藏在manvoice.wav中,编程完毕如下所示:运行此程序,得到如下结果:由图可以看出,秘密信息隐藏前后语音波形并没有产生太大的变化,提取出的秘密信息中发生了一位误码,说明这种隐藏算法也存在着不足。

三、分析及讨论通过此次实验,熟悉和掌握了基于回声隐藏的语音信号的信息隐藏算法,了解了语音信号的读入、写和显示,通过嵌入秘密信息前后语音质量的对比,没有对语音质量造成太大的影响;但在提取过程中出现了一位的错误信息,说明语音信号的隐藏比图像隐藏要更困难些。

07电信齐文涛20071170992010年5月4日星期二。

相关文档
最新文档