資源簡介
混沌映射加密算法,先對圖像進行置亂加密,然后進行三維混沌映射進行擴撒
代碼片段和文件信息
clear
clc
close?all
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
a=imread(‘yuantu.jpg‘);??%導入圖像
a=rgb2gray(a);???%轉換RGB圖像或顏色表為灰度
figureimshow(a);
%a=uint32(a);
keyboard;
[m1n1]=size(a);
c1=zeros(m11);
c2=zeros(1n1);
%logitic映射產生混沌序列
q=3.9;
x(1)=0.3001;
for?n=1:n1+m1+100
????x(n+1)=q*x(n)*(1-x(n));
end
for?n=101:1:n1+100
y1(n-100)=x(n);
end
for?n=101:1:m1+100
y2(n-100)=x(n);
end
%最后,采用冒泡法將產生的混沌序列值由小到大進行排序,并利用同樣的換序條理依次對復合矩陣的列和行進行打亂排序:
%對每列混亂加密
for?f=1:n1-1
????for?h=f:n1
????????if?y1(f)>y1(h)
????????????k=y1(f);
????????????y1(f)=y1(h);
????????????y1(h)=k;
????????????c1=a(:f);
????????????a(:f)=a(:h);
????????????a(:h)=c1;
????????end???
????end
end
%對每行混亂加密
for?f=1:m1-1
????g=f;
????for?h=g:m1
????????if?y2(f)>y2(h)
????????????k=y2(f);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2609??2015-01-21?19:54??ImageScramblingEncryption\ImageScramblingEncryption2.m
?????文件??????11921??2015-01-19?14:46??ImageScramblingEncryption\yuantu.jpg
?????目錄??????????0??2015-04-13?14:49??ImageScramblingEncryption
-----------?---------??----------?-----??----
????????????????14530????????????????????3
評論
共有 條評論