当前位置:文档之家› 信息隐藏 实验五 Patchwork 图像信息隐藏

信息隐藏 实验五 Patchwork 图像信息隐藏

信息隐藏 实验五 Patchwork 图像信息隐藏
信息隐藏 实验五 Patchwork 图像信息隐藏

实验五 Patchwork 图像信息隐藏

一,实验目的

1,了解Patchwork信息隐藏特点,

2,掌握基于Patchwork 的图像信息隐藏原理

3,设计并实现一种 Patchwork 的信息隐藏方法

二,实验环境

1, Windows XP 操作系统

2, Matlab 7.1版本软件

3, BMP格式图片文件

三,实验原理

1,Patchwork是指从载体数据中选择一些数据组成两个集合,通过修改这两个集合之间的某种关系来携带水印信息。这两个集合可以是两个系数、两组系数或者是两个特征量。两个集合之间的关系可以是大小关系、能量关系、逻辑关系和奇偶关系等。Patchwork方法嵌入水印时,通过修改集合之间的某种关系来嵌入水印;提取水印时则根据对应的关系来提取嵌入的水印信息。2,在本实验报告中,验证了通过随机方式把像素分组的方法。随机选择N对像素点(ai和bi),然后将ai点的值增加d,将bi点的像素值减少d。

3,同时,设计了自己的算法。先把图像的像素写成一维矩阵,根据矩阵下标4*n形式和4*n-1形式分为两组,将下标为4*n形式所对应的像素增加常量d=2.3,将下标为4*n-1形式所对应的像素减少常量d=2.3。

四,实验内容

1, 验证通过随机方式把像素分组的方法。

(1)嵌入秘密信息

clc;

clear all;

oi=imread('baboon.bmp');%读入载体图像

ni=rgb2gray(oi);

wi=ni;

[row col]=size(wi);

wi=double(wi);

wi=wi(:);

n=floor((row*col)/10);

length=row*col;

rand('state',123);%产生随机数的密钥

a=rand(1,n);%产生N长度的随机数

d=2.3;%定义修改的分量

count=0;

k=1;

while k<=n

if (a(1,k)>=0.5)

wi(k*10,1)=wi(k*10,1)+d;

wi(k*10-1,1)=wi(k*10-1,1)-d; end

k=k+1;

end

for i=1:row

for j=1:col

wil(i,j)=wi(row*(j-1)+i,1);

end

end

wil=uint8(wil);

imwrite(wil,'watermarked.bmp'); subplot(1,2,1);imshow(ni);%显示原始图像subplot(1,2,2);imshow(wil)%显示新图像

下图为原图与嵌入信息的图像:

(2)计算两个样本均值的差

clc;

clear;

oi=imread('watermarked.bmp');%读入嵌入水印后的图像wi=oi;

[row col]=size(wi);

wi=double(wi);

wi=wi(:);

n=floor((row*col)/10);

r=1.6;

rand('state',123);%产生随机数的密钥

a=rand(1,n);%产生N长度的随机数

d=2.3;%定义修改的分量

count=0;

k=1;

tempa=0;

tempb=0;

while k<=n

if(a(1,k)>=0.5)

tempa=tempa+wi(k*10,1);

tempb=tempb+wi(k*10-1,1);

count=count+1;

end

k=k+1;

end

avea=tempa/count;

aveb=tempb/count;

if((avea-aveb)>r*d)

watermark=1;

else

watermark=0;

end

计算后的结果在workspace中可以看出:

2,设计了自己的算法。

先把图像的像素写成一维矩阵,根据矩阵下标4*n形式和4*n-1形式分为两组,将下标为4*n形式所对应的像素增加常量d=2.3,将下标为4*n-1形式所对应的像素减少常量d=2.3。

(1)嵌入秘密信息

clc;

clear all;

oi=imread('baboon.bmp');%读入载体图像

ni=rgb2gray(oi);

wi=ni;

[row col]=size(wi);

wi=double(wi);

wi=wi(:);

length=row*col;

n=length/4;

d=2.3;

for k=1:n

wi(k*4,1)=wi(k*4,1)+d;

wi(k*4-1,1)=wi(k*4-1,1)-d;

k=k+1;

end

for i=1:row

for j=1:col

wil(i,j)=wi(row*(j-1)+i,1);

end

end

wil=uint8(wil);

imwrite(wil,'watermarked.bmp');

subplot(1,2,1);imshow(ni);%显示原始图像

subplot(1,2,2);imshow(wil)%显示新图像

