LSB图像隐写
信息隐藏实验(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),评估隐写对图像质量的影响。
lsb隐写详讲

lsb隐写详讲上周末给⼤家培训了lsb隐写,但由于时间仓促,讲得可能过快,导致部分同学未能领悟,故作此⽂,以帮助各位同学们领悟!⾸先,给⼤家讲讲什么叫位图我们不妨把冠希的照⽚放⼤看看放⼤后可以注意到,这个图⽚其实是由⼀个个不同颜⾊的格⼦从左到右从上到下排列组成的。
对,就是如此多不同颜⾊的格⼦这样排列组成了这张好看图⽚!这就叫位图!什么?你觉得我给你的这个解释太粗糙?那我来点⽐较学术的解释(已经知道什么叫位图的同学可以略过):那么现在我们来说,假如我现在有⼀串信息⽐如说这么⼀串"JUST{Guan_xi_ge}"这串信息我们想要隐藏进冠希的这个照⽚,这样我们想要传递给别⼈的信息可以以图⽚为载体传给别⼈,即便被某个坏⼈截获了他也很难知道我们真的要传递的信息是什么,因为我们要传递的信息已经被隐藏或者说被隐写进了这个图⽚!!那么,怎么隐写呢?这次给⼤家讲解的隐写⽅式便是LSB(最低有效位)隐写。
在前⽂中,我们已经介绍了位图,⽽LSB隐写便是专门针对这种格式的图⽚的⼀种隐写⽅式。
前⽂中说到位图是由⼀个个密密⿇⿇的各种颜⾊的⼩⽅格⼀⾏⼀⾏的排列⽽成的精美图⽚。
这个⼩⽅格,我们称其为"像素点"。
⽽这些像素点的颜⾊各种各样才能组成我们眼前这副彩⾊的图,那么我们的计算机是怎么识别变化每个像素点的颜⾊的呢?⼤家应该都知道红(R)、绿(G)、蓝(B)三元⾊吧,通过调配这三种颜⾊,我们可以得到所有的颜⾊,⽽在计算机中,每个像素点的颜⾊便是通过调配其R、G、B的所占成分(值)从⽽得到的,也就是说,每个颜⾊的像素点,在计算机看来其实都是⼀组R、G、B的值。
如下图,我们选中⽩⾊,识别出其R、G、B的值分别为255、255、255。
在计算机看来,R、G、B这三种颜⾊中每个颜⾊对应的值都是⼀个8位⼆进制数,因此,在计算机读⼊时,实际上这三元⾊的值分别为11111111,11111111,11111111,所以,对于计算机⽽⾔,它看到的这么⼀个像素点实际上就是11111111 11111111 11111111这么⼀个⼆进制串,我们称其为该像素点的RGB码(⼆进制),为了⽅便⼈阅读,我们⼈常常将这串⼆进制串写作⼗六进制形式,也就是#ffffff,这也是这个像素点的RGB码(⼗六进制)。
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.按照产生的随机数的序列依次将图片层的最后一位改为消息的信息。
07.1基于LSB的隐写与隐写分析

