【影象加密】基於matlab logistic混沌影象加密與解密【含Matlab原始碼 1216期】
阿新 • • 發佈:2021-08-13
一、簡介
混沌系統圖像加密解密理論部分參考連結:
基於混沌系統的影象加密演算法設計與應用
二、部分原始碼
%加密程式 function b=jiami(a,s,h) [m1,n1]=size(a(:,:,1)); x=zeros(1,m1+n1); y=[1:m1+n1]; %然後, 用Logitic 對映產生混沌序列: for n=1:m1+n1-1 x(1)=s; q=h; x(n+1)=q*x(n)*(1- x(n)); end %排序行置亂 for f=1:m1-1 for h=f:m1 if x(f)>x(h) k=x(f); x(f)=x(h); x(h)=k; m=y(f); y(f)=y(h); y(h)=m; c1=a(f,:,:); a(f,:,:)=a(h,:,:); a(h,:,:)=c1; end end end function b=jiemi(a,s,h) [m1,n1]=size(a(:,:,1)); x=zeros(1,m1+n1); y=[1:m1+n1]; %然後, 用Logitic 對映產生混沌序列: for n=1:m1+n1-1 x(1)=s; q=h; x(n+1)=q*x(n)*(1- x(n)); end %行置亂 for f=1:m1-1 for h=f:m1 if x(f)>x(h) k=x(f); x(f)=x(h); x(h)=k; m=y(f); y(f)=y(h); y(h)=m; end end end %列置亂 for f=m1+1:m1+n1-1 for h=f:m1+n1 if x(f)>x(h) k=x(f); x(f)=x(h); x(h)=k; m=y(f); y(f)=y(h); y(h)=m; end end end %行解密 for f=1:m1-1 for h=f:m1 if y(f)>y(h) m=y(f); y(f)=y(h); y(h)=m; c1=a(f,:,:); a(f,:,:)=a(h,:,:); a(h,:,:)=c1; end end end
三、執行結果
四、matlab版本及參考文獻
1 matlab版本
2014a
2 參考文獻
[1] 蔡利梅.MATLAB影象處理——理論、演算法與例項分析[M].清華大學出版社,2020.
[2]楊丹,趙海濱,龍哲.MATLAB影象處理例項詳解[M].清華大學出版社,2013.
[3]周品.MATLAB影象處理與圖形使用者介面設計[M].清華大學出版社,2013.
[4]劉成龍.精通MATLAB影象處理[M].清華大學出版社,2015.