基于MATLAB的混沌序列图像加密程序
一种基于混沌序列的数字图像加密算法

一种基于混沌序列的数字图像加密算法周焕芹(渭南师范学院数学与信息科学系,陕西渭南714000)摘 要:基于混沌序列给出了一种图像加密算法.借助Logistic混沌动力学系统过程既非周期又不收敛,且对初始条件敏感性,生成混沌矩阵,对原图像进行融合操作,实现了对图像的加密过程.实验结果证明,算法简单易行,安全性好.关键词:数字图像;混沌序列;图像加密;迭代;置乱中图分类号T N911.73 文献标志码:A 文章编号:1009—5128(2008)02—0011—04收稿日期:2007—05—31基金项目:陕西省基础教育科研“十一五”规划课题(SJJY B06297);渭南师范学院科研基金资助项目(06YKF011);渭南师范学院教学改革研究项目(JG200712)作者简介:周焕芹(1962—),女,陕西澄城人,渭南师范学院数学与信息科学系副教授20世纪60年代人们发现了一种特殊的自然现象———混沌(chaos),混沌是一种非线性动力学规律控制的行为,表现为对初始值和系统参数的敏感性、白噪声的统计特性和混沌序列的遍历特性,其吸引子的维数是分维,有十分复杂的分形结构,具有不可预测性.由于混沌序列有如此优良的密码学特性,混沌密码学成为现代密码学的重要研究内容.最早将离散混沌动力学系统应用于加密算法的是M atthe w s[1],1990年,他给出了一种一维的混沌映射.该映射根据初始条件产生的具有混沌特性的伪随机序列可以直接应用于一次一密的加密算法中,但是该混沌映射在使用计算机实现时会退化成周期序列,而且该序列的周期一般较小.1990年,Habutsu等人也给出了一种基于线性的Tent映射的混沌加密系统[2],该方法保留了混沌系统对于初始条件的敏感性.1994年,B iance利用Logistic映射产生实数序列,应用范围较广[1-4].随着网络技术的发展,大量个人和公众信息在网络上传播.信息的安全问题成为人们关注的热点,而信息安全中图像安全是众所关心的.对于图像信息,传统的保密学尚缺少足够的研究.随着计算机技术与数字图像处理技术的发展,对此已有一些成果[6].近年来,相继召开了关于数据加密的国际学术会议,图像信息隐蔽问题为其重要议题之一,且有关的论文以数字水印技术为主.数字图像置乱技术,可以看做数字图像加密的一种途径,也可以用做数字图像隐藏、数字水印图像植入、数值计算恢复方法和数字图像分存的预处理和后处理过程.作为信息隐藏的基础性工作,置乱技术已经取得了较大的发展,提出了很多有效的方法如:基于A rnold变换,F ASS曲线,分形技术,幻方,正交拉丁方,骑士巡游,仿射变换,原根,Gray码变换的置乱方法[7].本文应用离散混沌动力系统设计了一种图像加密/解密算法.该方法的特点是:无论从加密还是解密算法的设计都是由不同的动力系统提供的.本文依赖于随机密钥的非线性迭代完成图像的像素融合,其中所用的子密钥由离散混沌系统产生.分析和仿真结果表明,经过这样的融合,算法具有良好的安全性及鲁棒性.1 算法原理由混沌矩阵对图像置乱.从构成图像的像素角度考虑,一幅图像大小为M×N,具有256级灰度的图像,设图像为I m age,对应于像素点(i,j)的灰度值记为I m age(i,j),其中1≤i,j≤L,Endi m age(i,j)为(i,j)坐标处融合操作后图像的像素灰度值,即要设计映射f,使得 f:I m age(i,j)→End i m age(i,j)(1)为了使得融合后的像素灰度值Endi m age(i,j)具有不可预测性,本文采用离散混沌映射生成离散混沌矩阵Keyi m age(i,j)来达到这个目的.生成Keyi m age(i,j)的方法如下:采用目前广泛研究的Logistic映射构造混沌序列.混沌系统表述为 αk+1=μ・αk・(1-αk),k=0,1,2, (2)2008年3月第23卷第2期 渭南师范学院学报Journal of W einan Teachers UniversityM arch2008Vol.23 No.2其中,3.569946…≤μ≤4,α0∈(0,1).这样,Logistic映射可以定义在(0,1)上.给定初值μ和α,经过N-1次混沌迭代运算得到混沌实值序列α1,α2,…,αN,通过排序变换将这N个值由小到大排序,生成β1,β2,…,βN,并确定αi在β1,β2,…,βN中的位置编号,形成地址集合G1={g1,g2,…,g N,},反复操作M次,便生成混沌矩阵Keyi m age: Keyi m age=G1G2…G M(3)则置乱操作可表示为:Endi m age(i,j)=γi,,j×(I m age(i,j)-Keyi m age(i,j))+Keyi m age(i,j))mod256(4)其中γi,,j为由混沌系统生成的融合因子,这里采用Logistic映射生成(同(2)式).对图像的解密可由下式得到: I m age(i,j)=1γi,,j×(Endi m age(i,j)-Keyi m age(i,j))+Keyi m age(i,,j))mod256(5)2 图像加密解密算法由第一部分我们可以得到具体的加密解密算法如下:算法1:加密算法Step1.输入原图像I m age和迭代次数ti m es;Step2.输入密钥:μ1和α0,由式(2)和(3)生成混沌矩阵Keyi m age;Step3.输入密钥:μ2和γ0,由式(2)生成融合因子γi,,j;Step4.利用式(4)对原图象进行融合置乱,得到置乱图像Endi m age.算法2:解密算法Step1.输入置乱图像Endi m age和迭代次数ti m es;Step2.输入密钥:μ1和α0,由式(2)和(3)生成混沌矩阵Keyi m age;Step31输入密钥:μ2和γ0,由式(2)生成融合因子γi,,j;Step41利用式(5)对图像进行置乱恢复.3 算法分析从结构上分析,整个算法主要思想是利用Logistic混沌映射生成混沌矩阵,利用Logistic映射生成融合因子对原图像进行融合操作.基于混沌序列的数字图像加密算法,其安全性主要依赖于:(1)所选用的混沌序列的安全性:从式(3)可知,当Endi m age不可知,则要通过Endi m age直接解出I m age是不可能的,而当图像较大时,相应生成的混沌矩阵也会很大,采用穷举法进行破解也是困难的,因为其时间复杂度为O(M×N×256);(2)由Lo2 gistic映射生成融合因子使得破解更为困难.同时,由于混沌系统是拓扑可迁的,所以,初始时很小的误差会很快传递到整个吸引域相空间上,这一特点也增加了破译的难度.此外,加密者可以自由随意地选择密钥,这样的选择可以使得算法有着几乎一次一密特性的安全性.另外本文给出的算法密钥较多,比如:迭代次数ti m es,混沌序列初值α,μ1,γ0,μ2等等,使得破解更为困难,另外也可以减少密钥个数,比如在上述密钥中固定可别参数可以减少密钥,使得算法具有更高的灵活性,根据实际情况应用起来更为方便.4 数值实验根据以上算法,采用Logistic混沌序列进行图像融合.如图1所示:选择Lena图像(256×256)作为仿真图像,选择密钥分别为:μ1=4,α0=0.7,μ2=4,γ0=0.6,ti m es=3.・21・ 周焕芹:一种基于混沌序列的数字图像加密算法 第23卷图1 利用本文给出的算法的加密图像和解密图像从图1可以看出,算法能够有效的加密和解密原图像数据.图2是由错误密钥的解密图像(其中仅改变一个密钥μ1=4,ti m es =3,μ2=4,γ0=0.6,α0=0.7000000000000001).由图2可以看出即使密钥有很小的差异也无法解密出原图像,使用枚举搜索很难对加密图像进行解密.表明本文算法具有较好的安全性.5 结 论本文给出了一种图像加密算法,该算法具有较好的加密效果.算法思想为:首先是利用Logistic 混沌映射生成混沌矩阵,然后利用Logistic 映射生成融合因子对原图像进行融合操作,从而得到置乱图象.该算法的优点是密钥较多,使得用穷举发破解困难,另外本文在生成混沌矩阵和融合因子时均采用Logistic 映射,也可以用其它混沌映射增加加密效果和安全性.实验数据表明,本文算法具有很好的加密效果.・31・2008年第2期 渭南师范学院学报 图2 错误密钥的解密图像参考文献:[1]R A J M atthe w s .O n the derivation of a chaotic encryption algorithm [J ].C ryptologia .1989,(4):29—42.[2]T Habutsu,Y N ishio,I Sasase,et al .A secret cryptosyste m by iterating a chaotic m ap [A ].A dvances in C ryptology EU 2RCRYPT ’91[C ].B erlin:Springer -V erlag .1991,127—140.[3]M.E .B ianco,G .L.M ayhe w.H igh Speed Encryption Syste m and M ethod [J ].US Patent,1994,15(5):365—588.[4]Zhang Han,W ang X iufeng .A ne w i m age encryption algorithm based on chaos syste m [A ].International conference on robotic,intelligent syste m s and signals processing .Changsha,China .2003,778—782.[5]D ang P P,Chau P M.I m age encryption for secure Internet m ulti m edia applications [J ].IEEE T ransactions on Consum er Elec 2tronics,2000,46(8):395—403.[6]Yonghong Zhang,B aosheng Kang,Xuefeng Zhang .I m age Encryption A lgorithm B ased on Chaotic Sequence [C ].The 16THInternational Conference on A rtificial R eality and Telexistence,2006,221—223.[7]丁玮,齐东旭.数字图像变换及信息隐藏与伪装[J ].计算机学报,1998,21(9):838—843.[责任编辑 舒尚奇]A D i g it a l Image Encrypti on A lgor ith m Ba sed on Chaos SequencesZHOU Huan 2qin(Depart m ent of Mathe matics and I nf or mati on Science,W einan Teachers University,W einan 714000,China )Abstract:An algorith m of digital i m age encryp ti on is p resented .Based on chaos sequences,with the hel p of Logistic chaos dy 2na m ics,syste matic p r ocess is non 2peri od,non 2convergence and sensitivity t o the initial conditi ons,p r oducing the real chaos matrix t o substituti on the p ixel .W e get an algorith m for encryp ti on and decryp ti on a digital i m age .The nu merical experi m entati ons show that the hiding algorith m is efficient and safety .Key words:digital i m age;chaos sequence;i m age encryp ti on;iterative;scra mbling ・41・ 周焕芹:一种基于混沌序列的数字图像加密算法 第23卷。
一种基于复合混沌序列的图像加密方法

