基于LSB算法的图像信息隐藏与检测
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字图像隐写分析
基于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)
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算法可以在8色、16色、256色以及24位真彩色图像中隐藏信息。对于256色图像,在不考虑压缩的情况下,每个字节存放一个像素点,那么一个像素点至少可以隐藏1位信息,一张640*480像素的256色图像至少可隐藏640*480=307200位(38400字节)的信息。对于真彩色图像,同样可以按照如上的方法计算可以隐藏的信息量。
由于LSB替换隐写出现最早,具有嵌入容量大、容易实现等优点,因此使用极为广泛。下面通过matlab仿真证实上诉所提到的LSB替换隐写方法的优点。
实验过程:
1)读入UCID1.bmp图像。
图1-1 UCID1000库的第一幅图
2)提取出UCID1.bmp的8个位平面,如图1-2所示。
图1-2 (1)~(8)分别表示 UCID1.bmp的8个位平面
3)把80%的秘密信息比特流嵌入最低有效位(LSB),并比较原图像与嵌入秘密信息后的图像,如图1-3所示。
图1-3 原图像UCID1.bmp与嵌入信息的UCID1.bmp
从上面两幅图像来看,我们根本就看不出加密前与加密后的图像之间的差异。
虽然LSB替换隐写可以在嵌入量很大的情况下仍然保持良好的不可察觉性,但已有许多有效地通井机分析方法来判断图像中是否含有LSB替换隐写信息]9[。在这里主要介绍卡方检测方法、RS方法,并单独对卡方检测方法进行matlab仿真。
第2章 LSB隐写实现
2.1 LSB隐藏过程
用秘密信息比特替换载体中的最不重要部分,可以达到对信息隐藏的目的。在数字图像中,每个字节的最低位对图像信息的影响最小,因此将数字图像的最低位用信息比特替换可以实现信息隐藏。由于载体图像的每个字节只隐藏一个秘密信息比特,所以只有当载体图像的大小是秘密信息大小的8倍以上时才能完整的将秘密信息隐藏。
图2-1 提取信息位并隐藏的示意图
2.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)
{