基于LSB的信息隐藏技术.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于LSB的信息隐藏技术的实现唐晓晖 摘要:提供一种LSB的算法,该方法可以在图片载体上隐藏文本信息,隐藏性较好,人眼几乎无法区别。 关键词:Matlab LSB 信息隐藏 图像 信息隐藏技术 1.历史上的信息隐藏技术 古代的信息隐藏技术最初即是隐写术,隐写术一次最早起源于希腊语,英文是“Covered Writing”,古希腊历史学家希罗多德在著作中写了这么一个故事:一个名叫Histaieus的人筹划着与他的朋友合伙谋反,企图推翻波斯人的统治,他找来一位奴隶,剃光其头发把文字写在他的头上,等到头发再长出来,把这人作为传递消息的工具,里应外合,叛乱成功。无独有偶,历史上例如隐写术的事例还有很多,真正符合“隐写术”这三个字的是17世纪英国的Wilkins创造的,随着之后工业的发展,在第一次世界大战中人们制造出了化合物做成隐写墨水和显影剂,在中国古代,人们曾经使用挖有若干小孔的纸膜板盖在信件上,从中从信件明文中找到重要的密文消息。 2.现代的信息隐藏技术 随着网络在日常生活中的普及度的提高,网络信息的安全也成为了许多人关注的焦点,如今网络上出现的问题也越来越多,例如版权问题等,在国外对于版权的关注度是非常高的,虽然如今国内已经开始注重网络上的版权问题,但还是有许多人并不重视自己的版权或者尊重他人的版权。而信息隐藏技术也随着这一问题也进入了更多人的视线,其中数字水印技术作为信心隐藏技术的一种已经运用到了中国电影中,通过将数字水印嵌入到电影中来做到保护版权防止盗版的作用,这种数字水印并不会影响人们的观影体验,也很好的保护了版权。 基于LSB的信息隐藏技术 LSB信息隐藏方法 LSB的英文全称是least significant bit,也就是最低比特位的信息隐藏方法,它是一种较早出线的时域信息隐藏技术,实现也比较简单,用秘密消息替换掉载体中最不重要的比特位。这种算法的缺点是抗干扰性,即鲁棒性比较差,在有损压缩以及载体格式转换中的密文消息容易受到缺损,优点是根据载体的容量大小可以隐藏大量的密文消息,并且对于原始数据的保护比较好,隐蔽性强,人的感官几乎不能分辨原始载体和带有密文的载体的区别。 Matlab基于LSB的信息隐藏技术的实现 2.1嵌入算法 在Matlab上实现密文信息的嵌入,代码如下,其中L,W指的是图像的像素,H指的是图像是RGB彩色图像还是黑白图像,以[L,W,H]=[512,512,3]为例,即表示的是512*512像素位的彩色RGB图像,如果是黑白图像,应该是[L,W,H]=[512,512,1]。imStego指的是载体图像,bSecret指的是密文文档。这个过程就是以二进制位的形式,在文档的信息隐藏到图像的像素灰度0-255中的过程,以RGB图像为例,每个像素的颜色都由三个灰度数值来决定,它们是红色Red,绿色Green,蓝色Blue,它们的取值范围都在0-255之间,也就是说一个512*512像素的RGB图像的第一行第一列的像素a11可以表示为(255,255,255),以二进制来表示就是11111111,如果我们将这个像素根据密文改为11111111,那么人眼是基本不可能分辨这种变化的,那我们也就达成了隐藏信息的目的。 p=1; for k=1:L for j=1:W for i=1:H imStego(i,j,k)=imStego(i,j,k) - ... mod(imStego(i,j,k),2)+bSecret(p,1); if p==iLen break; end p=p+1; end if p==iLen break; end end if p==iLen break; end End 左图为原始载体图,而右图为嵌入了秘密信息后的图。 2.2提取算法 提取算法其实就是嵌入算法的逆过程,代码如下。 p=1; % Message pointer for k=1:L for j=1:W for i=1:H bSecret(1,p)=imStego(i,j,k)-imStego(i,j,k)+mod(imStego(i,j,k),2); if p==iLen break; end

文档评论(0)

潮起潮落 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档