一种基于复合混沌序列的图像加密方法
基于复合混沌序列的图像加密方法是一种高效的数字图像加密方法,它可以有效地保护传输或存储的数字图像。
该加密方法主要是在杂质密码理论中引入复合混沌序列,而不是单纯地使用传统的密码解密机制来保护数字图像。
复合混沌序列是一种复合的随机数序列,是一种仿真混沌系统的结果。
它的混沌特性能够为加密技术提供极其有效的加密机制,包括一种新颖的加密技术——“M-R码”,它可以将一个复合混沌序列映射到一个M-R码,这种方法可以替代传统密码解密机制,更有效地保护数字图像。
基于复合混沌序列的图像加密方法同时利用了像素值混沌映射和混沌表示实现加密。
像素值混沌映射可以完全替代传统的密码解密机制,这样可以有效地实现加密任务。
混沌表示的加密算法使用复合混沌序列的性质,对图像的连续像素数据进行打乱,以此产生一个混沌表示的加密图像。
最后,基于复合混沌序列的图像加密方法采用了一种新的“门限混沌码”方法。
这种方法使用门限混沌码将已加密的图像像素值重新组合成一个新的加密图像,这样可以在更大程度上混沌化图像,并避免有水印痕迹可见。
总之,基于复合混沌序列的图像加密方法是一种高效且安全的数字图像加密方法,它能够有效保护数字图像的安全,使得攻击者无法获得足够的信息来破解加密图像。
一种基于超混沌系统的图像加密算法

