图像加密解密算法课件.docx
《图像加密解密算法课件.docx》由会员分享,可在线阅读,更多相关《图像加密解密算法课件.docx(12页珍藏版)》请在冰点文库上搜索。
图像加密解密算法课件
中北大学
信息商务学院
课程设计说明书
学生姓名:
学号:
系别:
电子信息工程
专业:
电子信息工程
题目:
专业综合实践之多维信息处理部分:
图像加密解密算法研究
指导教师:
赵英亮徐美芳职称:
副教授
2016年1月8日
中北大学
信息商务学院
课程设计任务书
15/16学年第一学期
系别:
电子信息工程
专业:
电子信息工程
课程设计题目:
专业综合实践之多维信息处理部分:
图像加密解密算法研究
起迄日期:
2015年12月28日~2016年1月8日
课程设计地点:
机房
指导教师:
赵英亮徐美芳
系主任:
王浩全
下达任务书日期:
2015年12月27日
课程设计任务书
1.设计目的:
图像加密是对于保持图像的安全性有一定的工程实用价值。
本课题要求同学对图像加密原理进行学习,在此基础上利用编程语言进行程序的编写,并对不同的加密效果进行比较分析。
2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):
1、查阅资料,研究不同的图像加密方法。
2、利用编程语言打开一个原始图像,并利用像素点置乱,行列乱序,色彩饱和度混乱等算法对其实现加密处理,得到加密后的图像,与原信号进行比较。
3、对加密后的图像进行解密,并对解密后的图像与原始加密前图像进行比较。
4、比较其不同加密方法的优缺点。
5、要求三位同学各自应用不同的加密方法来实现。
3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕:
课程设计说明书一份
仿真结果
课程设计任务书
4.主要参考文献:
●要求按国标GB7714—87《文后参考文献著录规则》书写,例:
1傅承义,陈运泰,祁贵中.地球物理学基础.北京:
科学出版社,1985
(5篇以上)
5.设计成果形式及要求:
课程设计说明书
仿真结果
6.工作计划及进度:
2015年
12月28日~12月29日:
查资料;
12月30日~12月31日:
在指导教师指导下设计方案;
2016年
1月1日~1月7日:
在指导教师辅导下完成实验;撰写课程设计说明书;
1月8日:
答辩
系主任审查意见:
签字:
年月日
设计说明书应包括以下主要内容:
(1)封面:
课程设计题目、班级、姓名、指导教师、时间
(2)设计任务书
(3)目录
(4)设计方案简介
(5)设计条件及主要参数表
(6)设计主要参数计算
(7)设计结果
(8)设计评述,设计者对本设计的评述及通过设计的收获体会
(9)参考文献
目录
1引言...............................................1
2设计目的...........................................2
3设计方案简介......................................2
3.1基于像素点置乱算法的图像加密技术...................3
3.2基于行列乱序算法的图像加密技术..................3
3.3基于色彩饱和度混乱算法的图像加密技术..................3
4设计条件及主要参数表................................3
4.1像素点置乱...............................3
4.2行列乱序..............................3
4.3色彩饱和度混乱..............................3
5设计主要参数计算..........................5
6设计结果..................................5
7设计的收获体会..................................7
8参考文献...........................................7
1引言
随着20世纪90年代internet的迅速发展,多媒体技术的逐渐成熟和电子商务的兴起,网上多媒体信息量急剧膨胀,使得多媒体信息的安全问题变的越来越重要,多媒体信息安全成为学术界和工业界共同关注的新的研究方向。
数字图像是目前最流行的多媒体形式之一,在政治、经济、国防、教育等方面均有广泛应用。
Matlab里的imread函数可用于读取图片文件中的数据。
读进去的数据为一个三层的矩阵,矩阵的行或列表示图像每一个像素点的位置。
矩阵的第一层、第二层、第三层分别代表红、绿、蓝三种像素(RGB色域)。
对此,可设计以下几种加密方法:
①随机打乱各层的行或列。
②随机打乱像素点③像素点RGB值的缩放。
2设计目的
图像加密是对于在数据传输中,保持图像的安全性有一定的工程实用价值。
本课题要求同学对图像加密原理进行学习,在此基础上利用编程语言进行程序的编写,并对不同的加密效果进行比较分析。
3设计方案简介
目前,图像加密的方案主要有一下几类:
1.基于像素点置乱算法的图像加密技术2基于行列乱序算法的图像加密技术3.基于色彩饱和度混乱算法的图像加密技术在这些方案中,基本上都采用了图像置乱技术,只是不同的方案的安全性、复杂性和加密、解密的速度不同,我们将重点讨论基于混沌的图像加密算法。
3.1基于像素点置乱算法的图像加密技术
图像置乱的功能是将图像中像素的位置或者像素的颜色打乱,将原始图像变换成一个杂乱无章的新图像,如果不知道所使用的置乱变换,就很难恢复出原始图像。
基于置乱技术的图像加密技术总体上来说可以等效为对图像矩阵进行有限不的初等变换,从而打乱像素的排列位置。
但是初等变换时一维线性变换,其保密性不高。
通常,图像置乱是图像信息隐藏、图像信息分存和数字水印等任务的基础性工作,置乱方法的优劣将直接影响其任务的效果,因此我们需要从置乱效果、计算复杂性、抗干扰能力等方面评价一个图像置乱算法的优劣。
3.2基于行列乱序算法的图像加密技术
打乱矩阵行或列的方法运算步骤少、运算速度快,可对较大图像文件进行加密,缺点是对于一些特殊的图像无法进行加密。
下面以随机打乱行为例介绍加密解密方法。
3.3基于色彩饱和度混乱算法的图像加密技术
像素点RGB值的缩放每个像素都有各自的颜色值,其颜色值按一定倍数缩放,将其原数值进行覆盖,便产生了与原图像不同的图像,起到了加密的作用。
这种加密方法加密效果会随倍数的增加其效果会更好,但由于过于简单,易被解密。
4设计条件及主要参数表
4.1像素点置乱
用imread函数将图像读入矩阵RGB中,假设RGB是一个m行n列3层的矩阵。
randsample可产生随机向量,用此函数产生一个值为从1到m*n*3的行向量并返回到r中。
这样就可以将原图像矩阵的所有像素点随机打乱,将打乱后的矩阵返回至RGBS中,在用reshape函数将RGBS中的所有元素重置为新的的矩阵并返回到RGBSS中。
用find函数找出向量r内从1到m的元素的位置并返回到向量f。
至此就可以将打乱的图像还原。
4.2行列乱序
用imread函数将图像读入矩阵RGB中,假设RGB是一个m行n列3层的矩阵。
randsample可产生随机向量,用此函数产生一个与图像矩阵RGB的行数m相等的整数随机数列并返回到r中。
这样就可以将原图像矩阵的行随机打乱,将打乱后的矩阵返回至RGBS中。
用find函数找出向量r内从1到m的元素的位置并返回到向量f。
至此就可以将打乱的图像还原。
4.3色彩饱和度混乱
用imread函数将图像读入矩阵RGB中,假设RGB是一个m行n列3层的矩阵。
Rand函数产生一个m行n列3层的由随机数组成的矩阵,并返回到r中,再返回时可以数乘一个数改变其缩放倍数。
用矩阵的点运算,通过点乘、点除,可得到加密解密图像。
5设计主要参数计算
6设计结果
(1)像素点置乱
clear
close
clc
G=imread('D:
\women\photo.jpg');%读取图片(为256×256灰度)
subplot(1,3,1);
imshow(G);%显示图像
title('原图')%title一下原图
Gadd=fix(256*rand(256,256,3));%引入的置乱随机矩阵
fori=1:
256
forj=1:
256
G1(i,j)=0.1*G(i,j)+0.9*Gadd(i,j);%进行加权求和
end
end
subplot(1,3,2)
imshow(G1);%显示图像
title('置乱后的图像')
fori=1:
256
forj=1:
256
G2(i,j)=(G1(i,j)-0.9*Gadd(i,j))./0.1;%还原图像
end
end
subplot(1,3,3)
imshow(G2);%显示图像
title('恢复后的图像')
(2)行列乱序
(2)
行乱
clear
RGB=imread('D:
\women\photo.jpg');
s=size(RGB);
r=randsample(s
(1),s
(1));
RGBS=RGB(r,:
:
);
t=1;j=1;f=1:
r;
whilet<=length(r)
f(j)=find(r==t);
t=t+1;
j=j+1;
end
f;
RGBE=RGBS(f,:
:
);
subplot(1,2,1);imshow(RGBS);
title('code','fontsize',20);
subplot(1,2,2);imshow(RGBE);
title('decrypt','fontsize',20);
列乱
clear
RGB=imread('D:
\women\photo.jpg');
s=size(RGB);
i=randsample(s
(2),s
(2));
RGBS=RGB(:
i,:
);
t=1;j=1;f=1:
i;
whilet<=length(i)
f(j)=find(i==t);
t=t+1;
j=j+1;
end
f;
RGBE=RGBS(:
f,:
);
subplot(1,2,1);
imshow(RGBS);
title('加密后','fontsize',20);
subplot(1,2,2);imshow(RGBE);
title('解密后','fontsize',20);
(3)色彩饱和度混乱
clear
RGB=imread('D:
\women\photo.jpg');
s=size(RGB);
r=rand(s
(1),s
(2),s(3))*50;
RGBD=im2double(RGB);
RGBS=RGBD.*r;
RGBE=RGBS./r;
subplot(1,2,1);imshow(RGBS);
title('加密后','fontsize',20);
subplot(1,2,2);imshow(RGBE);
title('解密后','fontsize',20);
7设计的收获体会
两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。
在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。
学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。
课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础.
8参考文献
【1】阮秋琦.数字图像处理学.电子工业出版社,2001
【2】龚声蓉,刘纯平,王强 .数字图像处理与分析.清华大学出版社,2006
【3】陈桂明,张明照,戚红雨.应用matlab语言处理数字信号与数字图像.科学出版社,2000
【4】向世明.VisualC++数字图像与图形处理.电子工业出版社,2001
【5】张博.基于Matlab的数字图像置乱方法研究[J].计算机与数字工程,2010,38(007):
139-142.