下图为原图与嵌入信息的图像:

(2)计算两个样本均值的差

clc;

clear;

oi=imread('watermarked.bmp');%读入嵌入水印后的图像wi=oi;

[row col]=size(wi);

wi=double(wi);

wi=wi(:);

r=1.6;

length=row*col;

n=length/4;

d=2.3;

tempa=0;

tempb=0;

count=0;

for k=1:n

tempa=tempa+wi(k*4,1);

tempb=tempb+wi(k*4-1,1);

count=count+1;

k=k+1;

end

avea=tempa/count;

aveb=tempb/count;

if((avea-aveb)>r*d)

watermark=1;

else

watermark=0;

end

结果在workspace中显示:

五,实验总结

通过该实验,了解了Patchwork信息隐藏特点,掌握基于Patchwork 的图像信息隐藏原理,并自己设计并实现一种 Patchwork 的信息隐藏方法。

信息隐藏实验十LSB信息隐藏的卡方分析教程文件

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

实验十 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 ,对参数q 的贡献为-1/2。载体音频中共有 2h2i*个样点的值为2i 或2i+1,若所有样点都包含1比特的秘密信息,那么每个样点为2i 或2i+1的概率就是0.5。当2h2i*较大时,根据中心极限定理,下式成立: 其中->N(0,1)表示近似服从正态分布 所以服从卡方分布。 上式中,k 等于h2i 和h2i+1所组成数字对的数量, h2i*为0的情况不计在内。r 越小表示载体含有秘密信息的可能性越大。结合卡方分布的密度计算函数计算载体被隐写的可能性为: 如果p 接近于1,则说明载体图像中含有秘密信息。 *22122**222(0,1) 2i i i i i i h h h h N h h *2 22*12()k i i i i h h r h 1121021 1 exp()21 2()2r k k t p t dt k

基于LSB算法的图像信息隐藏与检测

数字图像隐写分析 基于LSB算法的图像信息隐藏与检测 学院名称计算机科学与技术学院 专业班级 学生姓名 学号 指导教师 2016.05.01 基于LSB算法的图像信息隐藏与检测 摘要:LSB替换隐写基本思想是用嵌入的秘密信息取代载体图像的最低比特位,原来的的7个高位平面与替代秘密信息的最低位平面组合成含隐藏信息的新图形。文章首先简

单叙述了BMP位图文件的文件格式,然后根据24位真彩色BMP位图格式与显示方式的特殊性,直接改变图像中像素的最后一位值来嵌入秘密文件,提出了一种对文字信息进行加密的有效方案。 关键词:LSB,信息隐藏,信息安全,BMP位图 Image information hiding and detection based on LSB algorithm

Abstract: LSB replacement steganography basic idea is to use the embedded secret information to replace the image of the lowest bits, the original 7 high plane and the least significant bit plane of alternative secret information into new graphics containing hidden information.This paper simple describes the BMP file format of the bitmap file, and then according to the 24 true color BMP bitmap format and the particularity of display mode, directly change the values of pixels in the image of the last to embed secret files, puts forward a effective scheme of text information is encrypted. Key words: LSB, Information hiding,information security,bit map file 目录 第1章绪论 (5)

LSB信息隐藏实验报告

C entr al South University 信息隐藏 实验报告 学院: 信息科学与工程学院 班级:信息安全1201 学号:0909121724 姓名:吕秋言 时间: 2018年6 月 实验一:基于图像的LSB 信息隐藏 一、 实验目的 该实验为验证性实验。目的是通过实验使学生掌握经典信息隐藏算法,在Matlab 环境下,编写基于图像的LSB 信息隐藏算法程序。用Matlab 函数实现LSB 信息隐藏及提取,并进行分析。b5E2RGbCAP 二、 实验要求 1、实验前要做好充分准备,包括:复习实验所涉及的知识点,掌握Matlab 编程语言和调试环境。 2、实验时注意记录实验过程中产生的数据、出现的问题及解决问题的方法。