本文提出一种基于超混沌系统 的加密方案 , 方案中使用两组初始值产生两组 随机序列 ,两组 初始值共有 8个密钥值 ,使系统有更大的密钥空 间 ,并且 由混 沌 系 统 产 生 随 机 、无周 期 的 实数 序 列.由于计算机精度的影 响,使单混沌序列会存 在一定的周期,因此在像 素置乱 和像素替代 中, 采用 一定 的规 则 将 迭 代 得 到 的 双混 沌 序 列 交 叉 使用 ,不仅缓解 了由于计算机精度带来 的混沌序 列的周期性问题 ,而且增加 了密文对密钥的敏感 度.经过仿 真 实验 分 析 ,该 算 法 拥 有 足 够 大 的密 钥空 间 ,对 密钥 极 其 敏 感 ,加 密 后 的 图像 相 邻 像 素之间相关性极低 ,能够抵御来 自穷举方法的攻 击和统计方法 的攻击.因此 ,该算法不仅加密效 果好 ,而且具有很高的安全性.
究 .自 1989年 Robert A.J.Matthews首 次提 出将 [7]和 文 献 [8]发 现 缺 陷并 分 别 进行 改进 .文 献
混沌应 用 于密码 学 以来 ,由于混 沌 系统 其 自身 对 [9]提出一种图像置乱与置换 的方案 ,方案 中使
初值和系统参数 的敏感性 以及伪 随机性而广泛 用与明文图像信息相关 的序列进行置乱替换 ,并
信 息安 全越 来越 引起 人 们 的注 意 .目前 已经 种 基 于新 型超 混沌 系统 的加 密算 法 .该 算法 在 总
有数字水印 、信息加密 、信息隐藏…等 ,密码学 中 体上沿用像素位置置乱和像素值替代 的基本结
图像加密领域也逐渐被人们关注并得到深人研 构 ,但 只有 一 轮加密 替代 操作 ,复 杂 度不 高 .文 献
[收稿 日期 ]2015—05—19 [基金项 目]重庆市教育委 员会科学技术研究项 目(KJ130646);重庆师范大学横向科研 项 目(60102—000232) [作者简介 ]赵亚慧 (1990一),女 ,河南周 口人 ,硕士 ,主要从事图像加密方面的研究. 13O
数字图像加密算法的研究与实现

