联系QQ:

2181264433

新闻资讯
联系我们
联系:张女士
微信:扫一扫右侧二维码
QQ :2181264433
邮箱:2181264433@qq.com
地址:浙江省-嘉兴市-南湖区
网址:www.mhslogic.com
您当前位置:首页 > 国内资讯 > 正文国内资讯
MATLAB代做|FPGA代做|simulink代做——加密解密
添加时间:2020-5-30 来源:本站整理
%%加密程序
clear all;
clc;
A=imread('lena.jpg');
A=rgb2gray(A);
subplot(1,3,1);
imshow(A);
title('原图');
[m,n]=size(A);
x=zeros(1,m*n);
x(1)=0.23;
u=3.6;
for i=1:m*n-1         
    x(i+1)=u*x(i)*(1-x(i));
end



for i=1:m*n
    if round(100*x(i))<100*x(i)
        x(i)=mod(round(1000*(100*x(i)-round(100*x(i)))),256);
    else 
        x(i)=mod(round(1000*(1-(100*x(i)-round(100*x(i))))),256);
    end
end




x=uint8(x);
c=zeros(1,m*n);
B=reshape(A,1,m*n);
for i=1:m*n
    c(i)=bitxor(x(i),B(i));
end
B=reshape(c,m,n);
subplot(1,3,2);
imshow(mat2gray(B));
title('加密图');
disp(B);
%%%下面为解密程序,其实跟上面是一样的 得出相同的混沌序列
%%用这个序列与加密图进行异或运算
%%就会得到原图

xx=zeros(1,m*n);
for i=1:m*n-1
    xx(i+1)=u*xx(i)*(1-xx(i));
end


for i=1:m*n
    if round(100*xx(i))<100*xx(i)
        xx(i)=mod(round(1000*(100*xx(i)-round(100*xx(i)))),256);
    else 
        xx(i)=mod(round(1000*(1-(100*xx(i)-round(100*xx(i))))),256);
    end
    end

xx=uint8(xx);
B=reshape(B,1,m*n);
B=uint8(B);
for i=1:m*n
    C(i)=bitxor(x(i),B(i));
end
C1=reshape(C,m,n);
%C1=double(C1);
subplot(1,3,3);
imshow(mat2gray(C1));
title('解密图像');

联系:张女士

QQ :2181264433

微信:lovemike121

邮箱:2181264433@qq.com

网站:http://www.mhslogic.com/

------------------------------------------------------------------------------------------------

扫一扫,关注我们