LSB图像信息隐藏实验【学习资料】
信息隐藏技术课件 第三章 图像信息隐藏与水印

为改变上述算法,可以采用游 程编码方法在二值图像中隐藏 信息。采用游程编码方式隐藏 的信息量较大,而且隐写后的 载体图像和原始载体图像从视 觉效果上看差别不大,是较好 的一种二值图像信息隐藏方法。
【思考题】
• 1.二值图像信息隐藏另一种方 法原理如下:将二值图像分块, 使用一个与图像块大小相同的 密钥二值图像块,与每一个图 像块按像素进行“与”运算, “与”运算的结果可以确定是 否在该块中嵌入数据,或嵌入 怎样的数据。设计并实现该算 法。
• 该方法存在一定的缺陷,没有 明确界定哪些像素可以修改以 便于隐藏秘密信息,二值图像 中某些像素的修改可能会引起 二值图像视觉效果上的较大变 化,相应的水印嵌入算法可能 在较大程度破坏图像的质量。 • 为达到较好的隐藏效果,可以 采用游程编码方法在二值图像 中隐藏信息。
• 游程编码的概念在图像压缩的 过程中经常使用,如下图所示 的编码为:<0,3>, <1,5>, <0,4>, <1,2>,<0,1>。其中0 表示白色像素点,1表示黑色 像素点。
• Patchwork方法典型算法只能隐藏 1bit的信息,也就是只能说明该 图像是否存在水印,隐藏的信息 量比较小,但是该算法的鲁棒性 较强。该算法的原理如下:随机 选择两个集合A={ai}和B={bi}, 要求A和B中含有相同图像系数, 设为n;将集合A中所有样点的像 素值增加d,同时将集合B中所有 样点的像素值减少d,这样两个集 合中的样值都经过微小的改动。
【实验步骤】
• 1.嵌入秘密信息 • 2.提取秘密信息 原始图像和携密图像从视觉效 果上几乎相同。提取时,首先 将两个图像块集合的样本分别 求平均值,计算两个样本均值 的差来判断水印信息是否存在。 把整个图像中的像素全部分成 两组,也可以通过随机的方式 实现。
基于LSB算法的图像信息隐藏与检测

基于LSB算法的图像信息隐藏与检测数字图像隐写分析基于LSB算法的图像信息隐藏与检测学院名称计算机科学与技术学院专业班级学⽣姓名学号指导教师2016.05.01基于LSB算法的图像信息隐藏与检测摘要:LSB替换隐写基本思想是⽤嵌⼊的秘密信息取代载体图像的最低⽐特位,原来的的7个⾼位平⾯与替代秘密信息的最低位平⾯组合成含隐藏信息的新图形。
⽂章⾸先简单叙述了BMP位图⽂件的⽂件格式,然后根据24位真彩⾊BMP位图格式与显⽰⽅式的特殊性,直接改变图像中像素的最后⼀位值来嵌⼊秘密⽂件,提出了⼀种对⽂字信息进⾏加密的有效⽅案。
关键词:LSB,信息隐藏,信息安全,BMP位图Image information hiding and detection based on LSBalgorithmAbstract: 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)1.1 LSB算法原理 (5)第2章 LSB隐写实现 (7)2.1 LSB隐藏过程 (7)2.2 LSB隐写实例效果 (8)第3章 LSB信息提取 (10)3.1 LSB信息提取过程 (10)3.2 LSB信息提取实例效果 (10)参考⽂献 (13)第1章绪论1.1 LSB算法原理LSB是L.F.Turner和R.G.van Schyndel等⼈提出的⼀种典型的空间域信息隐藏算法。
LSB数字图像加密技术

