用MATLAB實現基於混沌的影象置亂加密演算法

2022-10-11 10:21:05 字數 2370 閱讀 1382

由於影象檔案的加密有其自身的要求,傳統的文字加密方法不適合影象檔案加密。為此,我們在混沌對映加密演算法的基礎上,提出了一種利用logistic混沌序列對影象畫素點置亂實現加密的演算法,那麼,我們今天借助matlab軟體平台,看看基於混沌的影象置亂加密演算法如何實現。

一、基於混沌的影象置亂加密演算法

本文提出的基於混沌的影象置亂加密演算法示意圖如圖1所示。

加密演算法如下:首先,數字影象b大小為m×n(m是影象b的行畫素數,n是影象b的列畫素數),將a的第j行連線到j-1行後面(j=2,3,a,m),形成長度為m×n的序列c。其次,用logistic混沌對映產生乙個長度為的混沌序列,並構造等差序列d:。

再次,將所產生的混沌序列{k1,k2,a,km×n}的m×n個值由小到大排序,形成有序序列{k1′,k2′,a』,km×n』},確定序列{k1,k2,a,km×n}中的每個ki在有序序列{k1′,k2′,a』,km×n』}中的編號,形成置換位址集合{t1,t2,a,tm×n},其中ti為集合中的乙個;按置換位址集合{t1,t2,a,tm×n}對序列c進行置換,將其第i個畫素置換至第ti列,i=1,2,a,m×n,得到c』。將等差序列d做相同置換,得到d』。

最後,b』是乙個m×n的矩陣,b』(i ,j)=c』((i-1)×m+j),其中i=1,2,a,m;j=i=1,2,a,n,則b』就是加密後的影象檔案。

解密演算法與加密演算法相似,不同之處在於第3步中,以序列c』代替隨機序列{k1,k2,a,km×n},即可實現影象的解密。

二、用matlab的實現基於混沌的影象置亂加密演算法

本文借助matlab軟體平台,使用matlab提供的文字編輯器進行程式設計實現加密功能。根據前面加密的思路,把加密演算法的程式設計分為三個主要模組:首先,構造乙個與原圖a等高等寬的矩陣b加在影象矩陣a後面形成復合矩陣c:

b=zeros(m1,n1);

ifm1>=n1

ifm1>n1

fore=1:n1

b=(e,e);

end……

else

fore=1:n1

endfore=1:(n1-m1)

b((m1+e-1),e)=m1+e-1

endend

c=zeros(m1*2,n1);

c=zeros(m1*2,1);

c=[b,a];

然後,用logitic對映產生混沌序列:

……forn=1:n1+100x(n+1)=q*x(n)*(1-x(n));

endn=101:1:n1+100;

y(n-100)=x(n);

……最後,採用冒泡法將產生的混沌序列值由小到大進行排序,並利用同樣的換序條理依次對復合矩陣的列和行進行打亂排序:

forf=1:n1-1forh=f:n1ify(f)>y(h)k=y(f);

y(f)=y(h);

y(h)=k;

c1=c(:,f);

c(:,f)=c(:,h);

c(:,h)=c1;

end……

forh=g:m1

if y(f>yk=y(f)

y(f)=y(h)

y(h)=k;

d1=d(:,f);

d(:,f)=d(:,h);

d(:h)=d;

end……

解密的程式與加密的相反。

三、基於混沌的影象置亂加密演算法效果分析

利用logistic混沌序列對影象畫素點置亂對影象檔案加密,其效果要比用logistic混沌序列直接對影象檔案加密好,令x0=0.3001,圖2(b)為用logistic混沌序列直接對影象檔案愛你進行加密的影象,圖2(c)為用logistic混沌序列對影象畫素點置亂對影象檔案進行加密的影象,圖2(d)為其的解密影象檔案。

由圖2(b)和(c)圖可見,原影象的人物和輪廓已經全部覆蓋,無法分辨出原影象的細節資訊。但從效果上來看,採用影象置亂與混沌對映結合的加密方法所得到的加密效果要優於直接用混沌進行加密的方法。下面,針對日常生活中遇到的影象破損問題,對本文演算法的抗破損能力進行研究。

當受損區域大小為影象面積7.76%時,恢復的影象仍然比較清晰(如圖3(a)、(d));受損區域大小為影象面積18.63%時,恢復的影象效果開始變差,出現零星的黑點(如圖3(b)、(e));受損區域大小為影象面積25.36%時,恢復的影象效果不理想,布滿黑點(如圖3(b)、(e))。

原圖任意區域的畫素在置亂圖中是均勻分布的,置亂圖受損區域的形狀及所處的位置不同對恢復影象所造成的影響有限。圖4中(a)、(b)、(c)是三幅遭到損壞的密圖,受損區域(黑色)形狀不同,位置不同,只有大小是相同的,均為2500個畫素點(為影象面積12.94%)。(a)、(b)、(c)的恢復影象分別為(d)、(e)、(f),三幅恢復影象的效果沒有明顯差別。

因此,可以認為恢復影象的效果取決於受損區域的面積大小,而受損區域的形狀、位置產生的影響很小,只要其面積不大於原圖面的20%,就能夠恢復出比較理想的影象。

基於MATLAB的影象平滑演算法實現及應用

1.3 影象雜訊 一幅影象在獲取和傳輸等過程中,會受到各種各樣雜訊的干擾,其主要 有三 一為在光電 電磁轉換過程中引入的人為雜訊 二為大氣層電 磁 暴 閃電 電壓 浪湧等引起的強脈衝性衝激雜訊的干擾 三為自然起伏性雜訊,由物理量的不連續性或粒子性所引起,這類雜訊又可分成熱雜訊 散粒雜訊等。一般在影象...

基於MATLAB環境下實現最優化方法

阻尼牛頓法 1 優化設計法 優化設計 optimal design 是現代先進的設計方法,這種設計方法是把數學規劃理論與計算方法應用於實際設計中,按照預定的目標,借助計算機的運算尋求最優設計方案的有關引數,從而獲得最好的技術經濟效果。優化設計反映出人們對於設計規律這一客觀世界認識的深化。設計上的 最...

最優化方法的matlab實現

在生活和工作中,人們對於同乙個問題往往會提出多個解決方案,並通過各方面的論證從中提取最佳方案。最優化方法就是專門研究如何從多個方案中科學合理地提取出最佳方案的科學。由於優化問題無所不在,目前最優化方法的應用和研究已經深入到了生產和科研的各個領域,如土木工程 機械工程 化學工程 運輸排程 生產控制 經...