数字图像加密算法的研究与实现摘要数字图像加密是进行数字图像信息保密的一种手段。
随着信息技术的飞速发展,数字图像在各个领域中有着极为广泛的运用,那么数字图像中所包含的信息安全性应受到重视。
数字图像本身具有数据量较大的特点,用传统的的加密方法往往无法达到加密的要求,许多学者对数字图像的信息安全性进行了多次研究并提出了许多强而有效的算法。
本文研究并实现了一种基于混沌序列置乱的数字图像加密算法,通过密钥产生混沌序列,将该混沌序列进行逻辑排序,并以此排列方法对数字图像进行加密。
该算法隐私性较强,在数字图像的加密和解密过程中均需要密钥的参与,因此不知道密钥的用户无法恢复数字图像,具有良好的保密性。
关键词:数字图像混沌加密数据隐藏AbstractDigital image encryption algorithm is a method about keeping the information of digital image secret.With the quick development of informational technology,the digital image has been utilized in many areas,so the security of message that digital images carry should be paid attention.Particularly ,digital images have the characteristic of a large amount of data,it can not meet demands about encryption that encrypting data in traditional way,which leads to a lot of scholars have spent much time and energy on researching the security about digital image information and illustrated many effective algorithm.This article discuss and illustrate a kind of digital image encryption algorithm based on chaotic array disruption,producing chaotic array according to the key,then logically arranging existed chaotic array,finally encrypt digital image with same logic.It shows better privacy.This process requires keys participating in both encryption and deciphering,so anyone does not know the key who can not rebuild the original image.Key words:digital image chaotic encryption hiding data目录摘要 (I)Abstract (II)绪论 (1)1数字图像加密的基础理论 (4)1.1密码学的介绍 (4)1.2 图像加密技术 (4)1.3数字图像的置乱 (5)1.4混沌加密简介 (5)1.5混沌加密安全性分析 (6)2开发工具简介 (8)3基于混沌的数字图像加密算法 (11)3.1数字图像混沌加密算法总体设计 (11)3.2 数字图像混沌加密算法 (11)3.3数字图像混沌解密算法 (13)4实验仿真与结果 (14)4.1编程实现相关函数及其方法 (14)4.2仿真结果 (14)4.2.1非彩色图像实验仿真 (14)4.2.2彩色图像实验仿真 (16)结论 (18)附录1混沌加密与混沌解密算法代码 (19)绪论计算机和网络的飞速发展为多媒体数字产品的使用、传播提供了极其便利的途径,然而由于数字产品具有极易被复制和修改的特性,使得数字作品的信息安全问题和版权保护成为迫切需要解决的难题。
混沌密码与数字图像加密应用

