Matlab编程实现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)峰值信噪比函数。
信息隐藏实验(LSB隐写,随机LSB隐写,RS隐写分析)

信息隐藏实验二LSB隐写分析姓名:周伟康学号:班级:一:实验要求1、针对自己实现的隐写算法(嵌入、提取),计算隐蔽载体的PSNR值,通过PSNR值来评估隐写对图像质量的影响,并与主观感受做对比。
2、实现一种隐写分析方法,对隐蔽载体进行检测(卡方、RS……)二:实验步骤1、编写随机选点函数,完善顺序和随机两种LSB信息嵌入和提取。
%随机间隔选点函数%[row, col] = randinterval(test, 60, 1983);function [row, col] = randinterval(matrix, count, key)[m, n] = size(matrix);interval1 = floor(m * n / count) + 1;interval2 = interval1 - 2;if interval2 == 0error('载体太小,不能将秘密消息隐藏其内!');endrand('seed', key);a = rand(1, count);%initializerow = 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 + interval1;elsec = c + interval2;endif c > nr = r + 1;if r > merror('载体太小,不能将秘密消息隐藏其内!');endc = mod(c, n);if c==0c = 1;endendrow(1, i) = r;col(1, i) = c;end选取8*8的矩阵测试2、对比原始图像和隐藏信息后图像,计算隐蔽载体的均方差(MSE)进而计算峰值信噪比(PSNR),评估隐写对图像质量的影响。
基于matlab的信息隐藏代码实现

Matlab期中作业标题:基于matlab的信息隐藏代码实现姓名:********班级:********学号:********目录摘要----------------------------------------------------------------------------------------------------------------------------- - 2 -前言----------------------------------------------------------------------------------------------------------------------------- - 2 -一、图像隐藏技术的研究现状 ------------------------------------------------------------------------------------ - 2 -二、实现图像隐藏的主要算法 ------------------------------------------------------------------------------------ - 4 -三、基于行列变换的图像置乱与反置乱算法 ---------------------------------------------------------------- - 4 -3.1 图像置乱算法 ----------------------------------------------------------------------------------------------------- - 4 -3.2 图像反置乱算法-------------------------------------------------------------------------------------------------- - 5 -四、基于m序列的图像加密与解密算法----------------------------------------------------------------------- - 5 -五、相关程序代码及运行结果 ------------------------------------------------------------------------------------ - 5 -5.1 源代码 --------------------------------------------------------------------------------------------------------------- - 5 -5.2 运行结果 ------------------------------------------------------------------------------------------------------------ - 7 -六、参考文献------------------------------------------------------------------------------------------------------------ - 8 -七、总结 ------------------------------------------------------------------------------------------------------------------ - 8 -摘要【摘要】近几年来,国际上提出一种新的关于信息安全的概念——信息隐藏技术。
信息隐藏 实验十 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。
如何进行信息隐藏的Matlab实现

如何进行信息隐藏的Matlab实现引言信息隐藏是一种将数据嵌入到其他载体中的技术,被广泛应用于数字版权保护、信息安全和隐私保护等领域。
Matlab作为一种强大的数值计算和数据可视化工具,提供了许多用于实现信息隐藏的函数和工具箱。
本文将介绍如何使用Matlab实现信息隐藏的基本原理、常用方法以及相关应用。
一、基本原理信息隐藏的基本原理是将要隐藏的信息嵌入到一个载体中,使其在外观上与原始载体无异。
常用的载体包括图像、音频和视频等。
在Matlab中,图像的处理是最为常见的应用场景之一。
图像信息隐藏的基本原理是在载体图像的像素值中嵌入待隐藏的信息。
通常,我们可以使用图像的最低有效位(LSB)进行嵌入操作。
LSB是指图像中像素值的最后一位,一般情况下,这个位上的变化对人眼来说是不可察觉的。
二、常用方法1. LSB替换法LSB替换法是信息隐藏中最为简单且常用的方法之一。
其基本原理是将待隐藏的数据按照一定的规则嵌入到载体图像的LSB位置。
具体步骤如下:(1)将待隐藏的数据转换为二进制形式;(2)读入载体图像,并将其像素值转换为二进制形式;(3)将待隐藏数据的二进制位逐一替换掉载体图像像素值的LSB位;(4)将嵌入了数据的载体图像保存至新文件。
2. 频域法频域法是一种将待隐藏的信息转换到载体图像的频域表示中,以实现更好的隐藏效果的方法。
其基本原理是将待隐藏的数据嵌入到载体图像的频域系数中,即对原始图像进行傅里叶变换,然后在频域中进行数据嵌入。
具体步骤如下:(1)载入待嵌入数据和载体图像;(2)对载体图像进行傅里叶变换,得到频域系数;(3)将待隐藏数据转换为频域表示;(4)将待隐藏数据嵌入到载体图像的频域系数中;(5)进行逆傅里叶变换,得到嵌入了数据的图像。
三、Matlab实现在Matlab中,可以使用以下函数和工具箱来实现信息隐藏操作:1. imread和imwrite函数:用于读取和保存图像;2. fft和ifft函数:用于傅里叶变换和逆傅里叶变换;3. bitget和bitset函数:用于获取和设置特定位上的二进制值。
LSB图像信息隐藏实验

