基于MATLAB的混沌序列图像加密算法的研究

基于MATLAB的混沌序列图像加密算法的研究





一、 目的及意义



熟使用 matlab 运用 matlab 行 程,使用matlab 言 行数据的 藏加密,确保数字 像信息的安全,混沌序列具有容易生成 , 初始条件和混沌参数敏感等特点,近年来在 像加密 域得到了广泛的 用。使用必要的算法将信息 行加解密, 信息的保 。





二、研究状况

随着 Internet技 与多媒体技 的 速 展,数字化信息可以以不同的形式在网 上方便、快捷地 。多媒体通信逐 成 人 之 信息交流的重要手段。人 通 网 交流各种信息, 行网上 易等。因此,信息的安全与保密显得越来越重要。信息的安全与保密不仅与国家的政治、军事和外交等有重大的关系,而且与国家的经济、商务活动以及个人都有极大的关系。随着信息化社会的到来,数字信息与网络已成为人们生活中的重要组成部分,他们给我们带来方便的同时,也给我们带来了隐患:敏感信息可能轻易地被窃取、篡改、非法复制和传播等。因此信息安全已成为人们关心的焦点,也是当今的研究热点和难点。

多媒体数据,尤其是图像,比传统的文字蕴涵更大的信息量,因而成为人类社会在信息利用方面的重要手段。 因此针对多媒体信息安全保护技术的研究也显得尤为重要, 多媒体信息安全是集数学、 密码学、信息论、概率论、计算复杂度理论和计算机网络以及其它计算机应用技术于一体的多学科交叉的研究课题。


三、设计内容



使用混沌序列图像加密技术对图像进行处理使加密后的图像。



四、开发环境


MATLAB





五、分析设计

1、实验要求

使用 matlab 将图像信息隐藏,实现信息加密。

2、设计原理

运用异或运算将数据进行隐藏,连续使用同一数据对图像数据两次异或运算图像的数据不发生改变,利用这一特性对图像信息进行加密保护。用户输入的密码必须在 0~1 之间任何一个数据进行加密,并且加密的程序与解密的程序输入的密码必须一致才能正确解密。



v2-4d385d1bffc5827a2ba30906c283565b_b.jpg








六.源码





加密程序代码如下:

clear;clc;
x=imread('','bmp');%读取图像信息
[a b c]=size(x);%将图像的大小赋给a b c
N=a*b;%定义变量 N并赋值
m(1)=input('请输入密钥 :');%用户输入加密密码
disp('加密中 ...');%显示提示信息
for i=1:N-1%进行 N-1 次循环
m(i+1)=4*m(i)-4*m(i)^2;%循环产生密码
end




m=mod(1000*m,256);%1000*m除以 256 的余数
m=uint8(m);%强制转换为无符号整型
n=1;%定义变量 n
for i=1:a
for j=1:b
e(i,j)=bitxor(m(n),x(i,j)); %将图像信息藏在e(i ,j)矩阵中进行异或运算
n=n+1;
end
end
imwrite(e,'加密后的 ','bmp');%显示解密成功提示信息
disp('加密成功 ');
winopen(' 加密后的 ');%显示加密后图片
解密程序代码:
clear;clc;
x=imread('  加密后的 ','bmp');%读取图像信息
[a b c]=size(x);%将加密后图像的大小赋给 a b c
N=a*b;
m(1)=input('请输入密钥:');%用户输入预设加密密码
disp('解密中 ');
for i=1:N-1%进行 N-1 次循环
m(i+1)=4*m(i)-4*m(i)^2;%循环产生原密码
End
m=mod(1000*m,256);
m=uint8(m);
n=1;
for i=1:a
for j=1:b
e(i,j)=bitxor(m(n),x(i,j));% m(n)xor(m ( n ) xor
x(i,j))==x(i,j)%不带进位加法半加运算
n=n+1;
end
end
imwrite(e,'解密后的 ','bmp');%将解密的图像输出命名为
disp('解密成功 ');%显示解密成功提示信息
winopen(' 解密后的 ');%显示解密后图片










