www.pudn.com > zishiyingjiami.rar > AAmain.asv, change:2012-05-30,size:1909b


%主程序 
clear all; 
close all; 
clc; 
I=imread('lena128.bmp');[m,n]=size(I); 
for i=30:70 
    for j=30:70 
        I(i,j)=255; 
    end 
end 
figure(1);imshow() 
A=I; 
I0(1:m/2,1:n/2)=I(1:m/2,1:n/2);            %左上角 
I1(1:m/2,1:n/2)=I(1:m/2,n/2+1:n);          %右上角 
I2(1:m/2,1:n/2)=I(m/2+1:m,n/2+1:n);        %右下角 
I3(1:m/2,1:n/2)=I(m/2+1:m,1:n/2);          %左下角 
x(1)=0.8386;                                %输入第一个密码 
X=SC(x(1));                                %产生长为50的密钥流 
X=mod(round(abs(X)*4),4);                  %预处理产生整数混沌序列,理论上有4!种 
for i=1:10 
k=X(i); 
switch k 
    case 0 
        I=AA(I);                        %第一种加密顺序:左上→右上→右下→左下→左上 
    case 1 
        I=BB(I);                       %第二种加密顺序:左上→左下→右下→右上→左上 
    case 2 
        I=CC(I);                            %第三种加密顺序:左上→右下→右上→左下→左上 
    case 3 
        I=DD(I);                           %第四种加密顺序:左上→右上→左下→右下→左上 
   end 
end 
 
figure(2),imshow(uint8(I));%title('加密'); 
figure(3),imhist(uint8(I));%title('加密直方图'); 
%解密 
x(1)=0.8386;                                %输入第一个密码 
X1=SC(x(1));                                %产生长为50的密钥流 
X1=mod(round(abs(X1)*4),4);                  %预处理产生整数混沌序列,理论上有4!种 
for i=10:-1:1 
    k=X1(i); 
    switch k 
           case 0 
               I=AAde(I);                        %第一种加密顺序:左上→右上→右下→左下→左上 
           case 1 
               I=BBde(I);                       %第二种加密顺序:左上→左下→右下→右上→左上 
           case 2 
               I=CCde(I);                          %第三种加密顺序:左上→右下→右上→左下→左上 
           case 3 
               I=DDde(I);                           %第四种加密顺序:左上→右上→左下→右下→左上 
   end  
end 
figure(4),imshow(uint8(I));%title('解密');