f2i1
a
2
f2i
f2i1
a 2 f2i1
f2i f2i1
2020/1/30
信息隐藏和数字水印
22
直方图补偿隐写
特点
隐写后直方图不再趋于相等,2法失效 嵌入量降低:部分载体用于补偿
2020/1/30
信息隐藏和数字水印
23
RS分析方法
对图像分块,以Zigzag方式扫描排列成一个 向量(x1,…,xn)
30
RS分析方法
则非负翻转后有三类像素
没有被翻转
灰度值未变,像素比例为(1-a/21b
经历一次翻转
灰度值变化1,像素比例为(1-a/2ba/21 ba/2bab
经历二次翻转
灰度值回到原始值,像素比例为ab/2
隐写像素 隐写灰度值变化比 翻转比例 不变比例 F1比例 F0比例
2020/1/30
信息隐藏和数字水印
32
RS分析方法
如果对隐写图像进行非正翻转,也有三类 像素
没有翻转的 经历一次翻转的 经历二次翻转的
F1和F-1,像素值变化为2,两次翻转不会抵消
所以, R-M与S-M的差距不会随a增大而减小
2020/1/30
信息隐藏和数字水印
33
RS分析方法
RS分析失效
抗GPC分析性能:
修改像素值时,穿越P0和P1平面簇的可能性相 同
GPC分析失效
2020/1/30
信息隐藏和数字水印
52
改进的LSB隐写
抗卡方分析性能:
灰度为 j 的像素中会有大约一半不变,大约四 分之一变为j+1,剩余大约四分之一变为 j-1
LSB图像信息隐藏实验

LSB图像信息隐藏实验【实验环境】ISES客户端注:请将信息隐藏测试载体放在指定目录下:C:\ISES【实验步骤】一、信息嵌入(一)选择载体图片注:载体图片有BMP、JPG、GIF、PNG四种格式,这里只以JPG格式图片为例。
(1)选择载体图片,进入该实验,点击“选择载体图片”按钮选择合适的要嵌入信息的载体图片,如图4.1.1-1所示。
图4.1.1-1选择载体图片(2)点击“二进制展示”按钮可以二进制形式查看图片,如图4.1.1-2所示。
图4.1.1-2以二进制查看图片(3)点击“计算”按钮,可查看图片信息,如图4.1.1-3所示。
图4.1.1-3查看图片信息(二)选择要隐藏文件(1)点击“选择要隐藏的文件”按钮选择要嵌入的信息文件,并点击“计算”按钮查看信息内容。
如图4.1.1-4所示。
需注意的是要嵌入的信息数据大小应小于载体容量,且最好为文本文件,以便对比观察原始信息与提取的信息。
图4.1.1-4选择要隐藏文件(2)点击“二进制转换”按钮,查看隐藏信息的二进制流,如图4.1.1-5所示。
图4.1.1-5以二进制流形式查看隐藏信息(三)嵌入信息(1)点击“嵌入”按钮,将隐藏信息嵌入到载体图片中,并另存为成新的带有隐藏信息的图片,如图4.1.1-6所示。
图4.1.1-6嵌入信息成功(2)点击“确定”按钮,弹出图片对比窗口,如图4.1.1-7所示。
图4.1.1-7图片对比窗口(3)可通过选项卡选择图片对比及细节对比,以对比原始载体图片和嵌入信息后的载体是否存在视觉上的可觉察的变化,并观察载体文件嵌入前后的细节变化。
(四)观察嵌入信息过程(1)点击“读取信息”及“读取水印”按钮,读取载体的一个字节信息及水印的一位信息,如图4.1.1-8所示。
图4.1.1-8读取信息(2)点击“嵌入1”按钮,执行嵌入操作,如图4.1.1-9所示。
图4.1.1-9嵌入信息(3)点击“嵌入”按钮,循环执行上述过程将全部信息嵌入到载体图片中,并保存、对比结果。
基于数字图像LSB隐写算法的研究

《新技术讲座》课程课程大作业作业名称:基于数字图像LSB隐写算法的研究姓名:其他组员:学号:班级:完成时间:2013年11月2日基于图像LSB隐写算法的研究(XX大学XX学院XX XX地联系方式)摘要:本文先对信息隐藏技术、隐藏模型、隐写术、隐写算法等进行了简单介绍,然后借助软件matlab7.0,采用空域隐写算法LSB将秘密信息嵌入数字图像,完成隐写;接着将嵌入的秘密信息提取出来,通过计算其峰值信噪比PSNR来评估该隐写算法的不可感知性,证实了LSB嵌入时在图像的最不重重要位加载秘密信息,一定程度上加强了秘密信息的不可感知性;再通过缩小和放大二倍来分析隐写算法的鲁棒性,试验结果表明,该算法计算量低,在低嵌入率时检测结果准确,优势明显,而对嵌入率较高的载秘图像,需要修正后才能达到常规检测的标准;最后,在实验总结基础上提出了一些建议,并对未来进行了展望。
关键词:信息隐藏技术隐写算法LSB信息嵌入信息提取PSNR不可感知性鲁棒性第一部分1.引言随着计算机技术、信息处理技术和计算机网络技术的飞速发展,Intemet在世界范围内得到了大力推广,各种数字信息的制作、传输、存储和处理由此变得越来越简单。
通过互联网,人们可以快捷高效地获得图像、声音和文本等各种多媒体数据,分享海量的信息资源。
各种机密信息,如个人的信用卡账号逐渐在网络通信中出现。
然而,全球互联网是一个开放的系统,虽然普通用户可以通过网络方便、快捷地交流信息,但是随之而出现的问题也十分严重:个人的隐私的安全如帐号、个人信息、密码口令、电子邮件等能否得到保障;多媒体作品的版权能否得到应有的保护;电子商务中的企业机密能否不被商业间谍所窃取;涉及到国家安全、政府绝密的文件在网络中能否被安全地传输等。
因此,蓬勃发展的网络使得信息传输和交流更加简单易行的同时,也对关系国家安全、经济发展乃至个人隐私等方而的信息安全提出了更高的要求。
国内外各界已经高度重视如何在既能有效地保证各种信息的安全这个大前提下,也能充分利用Internet便利的问题,由此一门新兴的交叉学科——信息隐藏诞生了。
LSB图像信息隐藏

LSB图像信息隐藏1.实验⽬的(1)了解信息隐藏中最常⽤的LSB算法特点,掌握LSB算法原理,设计并实现⼀种基于图像的LSB隐藏算法(2)了解如何通过峰值信噪⽐来对图像质量进⾏客观评价,并计算峰值信噪⽐2.实验内容(1)LSB隐藏算法(2)计算峰值信噪⽐3.实验原理 任何多媒体信息,在数字化时,都会产⽣物理随机噪声,⽽⼈的感观系统对这些随机噪声不敏感。
替换技术就是利⽤这个原理,通过使⽤秘密信息⽐特替换随机噪声,从⽽完成信息隐藏⽬标。
BMP灰度图像的位平⾯,每个像素值为8bit⼆进制值,表⽰该点亮度。
图像⾼位平⾯对图像感官质量起主要作⽤,去除图像最低⼏个位平⾯并不会造成画⾯质量的明显下降。
利⽤这个原理可⽤秘密信息(或称⽔印信息)替代载体图像地位平⾯以实现信息嵌⼊。
算法选⽤最低位平⾯来嵌⼊秘密信息。
最低位平⾯对图像的视觉效果影响最轻微,但很容易受噪声影响和攻击,解决办法可采⽤冗余嵌⼊的⽅式来增强稳健性。
即在⼀个区域(多个像素)中嵌⼊相同的信息,提取时根据该区域中的所有像素判断。
4.实验记录(1)隐藏算法算法分为三个部分实现:隐藏算法提取算法测试脚本1)隐藏算法源代码hide_lsb.m⽂件:function o=hide_lsb(block,data,I) %block:隐藏的最⼩分块⼤⼩ data:秘密信息 I:原始载体si=size(I);lend=length(data);% 将图像划分为M*N个⼩块N=floor(si(2)/block(2));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);endend;2)提取算法源代码dh_lsb.m⽂件:function out=dh_lsb(block,I) % block:隐藏的最⼩分块⼤⼩ I:携密载体si=size(I);% 将图像划分为M*N个⼩块N=floor(si(2)/block(2));M=floor(si(1)/block(1));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;end;end;end;3)测试脚本源代码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;end;si=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];end;I=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);通过运⾏测试代码,对灰度图xxx3.bmp⽂件进⾏LSB算法的信息隐藏,并⽣成⽂件bide.bmp。
lsb图像信息隐藏课程设计