LSB数字图像加密技术实验一:LSB 信息隐藏实验【实验目的】:一、熟悉MATLAB 基本操作二、完成LSB 实验【实验内容】:(请将你实验完成的项目涂“■”)实验完成形式:■ 用MA TLAB 函数实现LSB 信息隐藏和提取■ 用MA TLAB 命令行方式实现LSB 信息隐藏和提取□ 其它:(请注明)实验选择载体:■ 256×256灰度图像■ 256×256RGB 图像■ 任意大小的RGB 图像实验效果和分析:■ 分析了LSB 算法的抗攻击能力■ 能随机选择嵌入位(考虑安全性因素)■ 嵌入位均匀分布于载体□ 信息提取的检错/纠错□ 其它:(请注明)【实验工具及平台】:■ Windows+Matlab ■ 其它:(请注明) WinHex【实验涉及到的相关算法】:1、RGB 图像的每个像素有三个颜色分量(r,g,b )构成,且r,g,b 三个颜色分量都是取值(0,1)内的,为了便于计算机的“位”概念相联系,进行LSB 操作,我们想(0,1)与(0,255)进行对应。
10255doubleuint8图一在uint8中修改单位1,实际上就是相应修改像素值1/256=0.0039。
嵌入过程:for (i=1;i<=像素序列个数;i++)综合评分:i i s c →For(i=1;i<=秘密消息长度;i++)//将选取的像素点的最不重要位依次替换成秘密信息 i i j j i s c m →?图二提取过程:For(i=1;i<=秘密消息长度;i++) {i i j ? //序选取()i i j m LSB c ← }图三本实验中LSB 认为是图片中每个像素的最低位bit 值【实验分析】:1、顺序隐藏,256*256灰度图,LSB=1原始图像隐藏信息的图像LSB空域信息隐秘LSB空域信息隐秘位置隐秘消息的像素未隐秘消息的像素隐藏的信息:左图是原始图像与隐写图像的区别,可以看到左边的白色部分是两幅图的不一样之处,也就是隐秘消息的地方,因为是顺序隐秘,所以很容易检测出。
信息隐藏实验报告-信息隐藏技术

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

华北电力大学实验报告||实验名称课程名称||专业班级:学生姓名:学号:成绩:指导教师:实验日期:一、实验目的及要求1.复习《信息安全技术导论》中有关LSB的相关知识。
2.对其算法进行详细研究与理论分析。
3.利用MATLAB编写程序并仿真结果。
4.了解并掌握LSB信息隐藏和提取的方法,具备初步的独立分析和设计能力;5.提高综合应用所学的理论知识和方法独立分析和解决问题的能力;二、所用仪器、设备MATLAB环境三、实验3.1 信息隐藏及时空域信息隐藏概述信息隐藏技术主要由下述两部分组成:(1)信息嵌入算法,它利用密钥来实现秘密信息的隐藏。
(2)隐蔽信息检测/提取算法(检测器),它利用密钥从隐蔽载体中检测/恢复出秘密信息。
在密钥未知的前提下,第三者很难从隐秘载体中得到或删除,甚至发现秘密信息。
空域隐藏技术是指将秘密信息嵌入数字图像的空间域中,即对像素灰度值进行修改以隐藏秘密信息。
时空域信息隐藏分为:LSB与MSB,LSB对应的中文意思是:最不重要位,有时也称为最低有效位或简称最低位。
MSB,是最重要位。
这里主要介绍最不重要位LSB。
3.2 LSB上的信息隐秘3.2.1 LSB上信息隐秘的原理LSB方法通过调整载体图像像素值的最低若干有效位来来实现数据的嵌入,使所隐藏信息在视觉上很难被发觉,而且只有知道秘密信息嵌入的位置才能正确提取出秘密信息。
显然,LSB隐藏算法最低位被改变的概率是50%,它在原始图像里面引入了极小的噪声,在视觉上是不可见的。
实际上,对于24bit真彩色图像,我们在其最低两位甚至三位来隐藏信息使视觉上仍然是不可见的,对于灰度图像,改变其最低两位也能取得较好的效果。
另外,在LSB方法中,也可以不采用直接嵌入的方法,根据异或的可逆准则,采用替换的准则来实现信息的隐藏。
在嵌入数据位时,嵌入的是数据位与1或者0的异或值。
基于异或的运算也有许多改进的算法,在嵌入的过程中,首先计算每个像素灰度值的每一位的异或值,并把所得到的结果与要嵌入的信息进行异或运算,然后,把像素灰度值的最低位全部清零或置为1,再根据异或运算结果的值来改变最低位的信息,实际上,这相当于对信息进行了一层加密处理,嵌入的不再是原始信息,而是原始信启、的另外一种表达形式,不知道密钥的攻击者很难从中提取出信息。
基于LSB的工程图信息隐藏方法