3、理论联系实际,认真分析实验结果,回答思考题。 4、实验后完成实验报告,并附相关截图。 三、实验环境 计算机<安装Visual C++ 6.0和Matlab 6.5以上版本) 四、实验原理 隐秘算法核心是将我们选取的像素点的最不重要位依次替换成秘密信息,以达到信息隐秘的目的。嵌入过程包括选择一个图像载体像素点的子集{j1,…,jl(m>},然后在子集上执行替换操作像素 cji←→mi,即把cji的LSB与秘密信息mi进行交换(mi可以是1或0>。一个替换系统也可以修改载体图像像素点的多个比特,例如,在一个载体元素的两个最低比特位隐藏两比特、三比特信息,可以使得信息嵌入量大大增加但同时将破坏载体图像的质量。在提取过程中,找出被选择载体图像的像素序列,将LSB(最不重要位>排列起来重构秘密信息,算法描述如下:p1EanqFDPw 嵌入过程:for(i=1。i<=像素序列个数。i++> si←ci for(i=1。i<=秘密消息长度。i++> //将选取的像素点的最不重要位依次替换成秘密信息 sji←cji←→mi 提取过程:for(i=1。i<=秘密消息长度。i++> { i←→ji//序选取 mi←LSB(cji>

最新图像信息隐藏技术与设计 大学毕业设计

1 前言 本章主要介绍信息隐藏技术的背景和研究意义、国内外信息隐藏技术研究现状,列举了本文的主要研究内容,最后给出了全文的结构安排。 1.1 信息隐藏技术的背景和研究意义 二十世纪九十年代以来,网络信息技术在全世界范围内得到了迅猛发展,它极大地方便了人们之间的通信和交流。借助于计算机网络所提供的强大的多媒体通信功能,人们可以方便、快速地将数字信息(数字音乐、图像、影视等方面的作品)传到世界各地,一份电子邮件可以在瞬息问传遍全球。但同时计算机网络也成为犯罪集团、非法组织和有恶意的个人利用的工具。从恶意传播计算机病毒,到非法入侵要害部门信息系统,窃取重要机密甚至使系统瘫痪;从计算机金融犯罪,到利用表面无害的多媒体资料传递隐蔽的有害信息等等,对计算机信息系统进行恶意攻击的手段可谓层出不穷。 因此,在全球联网的形势下,网络信息安全非常重要,一个国家信息系统的失控和崩溃将导致整个国家经济瘫痪,进而影响到国家安全。各国政府和信息产业部门都非常重视网络信息安全的研究和应用。密码技术是信息安全技术领域的主要传统技术之一,是基于香农信息论及其密码学理论的技术,一般采用将明文加密成密文的秘密密钥系统或者公开密钥系统,其保护方式都是控制文件的存取,即将文件加密成密文,使非法用户不能解读。但加密技术主要适用于文本的加密,而对音频、视频、图像等多媒体数据类型来说,由于它们的数据量往往很大,如何对超大数据量的多媒体数据进行有效的加、解密仍是一个难题。而且信息加密是利用随机性来对抗密码攻击的,密文的随机性同时也暴露了消息的重要性,即使密码的强度足以使攻击者无法破解出明文,但他仍有足够的手段来对其进行破坏,使得合法的接收者也无法阅读信息内容。随着计算机性能的大幅度提高,软硬件技术的迅速发展,加密算法的安全性受到了严重挑战。 由于加密技术的局限性,最近十几年以来,一种新的信息安全技术——信息隐藏技术(Information Hiding)迅速地发展起来。信息隐藏的渊源可以追溯到古希

信息隐藏 实验四 二值图像信息隐藏

实验四二值图像信息隐藏 一、实验目的 了解二值图像的特点,掌握基于二值图像的信息隐藏原理,读懂两种基于二值图像的信息隐藏方法,并自己设计另一种二值信息隐藏的方法。 二,实验环境 (1)Windows XP操作系统; (2)MATLAB 7.2版本软件; (3)二值图像文件。 三、实验原理 二值图像又称为单色图像或黑白图像,一般用1或0表示黑色或白色像素点,利用二值图像信息隐藏的方法主要是根据图像中黑白像素数量的比较来隐藏信息。 方法一:把一个二值图像分成一系列矩形图像区域B,某个图像区域B中黑色像素的个数大于一半,则表示嵌入0;如果白色像素的个数大于一半,则表示嵌入1。但是当需要嵌入的比特与所选区域的黑白像素的比例不一致时,为了达到希望的像素关系,则需要修改一些像素的颜色。 方法二:采用游程编码方法在二值图像中隐藏信息。秘密信息嵌入时修改二值图像的游程长度,如果秘密信息位是0,则修改该游程长度为偶数;如果为1,则修改游程长度为奇数;如果秘密信息的取值与游程长度的奇偶性相匹配,则不改变游程长度。 方法三:将二值图像分块,使用一个与图像块大小相同的密钥二值图像块,与每一个图像块按像素进行“与”运算,“与”运算的结果可以确定是否在该块中嵌入数据,或嵌入怎样的数据。 四,实验步骤 下面以方法三为原理,进行实验。 1.嵌入秘密信息 主要思想:首先将载体图像分块,块数为秘密信息的二进制码个数,分块大小为载体图像的长和宽分别除以块数;设定一个与图像块大小相同的密钥二值图

像块,具体为一个8×8的数组,其中前4行全为1,后4行全为0;将载体图像块与密钥二值图像块进行“与”运算。经过运算后,参与统计的像素变为前4行。接下来统计“有效”像素黑白的个数,某个图像区域B中黑色像素的个数大于“有效”像素一半,则表示嵌入0;如果白色像素的个数大于“有效”像素一半,则表示嵌入1。但是当需要嵌入的比特与所选区域的黑白像素的比例不一致时,为了达到希望的像素关系,则需要修改一些像素的颜色。 Matlab代码如下: msgfid=fopen('hidden.txt','r');%打开秘密文件 [msg,count]=fread(msgfid); fclose(msgfid); msg = str2bit(msg); msg = msg'; count=count*8; io=imread('hunter.bmp');%读入载体图像 watermarklen=count;%嵌入水印信息长度,也就是载体图像分块的数量值 [row col]=size(io); l1=floor(row/watermarklen);%载体图像分块后的长度 l2=floor(col/watermarklen);%载体图像分块后的宽度 pixelcount=l1*l2;%每个分块总像素的数量值 miyue=[ones(6,8);zeros(2,8)];%密钥二值图像块 percent=24; iw=io; in=io;%存放与运算后的图像信息 %将原图像块与密钥块进行与运算 m=1; while m<=watermarklen i=1; j=1; in(i:(i+l1-1),j:(j+l2-1))=io(i:(i+l1-1),j:(j+l2-1)) & miyue; i=i+8; j=j+8; m=m+1; end inblack(1,watermarklen)=0;%某一个分块中黑色像素的个数 inwhite(1,watermarklen)=0;%某一个分块中白色像素的个数 n=1; while n<=watermarklen for i=l1*(n-1)+1:(l1*n-2) %只计算有效前4行的黑白个数

图像文件中嵌入隐藏的文字信息

工程实训任务书 图像文件中的信息隐藏 [任务目标] 用C语言设计一个程序,实现在一个图像文件(.BMP)中嵌入隐藏的文字信息。通过另一个软件,可以将图像中隐藏的信息提取出来。要求嵌入信息后不影响图片的视觉效果。 [性能指标] 1、图片是标准的24位色BMP文件 2、通过键盘输入要嵌入到文字信息,并嵌入到图像文件中 3、编写一个提取程序,提取出隐藏的文字。 软件代码: #include #include #include #include void writef(unsigned char a[],unsigned char tu[],int tu_l); void readf(int n,unsigned char tu[],int tu_l); //向图片写入文字信息的函数入口 void writein(){ FILE* fp; char name[22]; long L; unsigned char* f; unsigned char file[202]; printf("请输入文件的路径:\n"); cin.getline(name,20);

if(!(fp=fopen(name,"rb"))){ printf("file can not be found."); exit(0); } else { fseek(fp,0,2);L=ftell(fp); //查询图片长度 f=(unsigned char*)malloc(L); rewind(fp); fread(f,L,1,fp); //读取出未添加文字的图片 fclose(fp); } printf("请输入隐藏的信息:"); cin.getline(file,200); writef(file,f,L); //开始隐藏文字 printf("文件保存完毕!\n路径为e:\\abc.bmp\n"); } void writef(unsigned char a[],unsigned char tu[],int tu_l){ FILE* fp; unsigned char t; int i,j,k; i=0; while(a[i]!='\0') i++; //获取输入的文字长度 printf("信息的长度为:%d\n",i); for(j=64;j<(64+i*8);j++) tu[j]=tu[j]&0xFE; //对图片存入文字的区域初始化,将每位颜色的二进制代码最后一位变为零 for(j=0;j>1; //逐位获取文字的二进制代码 } } if(!(fp=fopen("e:\\abc.bmp","wb"))){ printf("file can't be built.\n"); exit(0); }else{ fwrite(tu,tu_l,1,fp); //将处理后的文件保存 fclose(fp); } }

基于图像的信息隐藏检测技术

基于图像的信息隐藏检测技术 傅德胜,谢永华 (南京信息工程大学计算机与软件学院南京210044) 摘要:本文首先介绍了现有图像信息隐藏检测技术的分类,然后阐述了常用的基于图像的信息隐藏盲检测技术,并对它们的优缺点和应用领域进行了分析,最后对信息隐藏技术的发展和系统开发作了分析与展望。 关键词:信息隐藏;基于图像;盲检测 1 引言 现代信息隐藏技术自上个世纪九十年代中期出现以来,已经成为数字通信、信息安全和版权保护领域的重要研究课题,并得到了越来越广泛的应用。目前利用数字图像作为隐秘信息的载体已经成为主要的信息隐藏技术之一,其基本原理是利用人体感觉器官对数字图像的感觉冗余,将被隐藏的图像数据嵌入在某种载体图像中,嵌入后隐秘图像与原始的载体图像几乎没有任何视觉上的差别,很难被观察者和监视系统发现,从而可以保证机密信息传输的安全性。可以预见,信息隐藏技术将是今后相当一段时间内的重要的隐蔽通信方式[1] 。 但是信息隐藏技术的发展也带来了一定的负面效果,据美国媒体透露,已经发现恐怖组织利用隐藏在图像中的信息传递联络情报,甚至将计算机病毒隐藏在载体图像中进行传输,这些都对国家安全和社会稳定产生了很大的威胁。因此,研究对图像中可能存在的各种隐藏信息进行有效检测的方法已经迫在眉睫,因而基于图像的信息隐藏检测技术也就成为目前信息安全领域的重要研究课题。近几年来,世界各国的信息安全专家在这一方面进行了深入的研究,并提出了一定的隐藏信息检测模型,开发了相关的信息隐藏检测软件,如美国著名的信息安全产品开发公司Wetstone开发的信息隐藏检测软件Stego Suite[2] 。本文首先对目前常用的基于图像的信息隐藏技术进行了统计和分类,分析了它们的优缺点和适用领域,然后重点介绍了基于图像信息隐藏的盲检测算法,最后对隐藏技术的发展趋势和信息隐藏检测系统的开发进行了分析与展望。 2 基于图像的信息隐藏检测技术 图像信息隐藏检测技术主要用于判断图像中是否有隐藏信息的存在,它是信息隐藏分析技术的第一步,也是现阶段基于图像的隐藏信息分析的主要内容。 从检测技术的手段考虑,基于图像的信息隐藏检测技术大致可以分为: (1)对比检测技术 对比检测技术是对隐蔽图像载体和原始图像载体的属性如大小、分辨率、颜色值、灰度值、直方图或者变换域系数进行对比,从其中的差值或者关联信息中进行分析判断隐藏信息存在的可能性。这种方法实现比较简单,但是在大多数情况下,无法获取原始载体图像,因此没有太大的实际意义和应用价值。 (2)盲检测技术 盲检测技术指的是在没有原始载体图像的情况下,只通过隐蔽载体本身来检测隐藏信息。通常可以通过对图像特征进行分析和提取,判断是否存在隐藏信息。盲检测技术是当今信息隐藏检测领域最热门的研究领域,难度较大,但是具有更广泛的应用前景。 根据研究角度不同,基于图像的信息隐藏检测技术可以分为: (1)时空域方法

信息隐藏实验十一LSB信息隐藏的RS分析

LSB 信息隐藏的RS 分析 一, 实验目的: 了解RS 隐写分析的原理,掌握一种图像LSB 隐写算法的分析方法,设计并实现一种基于图像的LSB 隐写的RS 隐写分析算法。 二, 实验环境 (1)Windows 7操作系统; (2)MATLAB R2012b 版本软件; (3)图像文件lena.bmp ; (4)S-Tools 工具; 三, 实验原理 1. RS 隐写分析原理 RS 主要是针对采用伪随机LSB 嵌入算法进行攻击的一种方法。RS 方法不但能检测出图像是否隐藏信息,而且还能比较准确地估算出隐藏的信息长度。 RS 隐写分析算法考虑图像各个位平面之间具有一定的非线性相关性,当利用LSB 隐写算法隐藏秘密信息后,这种相关性就会破坏。只要能找出衡量这一相关性的方法,并对隐藏秘密信息前后的情况加以对比,就有可能设计出隐写分析方法。 RS 隐写分析方法的理论核心是:任何经过LSB 隐写的图像,其最低比特位分布满足随机性,即0、1的取值概率均为1/2,而未经过隐写的图像不存在此特性。对于一个M N ?像素的图片,设各个像素的值取自集合P ,例如一个8bit 的灰度图像,{0,1,2, ,255}P =。将这些像素分为有着n 个相邻像素的子集,例 如n 可以取值为4,记为1234(,,,)G x x x x =。进一步利用如下函数表示图像块的空间相关性,即 1 12311 (,,, ,)n n i i i f x x x x x x -+==-∑ (1) 函数f 使得每一个集合G 都对应一个实数。G 中的噪声越大,函数f 的值越大。f 的值越小,说明图像相邻像素之间的起伏越小,而图像块的空间相关性越强。然后,定义集合P 上的3个函数:

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

实验十LSB信息隐藏的卡方分析 一,实验目的: 了解什么是隐写分析,隐写分析与信息隐藏和数字水印的关系。掌握基于图像的LSB隐写的分析方法,设计并实现一种基于图像的LSB卡方隐写分析方法。 二,实验环境 1,Windows XP操作系统 2,Mat lab 软件 3,BMP格式图片文件 三,实验原理 隐写术和隐写分析技术是互相矛盾乂是相互促进的,隐写分析是指对可疑的载体信息进行攻击以达到检测、破坏,共至提取秘密信息的技术,它的主要目标是为了揭示媒体中隐蔽信息的存在性,其至只是指出媒体中存在秘密信息的可疑性。 图像LSB信息隐藏的方法是用嵌入的秘密信息取代载体图像的最低比特位,原来图像的7个高位平面与代表秘密信息的最低位平面组成含隐蔽信息的新图像。虽然LSB隐写在隐藏大量信息的情况下依然保持良好的视觉隐蔽性,但使用有效的统计分析工具可判断一幅载体图像中是否含有秘密信息。 目前对于图像LSB信息隐藏主要分析方法有卡方分析、信息量估算法、RS 分析法和GPC分析法等。卡方分析的步骤是:设图像中灰度值为j的象素

数为hj,其中0WJW255。如果载体图像未经隐写,h2i和h2i+l的值会相差很大。秘密信息在嵌入之前往往经过加密,可以看作是0、1随机分布的比特流,而且值为0与1的可能性都是1/2。如果秘密信息完全替代载体图像的最低位,那么h2i和h2i+l的值会比较接近,可以根据这个性质判断图像是否经过隐写。定量分析载体图像最低位完全嵌入秘密信息的情况:嵌入信息会改变直方图的分布,由差别很大变得近似相等,但是却不会改变 h2i+h2i+l的值,因为样值要么不改变,要么就在h2i和h2i+l 之间改变。令显然这个值在隐写前后是不会变的。 如果某个样值为2i,那么它对参数q的贡献为1/2:如果样值为2i+l , 对参数q的贡献为T/2。载体音频中共有2h2i*个样点的值为2i或2i+l, 若所有样点都包含1比特的秘密信息,那么每个样点为2i或2i+l的概率就是0.5。当2h2i*较大时,根据中心极限定理,下式成立:其中->N(0, 1)表示近似服从正态分布所以他厂心》 服从卡方分布。 上式中,k等于h2i和h2i+l所组成数字对的数量,h2i*为0的情况不计在内。r越小表示载体含有秘密信息的可能性越大。结合卡方分布的密度计算函数计算载体被隐写的可能性为: 如果P接近于1,则说明载体图像中含有秘密信息。 四,实验结果 1,原图像 2,直方图由于所有的数据画出的直方图过于密集,所以选取80:99这之间的像素值。

合肥工业大学信息隐藏实验报告 完整代码版.

计算机与信息学院 信息隐藏实验报告 专业班级 信息安全13-1班 学生姓名及学号 马骏 2013211869 课程教学班号 任课教师 郑淑丽 实验指导教师 郑淑丽 实验地点 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字节-------------------------全为0 000Ah~000Dh 4字节-------------------------偏移量118字节 000Eh~0011h 4字节-------------------------位图信息块大小40字节 0012h~0015h 4字节-------------------------宽450 0016h~0019h 4字节-------------------------高450 001Ah~001Bh 2字节-------------------------恒为01h 00h 001Ch~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字节-------------------------图像所用颜色数=0 0032h~0035h 4字节-------------------------重要颜色数=0 0036h~0076h 64字节-------------------------颜色表

LSB图像信息隐藏实验

学号:姓名:专业年级班级: 实验室:组别:实验日期:

message=fopen('Message.txt','r'); [msg,msg_len]=fread(message,'ubit1') %按位以二进制形式读取文本内容与长度 [m,n]=size(image1) %读取行和列 p=1; %p 为秘密信息的位计数器 [row,col]=randinterval(image1,msg_len,1996); for i=1:msg_len image1(row(i),col(i))=image1(row(i),col(i))-mod(image1(row(i),col(i)),2)+msg( p,1); if p==msg_len break ; end ; p=p+1; end %还原图像 Hide_image(:,:,1)=image1; Hide_image=uint8(Hide_image); imwrite(Hide_image,'Hide_image.tif'); %输出隐藏信息的图像 subplot(121);imshow(image);title('未嵌入信息的图片'); subplot(122);imshow(Hide_image);title('嵌入信息的图片'); else ['the photo is not a rgb style'] fclose('all'); end 实验算法 2:读取 LSB 隐藏的信息 1.读取已经隐藏信息的图像。如果为 RGB 图像,则读取图像的一层(该层为嵌入信 息的那层)。 2.用与 LSB 算法中相同的随机数种子产生相同的一串随机数。随机数串的长度由 LSB 中获得(长度不得大于图像大小)。 用同一个伪随机生成算法,相同的种子,来产生像素点位置,可以确保隐藏时和提取 时位置顺序是一模一样的,在顺序读取这些位置上的数据(利用与运算,与上1,任

实验二图像DCT域信息隐藏实验

综合评分:实验二:图像DCT域信息隐藏实验 【实验目的】: 一、简单复习变换域信息隐藏的基本思想 二、用 MATLAB实现图像DCT相关操作 三、完成基于图像DCT的信息隐藏实验 【实验内容】:(请将你实验完成的项目涂“■”) 实验完成形式: ■用MA TLAB函数实现图像DCT域信息隐藏和提取 ■用MA TLAB命令行方式实现图像DCT域信息隐藏和提取 □其它:(请注明) 实验选择载体: ■256×256灰度图像■256×256RGB图像■任意大小的RGB图像 实验效果和分析: ■分析了健壮性参数α与鲁棒性的关系 ■能随机选择嵌入块(考虑安全性因素) ■嵌入块均匀分布于载体 □信息提取的检错/纠错 ■分析了健壮性参数α与不可见性的关系 □其它:(请注明) 【实验工具及平台】: ■Windows+Matlab■其它:(请注明)WinHex 【实验涉及到的相关算法】: 在一个图像块中调整两个(或多个) DCT系数的相对大小。将描述一个使用数字图像作为载体的系统。在编码处理中,发送者将载体图像分成8×8的像素块,每一块只精确地编码一个秘密信息位。嵌入过程开始时,首先伪随机地选择一个图像块bi,用它对第i个消息比

特进行编码。令Bi=D{bi}为DCT变换后的图像块。 在通信开始前,发送者和接收者必须对嵌入过程中使用的两个DCT系数的位置达成一致,让我们用(u1,v1)和(u2,v2)来表示这两个索引。这两个系数应该相应于余弦变换的中频,确保信息保存在信号的重要部位(从而使嵌入信息不容易因JPEG压缩而完全丢失)。进一步而言,人们普遍认为中频 DCT系数有相似的数量级,我们可以假定嵌入过程不会使载体产生严重降质。因为构造的系统要在抵抗JPEG压缩方面是健壮的。我们就选择在JPEG压缩算法中它们的量化值一样的那些DCT系数。根据表2.1,系数(4,1)和(3,2),或者(1,2)和(3,0)是比较好的。 编码方法:若块Bi (u1,v1) >Bi(u2,v2) 就编码为“1”,否则编码为“0”。 在编码阶段,如果相对大小与要编码的比特不匹配,就相互交换两个系数。由于JPEG 压缩(在量化阶段)能影响系数的相对大小,算法应通过在两个系数中加随机值,以确保对某个x>0,使得|Bi (u1,v1)-Bi(u2,v2) |>x。 DCT隐秘载体编码过程: for i =1,...,l (M) do 选取一隐蔽数据块bi Bi=D{bi} if m=0 then if Bi (u1,v1)>Bi (u2,v2)then 交换Bi (u1,v1)和Bi (u2,v2) end if else if Bi (u1,v1)

信息隐藏 实验五 Patchwork 图像信息隐藏

实验五 Patchwork 图像信息隐藏 一,实验目的 1,了解Patchwork信息隐藏特点, 2,掌握基于Patchwork 的图像信息隐藏原理 3,设计并实现一种 Patchwork 的信息隐藏方法 二,实验环境 1, Windows XP 操作系统 2, Matlab 7.1版本软件 3, BMP格式图片文件 三,实验原理 1,Patchwork是指从载体数据中选择一些数据组成两个集合,通过修改这两个集合之间的某种关系来携带水印信息。这两个集合可以是两个系数、两组系数或者是两个特征量。两个集合之间的关系可以是大小关系、能量关系、逻辑关系和奇偶关系等。Patchwork方法嵌入水印时,通过修改集合之间的某种关系来嵌入水印;提取水印时则根据对应的关系来提取嵌入的水印信息。2,在本实验报告中,验证了通过随机方式把像素分组的方法。随机选择N对像素点(ai和bi),然后将ai点的值增加d,将bi点的像素值减少d。 3,同时,设计了自己的算法。先把图像的像素写成一维矩阵,根据矩阵下标4*n形式和4*n-1形式分为两组,将下标为4*n形式所对应的像素增加常量d=2.3,将下标为4*n-1形式所对应的像素减少常量d=2.3。 四,实验内容 1, 验证通过随机方式把像素分组的方法。 (1)嵌入秘密信息 clc; clear all; oi=imread('baboon.bmp');%读入载体图像 ni=rgb2gray(oi); wi=ni; [row col]=size(wi);

wi=double(wi); wi=wi(:); n=floor((row*col)/10); length=row*col; rand('state',123);%产生随机数的密钥 a=rand(1,n);%产生N长度的随机数 d=2.3;%定义修改的分量 count=0; k=1; while k<=n if (a(1,k)>=0.5) wi(k*10,1)=wi(k*10,1)+d; wi(k*10-1,1)=wi(k*10-1,1)-d; end k=k+1; end for i=1:row for j=1:col wil(i,j)=wi(row*(j-1)+i,1); end end wil=uint8(wil); imwrite(wil,'watermarked.bmp'); subplot(1,2,1);imshow(ni);%显示原始图像subplot(1,2,2);imshow(wil)%显示新图像 下图为原图与嵌入信息的图像:

信息隐藏 实验十 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 ++= 221 2 i i h h q +-=

信息隐藏 实验二 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');

LSB图片信息隐藏隐藏实验精选文档

L S B图片信息隐藏隐藏 实验精选文档 TTMS system office room 【TTMS16H-TTMS2A-TTMS8Q8-

上海电力学院 高级程序设计(C) 课程设计报告Array 题 院系:计算机科学与技术学院 专业年级:信息安全2012级 学生姓名:涂桂花学号: 指导教师:魏为民 2015年4月14日

目录

上 海 电 力 学 院 实 验 报 告 课程名称 实验项目 姓名 学号 班级 专业 同组人姓名 指导教师 魏为民 实验日期 一、实验目的 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 属性设置为如下图所显示的名字。 信息安全 LSB 信息隐藏实验 涂桂花 2012252 信息安全 无

3)分别右键点击5个push button控件,View Callbacks->CallBacks.给每 个控件添加Callback代码。再添加代码之前要为该fig文件命名。我在本 次实验命名为。各个控件的代码如下: % --- Executes on button press in pbtCover. function pbtCover_Callback(hObject, eventdata, handles) % hObject handle to pbtCover (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global gCover; [gCover,sFile]=loadimg(); if isempty(gCover) msgbox('Cover image is empty!','Warning','warn','modal'); return; end axes; imshow(gCover); [iH iW iL]=size(gCover); sMsg=[sFile,'[',num2str(iH),'*',num2str(iW),'*',num2str(iL),']']; set,'String',sMsg); % --- Executes on button press in pbtSecret. function pbtSecret_Callback(hObject, eventdata, handles) % hObject handle to pbtSecret (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global gSecret; [gSecret ,sFile]=loadimg(); if isempty(gSecret) msgbox('Secret image is empty!','Warning','warn','modal'); return; end axes; imshow(gSecret); [iH iW iL]=size(gSecret); sMsg=[sFile,'[',num2str(iH),'*',num2str(iW),'*',num2str(iL),']']; set,'String',sMsg); set,'String','Secret Image'); % --- Executes on button press in pbtEmbed. function pbtEmbed_Callback(hObject, eventdata, handles) % hObject handle to pbtEmbed (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global gCover gSecret gStego; if isempty(gCover) msgbox('Cover image is empty!' , 'Warning' , 'warn' , 'modal' );

相关主题
文本预览
相关文档 最新文档