cout<<"How many logistic sequence do you wanna output?"<<endl;
cin>>k;
while(k<1||k>N)
{
cout<<"Input a positive integer from 1 to "<<N<<":"<<endl;
{int i=0;
float temp_1,temp_2,temp_3;
temp_1=x0;
while(k)
{
result[i++]=temp_1;
temp_2=1-temp_1;
temp_3=u*temp_1;
temp_1=temp_2*temp_3;
k--;
}
}
int main()
{
int i,k;
imhist(uint8(Ximage));
title('原图像的直方图');
figure(4)
imhist(uint8(Yimage));
title('加密之后的直方图');
%%置乱度分析
Yimage=double(Yimage);
sx=sum(sum((Ximage-256*rand(M,N)).^2));
实验项目与实验报告(1)
学科:信息与网络安全学号:141姓名:羊波时间:11月3日
实验项目:混沌密码与数字图像加密应用、信息隐藏
基于混沌序列的通用数字图像加密算法

基于混沌序列的通用数字图像加密算法沌序列,然后根据子密钥及图像类型将其转换为无符号整数序列,最后再依次与对应的像素值进行异或运算以实现置换加用评价指标对加密效果与安全性进行分析。
理论分析与实验结果表明,该算法密钥空间大,具有良好的加密效果、安全统计特性,且抗干忧能力较强。
键词 :数字图像加密 ;像素置换 ;混沌序列 ;Logistic 映射Universal Digital Image Encryption Algorithm Base on Chaotic SequenceLU Shou-dong(School of Information and Statisticsof, FiGuangxinanceandUniversity Economics ,Nanning,Guangxi 530003,China ) stract: In order to protect digital aimage's universal digitalinformation, image encryption algorithm based on is chaoticpropo sequencetly, according tokey the and the size of image, a chaoticis generated. sequence Then, according to the sub-key and the type of im chaotic sequenceis converted to an unsigned integer sequence. Lastly, pixelwill permutation be realizedby usencryptioning theXOR opera ween the unsigned integer sequence and each turn.corresponding The effect piofxel encryption value inis and al s osecurity analyzed by u evaluation index. Theoretical analysis and experimental results show that the algorithm has aeff large space of key, a good encryptionrity and statistical characteristics,a strong anti -anoisebility.words: digital image encryption; pixel permutation; sequenc; Logistice chaoticmapping引言可改变图像的直方图,因此安全性更好。
在Matlab中使用图像加密和解密技术

在Matlab中使用图像加密和解密技术图像加密和解密技术是保护图像信息安全的重要手段之一。
在信息时代,随着图像的广泛应用,图像加密和解密技术的需求也日益增加。
Matlab作为一种常用的科学计算软件,提供了丰富的工具和函数,使得图像加密和解密变得更加便捷和高效。
一、图像加密技术的基本原理图像加密技术通过对图像进行转换和混淆操作,使得原始图像的信息变得不可读取,达到保护图像信息安全的目的。
常见的图像加密技术包括置乱、替换、混淆等方法。
1.置乱方法:通过对图像的像素点进行置换操作,改变像素点的位置,使得原始图像的信息难以被还原。
常见的置乱方法有置乱矩阵法、置乱像素法等。
2.替换方法:通过对图像的像素点进行替换操作,改变像素点的值,使得原始图像的信息无法被识别。
常见的替换方法有置乱像素法、置乱位值法等。
3.混淆方法:通过对图像的像素点进行逻辑运算、异或运算等操作,改变像素点的值,使得原始图像的信息无法被解读。
常见的混淆方法有异或混淆法、逻辑运算混淆法等。
二、图像加密的Matlab实现在Matlab中,图像加密和解密的实现通常可以借助于图像处理工具箱和编程语言的支持。
下面以置乱方法为例,介绍如何在Matlab中实现图像加密。
1.图像置乱:首先,需要读取待加密的图像文件,并将其转换为Matlab支持的矩阵格式。
可以使用imread函数读取图像文件,得到灰度图像矩阵。
然后,使用randperm函数生成一个随机的置乱矩阵,该矩阵用于置乱图像的像素点位置。
可以使用reshape函数将矩阵转换为一维数组,再将图像矩阵按照置乱矩阵进行置乱操作。
最后,使用imwrite函数将置乱后的图像矩阵写入新的图像文件中,完成图像置乱操作。
2.图像解密:与图像加密相反,图像解密需要使用与加密相对应的逆操作。
在这里,我们需要使用与置乱相反的矩阵,将置乱后的图像还原为原始图像。
首先,读取已经加密的图像文件,并将其转换为Matlab支持的矩阵格式。
基于混沌系统的图像加密算法研究[开题报告]
![基于混沌系统的图像加密算法研究[开题报告]](https://img.taocdn.com/s3/m/c6afd736524de518974b7d4c.png)
开题报告通信工程基于混沌系统的图像加密算法研究一、课题研究意义及现状意义:随着计算机技术和网络通信技术不断发展和迅速普及,通信保密问题日益突出。
信息安全问题已经成为阻碍经济持续稳定发展和威胁国家安全的一个重要问题,而密码学是用来保证信息安全的一种必要的手段,现代密码学便应运而生,如经典的私钥密码算法DES、IDEA、AES和公钥密码算法RSA、EIGamal等,新颖的量子密码、椭圆曲线密码算法等,在信息安全的保密方面都发挥了重要作用。
图像信息生动形象,它已经成为人类表达信息的重要手段之一,网络上的图像数据有很多是要求发送方和接收方要进行保密通信的,信息安全与保密显得越来越重要。
目前,国际上正在探讨使用一些非传统的方法进行信息加密与隐藏,其中混沌理论就是被采纳和得到广泛应用的方法之一。
混沌加密是近年来兴起的一个研究课题,基于混沌理论的保密通信、信息加密和信息隐藏技术的研究已成为国际非线性科学和信息科学两个领域交叉融合的热门前沿课题之一,也是国际上高科技研究的一个新领域,基于混沌理论的密码学近来成为很热门的科学。
对于数字图像来说,具有其特别的一面就是数字图像具有数据量大、数据相关度高等特点,用传统的加密方式对图像加密时存在效率低的缺点;而新型的混沌加密方式为图像加密提供了一种新的有效途径。
基于这种原因,本论文主要探讨基于混沌理论的数字图像加密算法。
混沌现象是在非线性动力系统中出现的确定性、类似随机的过程,这种过程既非周期又非收敛,并且对初值具有极其敏感的依赖性,混沌系统所具有的这些基本特性恰好能够满足保密通信及密码学的基本要求。
图像加密过程就是通过加密系统把原始的图像信息(明文),按照加密算法变换成与明文完全不同的数字信息(密文)的过程。
国内外现状:1963年,洛伦兹发表论文“决定论非周期流”,讨论了天气预报的困难和大气湍流现象,给出了著名的洛伦兹方程,这是在耗散系统中,一个确定的方程却能导出混沌解的第一个实例,从而揭歼了对混沌现象深入研究的序幕。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计题目:基于MATLAB的混沌序列图像加密程序一.设计目的图像信息生动形象,它已成为人类表达信息的重要手段之一,网络上的图像数据很多是要求发送方和接受都要进行加密通信,信息的安全与保密显得尤为重要,因此我想运用异或运算将数据进行隐藏,连续使用同一数据对图像数据两次异或运算图像的数据不发生改变,利用这一特性对图像信息进行加密保护。
熟练使用matlab运用matlab进行编程,使用matlab语言进行数据的隐藏加密,确保数字图像信息的安全,混沌序列具有容易生成,对初始条件和混沌参数敏感等特点,近年来在图像加密领域得到了广泛的应用。
使用必要的算法将信息进行加解密,实现信息的保护。
二.设计内容和要求使用混沌序列图像加密技术对图像进行处理使加密后的图像使用matlab将图像信息隐藏,实现信息加密。
三.设计思路1.基于混沌的图像置乱加密算法本文提出的基于混沌的图像置乱加密算法示意图如图1所示。
加密算法如下:首先,数字图像B大小为M×N(M是图像B的行像素数,N是图像B的列像素数),将A的第j行连接到j-1行后面(j=2,3,A,M),形成长度为M×N的序列C。
其次,用Logistic混沌映射产生一个长度为的混沌序列{k1,k2,A,kM×N},并构造等差序列D:{1,2,3,A,M×N-1,M×N}。
再次,将所产生的混沌序列{k1,k2,A,kM×N}的M×N个值由小到大排序,形成有序序列{k1′,k2′,A’,kM×N’},确定序列{k1,k2,A,kM×N}中的每个ki在有序序列{k1′,k2′,A’,kM×N’}中的编号,形成置换地址集合{t1,t2,A,tM×N},其中ti为集合{1,2,A,M×N}中的一个;按置换地址集合{t1,t2,A,tM×N}对序列C进行置换,将其第i个像素置换至第ti列,i=1,2,A,M×N,得到C’。
将等差序列D做相同置换,得到D’。
最后,B’是一个M×N的矩阵,B’(i ,j)=C’((i-1)×M+j),其中i=1,2,A,M;j=i=1,2,A,N,则B’就是后的图像文件。
解密算法与加密算法相似,不同之处在于第3步中,以序列C’代替随机序列{k1,k2,A,kM×N},即可实现图像的解密。
2.用MATLAB的实现基于混沌的图像置乱加密算法本文借助MATLAB软件平台,使用MATLAB提供的文本编辑器进行编程实现加密功能。
根据前面加密的思路,把加密算法的编程分为三个主要模块:首先,构造一个与原图a等高等宽的矩阵b加在图像矩阵a后面形成复合矩阵c:b=zeros(m1,n1);ifm1>=n1ifm1>n1fore=1:n1b=(e,e);end……elsefore=1:n1endfore=1:(n1-m1)b((m1+e-1),e)=m1+e-1endendc=zeros(m1*2,n1);c=zeros(m1*2,1);c=[b,a];然后,用Logitic映射产生混沌序列:……forn=1:n1+100x(n+1)=q*x(n)*(1-x(n));endn=101:1:n1+100;y(n-100)=x(n);……最后,采用冒泡法将产生的混沌序列值由小到大进行排序,并利用同样的换序条理依次对复合矩阵的列和行进行打乱排序:forf=1:n1-1forh=f:n1ify(f)>y(h)k=y(f);y(f)=y(h);y(h)=k;c1=c(:,f);c(:,f)=c(:,h);c(:,h)=c1;end……forh=g:m1if y(f>y<h)k=y(f)y(f)=y(h)y(h)=k;d1=d(:,f);d(:,f)=d(:,h);d(:h)=d;end……解密的程序与加密的相反。
3.基于混沌的图像置乱加密算法效果分析利用Logistic 混沌序列对图像像素点置乱对图像,其效果要比用Logistic 混沌序列直接对图像文件加密好,令x0=0.3001,图2(b )为用Logistic 混沌序列直接对图像文件爱你进行加密的图像,图2(c )为用Logistic 混沌序列对图像像素点置乱对图像文件进行加密的图像,图2(d )为其的解密图像文件。
4.设计原理运用异或运算将数据进行隐藏,连续使用同一数据对图像数据两次异或运算图像的数据不发生改变,利用这一特性对图像信息进行加密保护。
用户输入的密码必须在0~1之间任何一个数据进行加密,并且加密的程序与解密的程序输入的密码必须一致才能正确解密。
四.源程序%该程序针对图像近似系数和高频系数进行加密,以达到加密的效果clear all;t0 = clock; %测试程序运行时间im=imread('tank.jpg');im1=rgb2gray(im); %图像灰度化im1=medfilt2(im1,[3 3]); %图像平滑处理figure;imshow(im1);title('灰度化处理');im1=double(im1);%小波变换,获取图像的低频高频系数[ca1,ch1,cv1,cd1]=dwt2(im1,'bior3.7');figure(3);subplot(231);imshow(ca1,[]);title('图像近似');subplot(232);imshow(ch1);title('低频水平分量');subplot(233);imshow(cv1);title('低频垂直分量');subplot(234);imshow(cd1),;title('高频分量');%%%%%%以下为混沌加密算法%%%%%%[M,N]=size(ca1);e=hundungen(M,N,0.1);tt=0.1;fca1=mod(tt*ca1+(1-tt)*e,256);subplot(235);imshow(fca1,[]);title('加密');im2=idwt2(ca1,ch1,cv1,cd1,'bior3.7'); figure(4);imshow(uint8(im2),[]);title('灰度图像小波重构');im3=idwt2(fca1,ch1,cv1,cd1,'bior3.7'); figure(5);imshow(uint8(im3),[]);title('加密图像小波重构');%%%%%%以下为混沌解密算法%%%%%%e=hundungen(M,N,0.1);[fca1,ch1,cv1,cd1]=dwt2(im3,'bior3.7'); fca2=(fca1-(1-tt)*e)/tt;im4=idwt2(fca2,ch1,cv1,cd1,'bior3.7'); figure(6);imshow(uint8(im4),[]);title('解密图像小波重构');%置乱后图像的均值figure(7);subplot(221)imhist(uint8(im1));title('初始图像的直方图');subplot(222)imhist(uint8(fca1));title('ca1系数加密之后的直方图');subplot(223)imhist(uint8(im3));title('加密之后的直方图'); subplot(224)imhist(uint8(im4));title('解密之后的直方图');ssy=sum(sum(im3));%置乱后图像的均值uy=ssy/(M*N);vy=sum(sum((im3-uy)^2));ssx=sum(sum(im1));%原图像的均值ux=ssx/(M*N);vx=sum(sum((im1-ux)^2)); Variancey=vy/uy; %置乱后图像的方差Variancex=vx/ux; %原图像的方差%置乱度DDD=Variancey/Variancex;etime(clock,t0)五.运行结果及分析总结1.运行结果:灰度化处理图像近似低频水平分量低频垂直分量高频分量加密灰度图像小波重构加密图像小波重构解密图像小波重构初始图像的直方图01002005001000ca1系数加密之后的直方图0100200加密之后的直方图010020020004000解密之后的直方图0100200百度文库- 让每个人平等地提升自我2.结果分析:由程序的运行结果来看,原图被加密后在显示出来,已经无法辨别其内容,实现了图像数据的隐藏,这种混沌序列方法对图像数据的加密是十分有用,实现了信息的保密,在网络传输中能够很好地保护图像数据不被第三方轻易获取其内容,实现数据的隐藏保护。
3.心得体会通过运用matlab语言进行图像数据的加解密,不仅了解了matlab本身处理信息的优越性也了解了信息安全的必要性,对于信息的保密是十分重要的,尤其是一些安全部门。
对于图像信息的加密了解了混沌序列的一些初步知识,对于混沌序列的思想有的一些了解,本程序是通过异或运算的特性对图像信息进行加解密,使图像信息的到保护。
11。