基于MATLAB的混沌序列图像加密算法的研究


一、 目的及意义



熟使用 matlab 运用 matlab 行 程,使用matlab 言 行数据的 藏加密,确保数字 像信息的安全,混沌序列具有容易生成 , 初始条件和混沌参数敏感等特点,近年来在 像加密 域得到了广泛的 用。使用必要的算法将信息 行加解密, 信息的保 。





二、研究状况

随着 Internet技 与多媒体技 的 速 展,数字化信息可以以不同的形式在网 上方便、快捷地 。多媒体通信逐 成 人 之 信息交流的重要手段。人 通 网 交流各种信息, 行网上 易等。因此,信息的安全与保密显得越来越重要。信息的安全与保密不仅与国家的政治、军事和外交等有重大的关系,而且与国家的经济、商务活动以及个人都有极大的关系。随着信息化社会的到来,数字信息与网络已成为人们生活中的重要组成部分,他们给我们带来方便的同时,也给我们带来了隐患:敏感信息可能轻易地被窃取、篡改、非法复制和传播等。因此信息安全已成为人们关心的焦点,也是当今的研究热点和难点。

多媒体数据,尤其是图像,比传统的文字蕴涵更大的信息量,因而成为人类社会在信息利用方面的重要手段。 因此针对多媒体信息安全保护技术的研究也显得尤为重要, 多媒体信息安全是集数学、 密码学、信息论、概率论、计算复杂度理论和计算机网络以及其它计算机应用技术于一体的多学科交叉的研究课题。


三、设计内容



使用混沌序列图像加密技术对图像进行处理使加密后的图像。



四、开发环境


MATLAB





五、分析设计

1、实验要求

使用 matlab 将图像信息隐藏,实现信息加密。

2、设计原理

运用异或运算将数据进行隐藏,连续使用同一数据对图像数据两次异或运算图像的数据不发生改变,利用这一特性对图像信息进行加密保护。用户输入的密码必须在 0~1 之间任何一个数据进行加密,并且加密的程序与解密的程序输入的密码必须一致才能正确解密。



v2-4d385d1bffc5827a2ba30906c283565b_b.jpg








六.源码





加密程序代码如下:

clear;clc;
x=imread('','bmp');%读取图像信息
[a b c]=size(x);%将图像的大小赋给a b c
N=a*b;%定义变量 N并赋值
m(1)=input('请输入密钥 :');%用户输入加密密码
disp('加密中 ...');%显示提示信息
for i=1:N-1%进行 N-1 次循环
m(i+1)=4*m(i)-4*m(i)^2;%循环产生密码
end




m=mod(1000*m,256);%1000*m除以 256 的余数
m=uint8(m);%强制转换为无符号整型
n=1;%定义变量 n
for i=1:a
for j=1:b
e(i,j)=bitxor(m(n),x(i,j)); %将图像信息藏在e(i ,j)矩阵中进行异或运算
n=n+1;
end
end
imwrite(e,'加密后的 ','bmp');%显示解密成功提示信息
disp('加密成功 ');
winopen(' 加密后的 ');%显示加密后图片
解密程序代码:
clear;clc;
x=imread('  加密后的 ','bmp');%读取图像信息
[a b c]=size(x);%将加密后图像的大小赋给 a b c
N=a*b;
m(1)=input('请输入密钥:');%用户输入预设加密密码
disp('解密中 ');
for i=1:N-1%进行 N-1 次循环
m(i+1)=4*m(i)-4*m(i)^2;%循环产生原密码
End
m=mod(1000*m,256);
m=uint8(m);
n=1;
for i=1:a
for j=1:b
e(i,j)=bitxor(m(n),x(i,j));% m(n)xor(m ( n ) xor
x(i,j))==x(i,j)%不带进位加法半加运算
n=n+1;
end
end
imwrite(e,'解密后的 ','bmp');%将解密的图像输出命名为
disp('解密成功 ');%显示解密成功提示信息
winopen(' 解密后的 ');%显示解密后图片

猜你喜欢

转载自blog.csdn.net/TuTu998/article/details/120177084