信息隐藏实验报告
学号:0705060131
姓名:石莹
报告时间:2009 年 3 月 13 日
1
实验一:LSB 信息隐藏实验
综合评分:
【实验目的】:
1.熟悉 MATLAB 操作。
2. MATLAB 函数编写。
3.编写两个函数,分别用来处理 LSB 信息隐藏的嵌入和提取操作。
【实验内容】:(请将你实验完成的项目涂“■”)
实验完成形式:
■用 MATLAB 函数实现 LSB 信息隐藏和提取
□ 用 MATLAB 命令行方式实现 LSB 信息隐藏和提取
■ 其它:图像的翻转。
实验选择载体:
□ 256×256 灰度图像 ■256×256RGB 图像 □ 任意大小的 RGB 图像
实验效果和分析:
□ 分析了 LSB 算法的抗攻击能力
□ 能随机选择嵌入位(考虑安全性因素)
□ 嵌入位均匀分布于载体
□ 信息提取的检错/纠错
□ LSB 隐写分析
■其它:图像的翻转。
【实验工具及平台】:
□ Windows+Matlab
【实验涉及到的相关算法】:
■ 其它:(请注明) 示例图片
1、与实验内容选择的项目对应;
2、请使用流程图、伪代码、NS 图或文字方式描述,不要..贴代码
一.实现图像翻转。
图像来源为示例图片,路径为代码第二行所示:
里面用到矩阵的变换。
1.clear;clc
2.AA=imread('C:\Documents and Settings\All Users\Documents\My
Pictures\ʾÀýͼƬ\Blue hills.jpg'); //图片来源
3.imshow(AA);
4.for k=1:3
5.BB(:,:,k)=flipud(AA(:,:,k)); //上下实现翻转
AB(:,:,k)=fliplr(AA(:,:,k));//实现左右翻转
信息隐藏实验报告
学号:0705060131
姓名:石莹
报告时间:2009 年 3 月 13 日
2
end
figure;
6.imshow(BB); //如果改为AB,则为左右翻转。
//改写 AB,BB,实现先上下翻转,再左右翻转。
二.用 MATLAB 函数实现 LSB 信息隐藏和提取。
【实验分析】:
1、 请尽量使用曲线图、表等反映你的实验数据及性能
2、 对照实验数据从理论上解释原因
3、 如无明显必要,请.不要..大量粘贴....实验效果图
一.实现图像翻转。
分析:
1. 原图
2.左右翻转
信息隐藏实验报告
学号:0705060131
姓名:石莹
报告时间:2009 年 3 月 13 日
3
3.上下翻转。
4.左右上下翻转
二.用 MATLAB 函数实现 LSB 信息隐藏和提取。
代码如下:
提取图像
cover = imread('c:\shy.bmp', 'bmp');
data=cover;
msg=imread('c:\love.bmp' , 'bmp');
[row,col]=size(cover);
cover1=cover(:,:,1);
图像处理
for i=1:row
for j=1:col/3
cover1(i,j)=bitand(cover1(i,j),240);
end
end
takemsg4=bitand(msg,240);
shiftmsg4=bitshift(takemsg4,-4);
图像隐藏
for i=1:row
for j=1:col/3
cover1(i,j)=bitor(cover1(i,j),shiftmsg4(i,j));
end
end
信息隐藏实验报告
学号:0705060131
姓名:石莹
报告时间:2009 年 3 月 13 日
4
data(:,:,1)=cover1;
imwrite(data, 'c:\new.bmp', 'bmp');
提取秘密图像信息
data=imread('c:\mix.bmp', 'bmp');
[row,col]=size(data);
A=data(:,:,1);
for i=1:row
for j=1:col/3
A(i,j)=bitand(A(i,j),15);
end
end
A=bitshift(A,4);