、 、
Au
to
CA D
、
特序 列 填 充 到 这 些 像 素 的最 低 位 上
,
t
S ig n if i c
,
a n
t
B it
) 隐写 方 法 是 出现 较 早
。
特或j
比 特信 息
可 以 使 得 信 息嵌 入 量 大大增加 但 同时
。
,
的
一
种 时域 隐写 技术 其 实 现 比较 容 易
, ,
LSB
方 法 虽 然抗
却将 破 坏 载 体 图 像 的 质 量 在 提取 过 程 中 找 出被选择 载 体 图 像 的 像 素序 列 将
J,
巾
,
不 同 分 为 空 域 隐藏算 法 和 变 换 域 隐藏 算 法 空 域 隐 藏 算 法 采 用 直 接 改 变 图像 元 素值 的 力法 的 亮 度 或 色度 中加 入 隐 藏 的 内容
只 需 对 隐秘 载 体进 行 很 小 的
,
、
( 2 )提 取 过 程
fo
r
=
:
,
收 是在 图 像 元 素
。
一
般 是 先用 软件 设 计 出 三 维 模 型 然 后 再 转 换 出
,
最 低 比特 位 ( L S B ) 隐写 方 t
j :就
各 个 零件 的二
,
维丁 程 图
。
Au
to
CA D
是 当今 最流 行 的二 维绘
。
藏算 法
。
首 先读 取 出图片 中每 个 点 的 像 素值 把 信 息 的 比
,
图软件 它 在 二 维 绘 图领 域拥 有 广 泛 的用 户群
基于LSB图像之加密信息隐藏应用实现
基于LSB图像之加密信息隐藏应用实现摘要随着Internet的发展,人们越来越频繁的传递信息,在给人们带来便利的同时,也给人们的安全和隐私带来了隐患。
从很久以前,人们就开始了解如何保护自己的信息,发展到现在,信息安全主要分为两方面,密码学和信息隐藏。
本文在密码学这块的研究主要是RSA算法、AES算法和3DES算法。
RSA 是在1977年被提出来的,属于非对称加密算法,广泛用于公钥加密和电子商务中。
而对于信息隐藏技术方面,本文主要研究LSB算法。
LSB(LeastSignificant Bits)算法:一种常见的空间域数据隐藏算法,它替换了最低有效位以隐藏秘密信息。
通过LSB算法隐藏的信息一般来说肉眼察觉不出来,能很好地的保护秘密信息。
RSA算法可以将信息加密成密文,而LSB算法可以将加密后的密文隐藏到图片之中,人们的肉眼根本分辨不出来,将两者结合起来,可以更有效的保护信息安全。
关键词:加密,信息隐藏,LSB算法,RSA算法Implementation of encrypted information hiding based on LSB imageAbstractWith the development of the Internet, people are passing information more and more frequently, which brings convenience to people, but also brings hidden dangers to people's security and privacy. From a long time ago, people began to understand how to protect their own information. From now on, information security is mainly divided into two aspects, cryptography and information hiding. The research on cryptography in this article is mainly about RSA algorithm, AES algorithm and 3DES algorithm.RSA was introduced in 1977 and belongs to asymmetric encryption algorithm, which is widely used in public key encryption and e-commerce.As for the information hiding technology, this paper mainly studies the LSB algorithm. LSB (LeastSignificant Bits) algorithm: a common spatial data hiding algorithm, which replaces the least significant bit to hide secret information. The information hidden by the LSB algorithm is generally invisible to the naked eye, and can well protect secret information. The RSA algorithm can encrypt information into ciphertext, and the LSB algorithm can hide the encrypted ciphertext in the picture, people can't distinguish it by the naked eye. Combining the two can effectively protect information security.Keywords: encryption, information hiding, LSB algorithm, RSA algorithm目录一、前言 (2)(一)本设计的目的、意义及应达到的技术要求 (3)(二)本设计在国内外的发展概况及存在的问题 (3)(三)主要研究目标和内容 (4)(四)本设计应解决的主要问题 (4)二、系统需求分析 (5)(一)用户需求分析 (5)(二)功能需求分析 (5)(三)性能需求分析 (5)(四)可靠性需求分析 (5)(五)安全性需求分析 (6)三、可行性分析 (6)(一)技术可行性分析 (6)(二)经济可行性分析 (6)(三)操作可行性分析 (6)(四)性能可行性分析 (7)(五)安全可行性分析 (7)四、相关技术 (7)(一)信息隐藏概述 (7)(二)信息隐藏模型 (8)1.嵌入对象 (8)2.掩体对象 (8)3.隐藏对象 (9)4.密钥 (9)(三)信息隐藏的分类 (9)(四)信息隐藏的特点 (9)1.透明性 (10)2.不可检测性 (10)3.鲁棒性 (10)4.自恢复性 (10)5.安全性 (10)6.对称性 (10)7.可纠错性 (10)(五)信息隐藏技术与密码学技术 (10)(六)LSB算法 (12)(七)RSA算法 (12)1.算法描述 (12)2.RSA的安全性 (14)3.RSA的优缺点 (15)(八)AES算法 (15)1.AES简述 (15)2.AES的总体结构 (15)3.AES的详细结构 (17)(九)3DES算法 (19)1.3DES算法简述 (19)2.3DES算法的安全性 (22)五、系统设计 (22)(一)研究的基本思路和方法 (22)(二)总体设计 (22)(三)加密隐藏功能模块 (23)(四)提取解密功能模块 (24)六、系统测试 (25)(一)RSA加密和解密测试 (27)(二)AES加密测试 (29)(三)AES解密测试: (31)(四)3DES加密测试: (31)(五)3DES解密测试 (33)(六)LSB算法隐藏测试 (34)七、总结 (40)参考文献 (41)致谢 ..................................................................................................... 错误!未定义书签。
LSB算法实现
LSB算法实现实验报告一、实验环境1、计算机一台;2、Windows XP操作系统、MATLAB7.5二、实验内容与原理LSB(Least Significant Bit)算法是将秘密信息嵌入到载体图像像素值的最低有效位,也称最不显著位,改变这一位置对载体图像的品质影响最小。
LSB算法的基本原理:对空域的LSB做替换,用来替换LSB的序列就是需要加入的水印信息、水印的数字摘要或者由水印生成的伪随机序列。
由于水印信息嵌入的位置是LSB,为了满足水印的不可见性,允许嵌入的水印强度不可能太高。
然而针对空域的各种处理,如游程编码前的预处理,会对不显著分量进行一定的压缩,所以LSB算法对这些操作很敏感。
因此LSB算法最初是用于脆弱性水印的。
LSB算法基本步骤:1、将得到的隐藏有秘密信息的十进制像素值转换为二进制数据;2 、用二进制秘密信息中的每一比特信息替换与之相对应的载体数据的最低有效位;3、将得到的含秘密信息的二进制数据转换为十进制像素值,从而获得含秘密信息的图像。
图1. LSB原理示意图三、实验步骤3.1信息嵌入Picture=imread(‘c:\\test.tif’); %读入载体图像Double_Picture=Picture;Double_Picture=double(Double_Picture);%将图像转换为二进制‘c:\\test.txt’_id=fopen(‘c:\\test.txt’,'r'); %读取秘密信息文件[msg,len]=fread(‘c:\\test.txt’_id,'ubit1');[m,n]=size(Double_Picture);p=1; %p 为秘密信息的位计数器for f2=1:nfor f1=1:mDouble_Picture(f1,f2)=Double_Picture(f1,f2)-mod(Double_Picture(f1,f2),2)+msg(p,1);%将秘密信息按位隐藏入连续的像素中if p==lenbreak;endp=p+1;endif p==lenbreak;endendDouble_Picture=uint8(Double_Picture);imwrite(Double_Picture,‘c:\\result.tif’); %生成秘密信息subplot(121);imshow(Picture);title(' 未嵌入信息的图片');subplot(122);imshow(Double_Picture);title(' 嵌入信息的图片');图2. 嵌入信息前后结果图3.2 信息提取Picture=imread(‘c:\\result.tif’); %读入隐秘信息的图像Picture=double(Picture);[m,n]=size(Picture);frr=fopen(‘c:\\result.txt’,'a');len=8; %设定隐秘信息长度p=1;for f2=1:nfor f1=1:mif bitand(Picture(f1,f2),1)==1%顺序提取图像相应像素LSB 的秘密信息fwrite(frr,1,'bit1');result(p,1)=1;elsefwrite(frr,0,'bit1');result(p,1)=0;endif p==len %判断秘密信息是否读完break;endp=p+1;endif p==lenbreak;endendfclose(frr);图 3 提取结果四、结论基于Matlab 实现了图像的LSB 信息隐藏算法,并讨论了两种图像像素选择算法,通过比较可以发现,使用随机选择算法会将秘密信息均匀地嵌入到整个图像中,增强了秘密信息的不可见性和破解的难度,而顺序选择算法则容易受到视觉攻击。
一种改进的LSB数字图像隐藏算法-最新资料
一种改进的LSB数字图像隐藏算法Improved LSB steganography methodYUAN Zhanting,ZHANG Qiuyu, LIU Hongguo, PENG Duo(School of Computer & Communication, Lanzhou University of Technology, Lanzhou 730050, China):As for the common LSB steganography , SPA (sample pair analysis) and (regularand singular groups method) could estimate the embedding rate in image with high precision.This paper presented a subset of affine transformation with integer coefficients and invariance of image area to realize the scrambling of digital image,a perfect steganographic encoding scheme based on linear block code theory LSB steganography, which made the embedded messages have more steganalysis counteraction ability. Experimental results show that the proposed approach is undetectable by RS(regular singular)steganalysis and SPA(sample pair analysis)steganalysis and the histogram’s statistical property is preserved well. Otherwise,it is applicable for both gray images and color images and can be implemented conveniently.0 引言信息隐藏是一个崭新的研究领域,它横跨数字信号处理、图像处理、语音处理、模式识别、数字通信、多媒体技术、密码学等多个学科,它是把一个有意义的秘密信息隐藏在另一个称为载体的信息(如普通图片)中,得到隐密载体。
信息隐藏LSB算法实验报告
本科生课程考试答题本考生姓名__________考生学号_______专业班级________指导老师__________考试科目_________考试日期__年__月__日目录一、实验任务和要求 (2)1.1实验任务 (2)1.2实验要求 (2)二、实验算法LSB原理 (2)三、实验环境和采用的工具 (3)四、具体实现步骤 (3)4.1 LSB算法水印嵌入 (3)4.2 LSB算法水印提取 (4)4.3 LSB算法实验测试 (5)五、源码分析 (5)5.1 LSB算法水印嵌入 (5)5.2 LSB算法水提取 (9)5.3 计算PSNR值 (12)六、实验测试 (13)6.1 LSB水印的嵌入 (13)6.2 水印的提取 (14)6.3 对水印进行鲁棒性测试 (14)6.4 对水印进行有效性测试 (14)6.5 对水印计算PSNR值 (14)6.6 对水印容量进行分析 (15)七、结论 (15)一、实验任务和要求1.1实验任务•信息载体:每个人自己的一张外景照片;•水印信息:每个人将学号、姓名按上下两列写在白纸上,然后手机拍摄,转化为黑白图片,作为水印信息;•信息隐藏方法:LSB算法(空域或频域)。
1.2实验要求实验可采用matlab6.5以上版本(C++、Java等),程序分为嵌入与检测两部分,最好有友好的操作方式;程序代码需要注释,编码简洁可靠明了,易检查。
实验测试要求有:•需对信息处理进行鲁棒性测试;•对水印嵌入的有效性进行测试;•计算嵌入前后的PSNR值;•对水印容量进行分析。
二、实验算法LSB原理LSB是L.F.Turner和R.G.van Schyndel等人提出的一种典型的空间域信息隐藏算法。
LSB 最低有效位法(Least Significant Bit;LSB)是运用人类视觉系统无法觉察细微变化之掩蔽效果,将秘密信息隐藏在图像像素的最低位,具有计算速度快且容易秘密信息隐藏在图像像素的最低位,具有计算速度快且容易实现有点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
资料本
1
学号:姓名: 专业年级班级:
实验室: 组别: 实验日期 :
课程名称 保密技术实验 实验课时
实验项目
名称 和序号 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);
资料本
2
interval1 = floor(m * n/(count+eps)) + 1;
interval2 = interval1 - 2;
if interval2 == 0
error('载体太小不能把秘密信息隐藏进去');
end
rand('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:count
if a(i) >= 0.5
c = c + interval1;
else
c = c + interval2;
end
if c > n
r = r + 1;
if r > m
error('载体太小不能把秘密信息隐藏进去');
end
c = mod(c, n);
if c == 0
c = 1;
end
end
row(1, i) = r;
col(1, i) = c;
end
4. 按照产生的随机数的序列依次将图片层的最后一位改为消息的信息。即用消 息替
换图片 的最后一位信息。
5. 嵌入完成后,如果为 RGB 则将该层返回原图像。然后将数据信息写回图像。 LSB
就完成了。
image=imread('1.jpg');
Hide_image=image;
Hide_image=double(Hide_image);
mysize=size(image);
if numel(mysize)>2
['the photo is a rgb style photo'] %是rgb图像输出到命令行窗口
资料本
3
image1=Hide_image(:,:,1); %
第三个参数 1代表的读取的是红层,但是没有将
2,3层设为0,因为会叠加,所以显示出来的第一层图像还是灰色的
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),co
l(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 图像,则读取图像的一层(该层为嵌入信
息的那层)。