資源簡(jiǎn)介
用Logistic混沌置亂加密圖像, Matlab編寫.
代碼片段和文件信息
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%?chaosfun.m?
%?Xie-Hua?Sun??2003.08.05
%?chaosfun(Np)
%?N?矩陣N*N的寬度,p發(fā)生混沌序列的初始值,即密鑰
%?用Logistic映射x<--4*x*(1-x)產(chǎn)生混沌建立12...N*N的一個(gè)重排
%?算法:?????????????????????????????????????????????????????????????????????????
%?C=chaosfun(N)1<=C(1)C(2)...C(N*N)<=N*N????????????????????????????????????????????
%?對(duì)于?N*N?圖像矩陣?存在一一對(duì)應(yīng)關(guān)系(pq)<-->(p-1)*N+q,因此,置換變成??????????
%?123...N*N?與它的一個(gè)排列的對(duì)應(yīng) ?
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function?C=chaosfun(Np)
M=N*N;
u=p;
position_flag(M)=0;???%?賦初始值,表示數(shù)值12...M均未被賦值
for?i=1:M
??u=4*u*(1-u);
??v=ceil(M*u);
??if(?position_flag(v)==0)
????C(i)=v;
????position_flag(v)=1;
??else
????flag=1;
????while?flag==1
??????u=4*u*(1-u);v=ceil(M*u);
??????if?(position_flag(v)==0)
????????C(i)=v;
????????position_flag(v)=1;
????????flag=0;
??????end
????end????
??end
end
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????196662??2005-07-02?14:18??ChaosScrambl\boats.bmp
?????文件????????1084??2012-03-05?20:57??ChaosScrambl\chaosfun.m
?????文件???????66614??2012-03-19?08:56??ChaosScrambl\scrambl.bmp
?????文件????????1944??2012-03-18?23:46??ChaosScrambl\scramblTest.m
?????文件????????1646??2012-03-05?21:22??ChaosScrambl\scrambling.asv
?????文件????????1677??2012-03-19?08:58??ChaosScrambl\scrambling.m
?????目錄???????????0??2013-03-16?21:21??ChaosScrambl\
評(píng)論
共有 條評(píng)論