lsb图像信息隐藏课程设计一、课程目标知识目标:1. 学生能理解图像信息隐藏的基本概念,掌握LSB(最低有效位)算法的原理和应用。
2. 学生能描述LSB算法在图像处理和信息安全领域的实际应用场景。
3. 学生能解释LSB算法中涉及的颜色空间转换、图像编码和解码过程。
技能目标:1. 学生能运用LSB算法实现简单的图像信息隐藏,具备基本的图像处理技能。
2. 学生能运用编程工具(如Python等)实现LSB算法,提高实际操作能力。
3. 学生能通过案例分析和实践,学会运用LSB算法解决实际问题。
情感态度价值观目标:1. 学生对图像信息隐藏产生兴趣,提高对信息安全的认识和重视。
2. 学生通过小组合作完成任务,培养团队协作和沟通能力。
3. 学生在学习过程中,培养积极探索、勇于创新的精神。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程为信息技术课程,旨在让学生了解图像信息隐藏的基本原理和方法,提高信息安全意识。
2. 学生特点:学生为初中生,对新鲜事物充满好奇,具备一定的编程基础和图像处理知识。
3. 教学要求:注重理论与实践相结合,以学生为主体,充分调动学生的积极性,培养实际操作能力和创新精神。
二、教学内容1. 图像信息隐藏概述:介绍图像信息隐藏的基本概念、分类和应用场景,使学生了解LSB算法在图像信息隐藏中的地位和作用。
- 教材章节:第3章 图像信息隐藏技术- 内容:3.1 节 图像信息隐藏的概念及分类;3.2 节 LSB算法简介2. LSB算法原理:讲解LSB算法的基本原理,包括颜色空间转换、图像编码和解码过程。
- 教材章节:第3章 图像信息隐藏技术- 内容:3.3 节 LSB算法原理;3.4 节 颜色空间转换3. LSB算法实现与应用:分析LSB算法在实际应用中的优势和局限,并通过案例讲解其实现过程。
- 教材章节:第3章 图像信息隐藏技术- 内容:3.5 节 LSB算法实现与应用;3.6 节 LSB算法的优势与局限4. 实践操作:安排学生进行LSB算法的实践操作,包括使用编程工具实现LSB 算法、分析实际案例等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图像隐藏技术实现与检测
(1.LSB隐写技术;2.LSB隐写检测;)
摘要:LSB替换隐写基本思想是用嵌入的秘密信息取代载体图像的最低比特位,原来的的7个高位平面与替代秘密信息的最低位平面组合成含隐藏信息的新图形。
文章首先简单叙述了BMP位图文件的文件格式,然后根据24位真彩色BMP位图格式与显示方式的特殊性,直接改变图像中像素的最后一位值来嵌入秘密文件,提出了一种对文字信息进行加密的有效方案。
关键字:LSB,信息隐藏,信息安全,BMP位图
Image hiding technology implementation
and testing
(1.LSB steganography technology;2.LSB
steganography detection)
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. Keywords:LSB, Information hiding,information security,bit map file
1.背景知识
在编制本算法之前,我们必须了解一些辅助知识,以便我们能够读懂为什么要这样编制程序。
首先,我们要了解24位真彩色
BMP(Bitmap-File)格式位图的文件结构。
位图文件头位图信息头色表实际位图数据图典型BMP文件结构示意图一个典型的位图文件可看成由4个部分组成:位图文件头(bitmap-fileheader)、位图信息头(bitmap-informationheader)、色表(colortable)和实际位图数据的字节阵列,其具体形式如图1所示。
其中前面3个部分包含关于这个图形文件的信息,这3个部分,占据了一个24位真彩色BMP位图文件的前54个字节。
2.LSB隐写的实现
LSB的实现就是把bmp位图的数据部分的最低位以此替换成所要隐藏的信息。
实现的C语言代码如下:
#include "stdafx.h"
#include "stdio.h"
#include "string.h"
int main(int argc, char* argv[])
{
FILE *in,*out;
int i;
char inFileName[90],outFileName[90];
printf("请输入原位图文件的文件名: \n");
scanf("%s",inFileName);
printf("请输入处理后的文件的文件名: \n");
scanf("%s",outFileName);
if((in=fopen(inFileName,"rb"))==NULL)
{
printf("文件无法打开!\n");
return -1;
}
if((out=fopen(outFileName,"wb"))==NULL)
{
printf("文件无法打开!\n");
return -1;
}
for(i=1;!feof(in);i++)
{
if(i<=54)
{
fputc(fgetc(in),out);
}
else
{
fputc(~fgetc(in),out);
}
}
printf("图片处理成功!\n");
fclose(in);
fclose(out);
return 0;
}
实现效果:
(原图)(处理后的图片)3.LSB隐写检测
3.1直接使用C语言代码将刚才隐写的信息显示出来。
代码:#include "stdafx.h"
#include "stdio.h"
int main(int argc, char* argv[])
{
FILE *in;
char ch,fileName[90];
unsigned int i;
printf("enter fileName: \n");
scanf("%s",fileName);
if((in=fopen(fileName,"rb"))==NULL)
{
printf("file open fail");
return -1;
}
fseek(in,54L,0);
do
{
ch =0 ;
for(i=0;i<8;i++)
{
ch+=(fgetc(in)&0x01)<<i;
}
putchar(ch);
}while(ch);
/*while((ch=fgetc(in))!=EOF)
{
fputc(ch,stdout);
}*/
putchar('\n');
return 0;
}
显示效果:(ps:图中的中文是隐藏的信息)
3.2对比检测技术
在对比检测技术中,检测过程需要将载体图象(cover-image)和载密图象(stego-image)对比。
通常从载体图象和载密图象的像素之间的关联分析、变换域系数的关联分析发现隐藏信息的可能性。
这种方法相对简单,但通常情况下,由于载体图象无法获取,因此实际意义不大。
3.3盲检测技术
盲检测技术就是指在没有载体图象的情况下,只通过载密图象检测隐藏信息。
通常通过对自然数字图象特征进行分析,分析嵌入信息后引起的特征改变从而判断是否存在信息的嵌入。
盲检测技术的难
度较大,但具有更广泛的应用前景。
参考文献:
[1]范辉.VisualC++6.0程序设计简明教程[M].北京:高等教育出版社,2002.
[2]张鑫,杨棉绒.利用BMP文件的特殊结构进行信息加密[J].新乡师专学报,2005,(9).
[3]罗运和.计算机图形学基础[M].北京:中国计量出版社,1998.。