学号:姓名:专业年级班级:实验室:组别:实验日期:课程名称保密技术实验实验课时实验项目名称和序号1.LSB图像信息隐藏实验同组者姓名实验目的1. 掌握对图像的基本操作。
2. 能够用 LSB 算法对图像进行信息隐藏3. 能够用 LSB 提取算法提取隐藏进图像的信息4. 能够反映 jpeg 压缩率与误码率之间的关系实验环境Windows+matlab实验内容和原理1.用 MATLAB 函数实现 LSB 信息隐藏和提取2.分析了 LSB 算法的抗攻击能力3.能随机选择嵌入位(考虑安全性因素)实验步骤方法关键代码实验算法 1:LSB 嵌入1.读取一副 256*256 大小的图片,判断是否为 RGB 图像。
若为 RGB 图像,则读取图像的一层信息(如 R 层)。
通过读取图像的尺寸大小来判断是否为RGB图像。
RGB图像是三维多彩图,size有3个参数,最小参数是3,只要判断读取到的图像大小大于2,就确定读入的是RBG图像2.以二进制形式读取要嵌入到图片里的消息。
并读取消息的长度(嵌入消息的长度不能超过图像位数)。
3.产生与消息长度一致的一串随机数(不能相同)。
自定义一个randinterval函数来实现伪随机数的生成产生的伪随机数是代表消息要隐藏的像素位置(行和列的信息)随机数代码:function [row,col]=randinterval(matrix,count,key)%randinterval.m%参数说明%matrix是载体矩阵,即要隐藏信息的图层%cout为要嵌入信息的像素数量%key为自定义秘钥,随机种子[m,n] = size(matrix);interval1 = floor(m * n/(count+eps)) + 1;interval2 = interval1 - 2;if interval2 == 0error('载体太小不能把秘密信息隐藏进去');endrand('seed',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 + interval1;elsec = c + interval2;endif c > nr = r + 1;if r > merror('载体太小不能把秘密信息隐藏进去');endc = mod(c, n);if c == 0c = 1;endendrow(1, i) = r;col(1, i) = c;end4.按照产生的随机数的序列依次将图片层的最后一位改为消息的信息。
信息隐藏实验报告一图像的位平面,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算法的MATLAB实现
LSB算法的MATLAB实现LSB(Least Significant Bit)算法是一种隐写术,用于在图像或音频中隐藏秘密信息。
在这种方法中,最不显著的比特位被用来存储隐藏的数据,这样可以尽量不对原始图像或音频造成明显的变化。
下面是MATLAB中实现LSB算法的步骤:1. 读入原始图像:使用`imread`函数将图像读入到MATLAB中。
例如,`image = imread('original_image.png');`2. 将图像转换为灰度图像:如果原始图像是彩色图像,则需要将其转换为灰度图像。
可以使用`rgb2gray`函数实现。
例如,`gray_image = rgb2gray(image);`3.将隐藏信息转换为二进制:将要隐藏的信息转换为二进制,并将其存储为一个向量或字符串。
4.检查隐藏信息长度:检查隐藏信息的长度是否小于图像中可用的像素数量。
如果隐藏信息过长,可能无法完全嵌入到图像中。
如果需要,可以考虑压缩或加密隐藏信息。
5.将隐藏信息嵌入到图像中:对于每个像素,在最不显著的比特位中存储隐藏信息。
可以使用位操作和移位操作来实现。
例如,如果要将隐藏信息的第一个比特位嵌入到像素的最不显著比特位上,可以使用以下代码:```matlabbit = 1; % 要嵌入的隐藏信息比特pixel = 100; % 图像中的一个像素值new_pixel = bitset(pixel, 1, bit); % 将bit设置为pixel的第一个比特位```6.将修改后的像素重新组装为图像:重复上述步骤,对每个像素进行处理,然后将修改后的像素重新组装为一个新的图像。
7. 保存隐藏信息的图像:使用`imwrite`函数将隐藏信息的图像保存到硬盘上。
例如,`imwrite(new_image, 'hidden_image.png');`8.提取隐藏信息:如果需要,可以使用类似的方法从隐藏信息的图像中提取出隐藏的信息。
LSB替换隐写docx
1 LSB替换隐写【实验目的】1.了解信息隐藏中最常用的LSB算法的特点,掌握LSB算法原理;2.设计并实现一种基于灰度图像的LSB隐写算法;【实验环境】1.Matlab7.1或以上版本;或者VC6.0;2.BMP灰度图像【实验原理及方法】1.LSB替换隐写BMP图像由像素组成,每个像素有一个灰度值。
灰度值是介于0到255之间的整数,0代表黑色,255代表白色,灰度值越大表示亮度越高。
在灰度BMP图像中,像素灰度用8比特二进制数表示,其中最高位对图像的贡献最大,最低位对图像的贡献最小,称其为最低比特位(least significant bit,LSB)。
将一幅图像所有像素的比特位抽取出来,就构成了8个不同的位平面(bit plane),图1给出了Peppers.bmp图像8个位平面的二值图表示。
从图中可见,位平面越高,对图像的贡献越大,相邻比特的相关性也越强,所以往往能显示出良好的规律性,最高位平面显示出了Peppers.bmp原貌,而最低位平面则类似于随机噪声。
(a)第1(最高)位平面(b)第2位平面(c)第3位平面(b)第4位平面(e)第5位平面(f)第6位平面(g)第7位平面(h)第8(最低)位平面图1 Peppers.bmp图像的8个位平面LSB替换隐写的基本思想是:用欲嵌入的秘密信息取代载体图像的最低比特位,原来图像的7个高位平面与代表秘密信息的最低位平面组成含隐蔽信息的新图像——隐秘图像,嵌入的示意图如图2所示。
图2 LSB 替换嵌入示意图 由LSB 替换隐写算法可知,信息嵌入时,最低位被更改的概率至多是50%,即使这样,LSB 替换隐写在原始图像里面也只引入了极小的噪声,这种噪声在视觉上是不可见的,如图3.5所示给出嵌入率分别为0%和100%时的图像视觉效果。
(a ) 原始图像 (b ) 满嵌后的隐秘图像图3.5 LSB 替换隐写前后的Lena.bmp 图像LSB 替换隐写可以描述如下: 首先引入以下记号:c 表示嵌入过程中的原始灰度图像(载体),可用一个长为l (c )的序列c i 来表示,可通过从左向右,从上到下将所有像素排列起来获得,其中c i 表示对应像素的灰度值,0≤c i ≤ 255;s 表示嵌入秘密信息后的隐秘图像,也可看作长为l (c )的s i 序列,1≤i ≤ l (c );m 表示待嵌入的秘密消息,是一个长为l (m )的由m i 组成的序列, l (m ) ≤ l (c ),一般而言,m i ∈{0, 1}。
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代码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
frit i= 素序 列 的个 数 : +) o( ; 像 = < i + S— C / i 整 个 图 像 的 像 素集 合 , I 我 们 顺 序 选取 的要 隐 l i / 为 C S是 / 信 息 的像 素 的集 合 / 藏
e df r n o
2 隐秘 原 理
L B 的嵌 入 方 法 是 首 先将 要 隐 藏 的 信 息 以二 进 制 的形 式 读 s 人 .再 按 照 一 定 的 算 法选 择 它 们 要 嵌 入 的 位 置 。如 果 要 隐藏 的
n k /吏用 种子 k随 机 生 成 序 列 k — 1 / f i fri 1 i= 密信 息 长 度 : + o (= ; 秘 < i ) +
S + n 一Cn +IM i _
n-n k * + i
e dfr n o
信 息 的某 一 位 为 1 ,则 它要 嵌 入 的 载 体 图像 相 应 位 置 的 像 素 值
e dfr n o
算 法 二 :随 即 选 取像 素 点嵌 入算 法 ,即选 } 的 嵌 入 信 息 的 } { 像 素 位 置 是 随 机 的 ,这样 可 以增 加 隐 秘 信 息 的 不 可 见性 。
秘 密 消 息 的嵌 入 :
和 运 算 能 力 而 闻 名 ,用 以 实 现 图像 的处 理 非 常适 合 。 在 此 介 绍 了一 种 简 单 的 图 像 空 域 隐 藏 算 法 一L B ( 不 重 S 最 要 位 ) 隐秘算 法 。主要 是将 隐秘 信息 嵌 入到 图像 最 不 容易 发 觉 的 像 素位 ,即最 不 重要 位 。使 用 此算 法 的 优点 是 隐藏 效果 好 ,不会 破 坏原 图像 的效 果 ,隐 藏信 息 多等 ,从 而达 到 隐藏 信息 的 目的 。
Do be Pc ue=Pc u e u l it r it r :
Do b e Pc ue= O b ( u l Pi u e; u l i r d u l Do be c r) t e — t
—
fr 1i= 素 序 列 的 个 数 + o( . 像 < +) S+ a / i 整 个 图 像 的像 素 集 合 , ; 我们 顺 序 选 取 的要 隐 l _ / 为 C S是 ∥ 菱 息 的 像 素 的集 合 菇信
o 2的 值 为 1 rd o ;如 果 要 隐 藏 的信 息 的某 一 位 为 0,则 它 要 嵌 入 的载 体 图像 相 应 位 置 的 像 素 值 r d o 2的值 为 0 o 。
一 譬
秘 密 消 息 的提 取 :
n一 1 / 用 种子 k随 机 生 成 序 列 k +k / 使 i fri1 i= 素 序 列 的个 数 : + o( : 像 = 《 i ) +
信 息 隐藏 的 实现 方 法 ,并详 细地 讲 解 用 Ma a t b编程 实现 对 图像 的预 处理 以及 L B 的 隐秘信 息 的嵌 l S
入 过程 。
关 键 词 :M aa ;信 息 隐 藏 ;L B tb l S
e df r n o
1 引 言
信 息 隐藏 作 为 一 门新 兴 学 科 越 来 越 受 到 人 们 的重 视 。而如 今 成 熟 的信 息 隐 藏 算 法 基 本 上 都 是 基 于 图像 的 ,其 中信 息 隐藏 在 图 像 空 域 中是 一 种 最 简 单 、 有 效 的 实 现 信 息 隐 藏 的 手 段 。 Ma a d h是 由 美 国 MA H T WO K R S公 司 设 计 的强 大 的 矩 阵 运 算 工
…
l
H
~
~
‘
…
…
…
’ …
…
…
…
…
曩
实用第一 智慧密集
… … … … … .… … … … … …
…
…
…
…
…
…
…
…
…
Ma a t b编程实现 s 信息的隐藏与提取 l L B
j
摘
要 :信 息 隐秘技 术越 来越 受到人们 的关注 。介 绍 了一 种 基 于 Maa tb环境 的 L B ( 不重要 位 ) l S 最
M1 L B Cn / 据 每 次 K生 成 的 序 列 K 寻 找 秘 密 信 息 的隐 一 S ( 》 / 根 i ∥ 位 置 , 进 行 提 取 藏 并
m-n k + i
L B 的提 取 方 法 是 首 先 将 确 定 隐 藏 信 息 嵌 入 的位 置 。如 果 s 该 位 置 的像 素 值 m d o 2的值 为 1 ,则 此 处 隐 藏 的 信 息 为 l ;如果 该 位 置 的像 素 值 r d o 2的值 为 0,则 此 处 隐 藏 的 信 息 为 0 o 。 但 是 选 择 选 择 嵌 入 的 位 置 不 同 ,抗 攻 击 的能 力 是 不 同 的 , 下 面将 介 绍 两 种 嵌 入 算 法 ,并 对其 进行 隐写 分 析 比较 。 算 法 一 :顺 序 选 择 图像 像 素 L B的 嵌 入 算 法 ,即将 选 取 的 S
e df r n o Fra bibliotek%将 图像 转 换 为二 进 制
e dfr n o
3 Malb实 现 L B信 息 隐藏 t a S
31 算 法 一 .
像 素 点 的 最 不 重 要位 依 次 替换 成秘 密信 息 。
秘密消息的嵌入 :
31 1 信 息 嵌 入 ..
Pcue i e d ‘: e t i ) %读 入 载 体 图 像 itr=mra (c\ s.f : \ t t’
具 ,它 包 含 了大 量 的 矩 阵 运 算 函 数 , 以其 强 大 的分 析 处 理 能力
秘密消息的提取 :
fri1 i= 素 序 列 的个 数 : + o( ; 像 = < i ) + i—j + + _ i / 算 存放 第 i 消 息 位 的 指针 i / 计 个 i
M i L BCi ∥ 算 Ci L B位 , 复秘 密信 息 + S (j 一 ) 计 j的 S 恢