基於Amold置亂的彩色圖像加密算法


  本章主要Arnold變換是一種二維映射並且具有可逆的特點,Arnold變換是V.J.Arnold 在研究遍歷理論時提出的正方形區域的一種變換,該變換的特點是變換前后的像素位置雖然變亂,但是整個圖像的面積不變,Arnold變換具有周期性即迭代到一定的次數能夠變換為原圖。Arnold 變換只能作用在方形圖像上,在Arnold變換中和分別是變換前后的像素值,和在坐標圖像中可表示為該圖像的第行和第列。表示的是該圖像在第行和第列的像素值。迭代次數增加會加深置亂程度,繼續迭代達到周期時又可以變回原圖。周期T為置亂的新圖迭代為原圖的最少次數。 具體的各像素值位置置亂公式如公式(2-1)、(2-2)所示:

               x'=(5x+2y)mod(n)      (2-1)

               y'=(7x+3y)mod(n)      (2-2)

其中,與表示置亂后的像素值的行列位置,與表示原始圖像的像素值的行列位置,表示圖像的行數或列數

   具體功能如下:經過Arnold使變的“混亂不堪”,由於Arnold變換的周期性,繼續使用Arnold變換,實現重現圖像。利用Arnold變換的這種特性,可實現圖像的加密與解密。

理想狀態經過Arnold使變的“混亂不堪”,讓人眼看不出圖像的真實內容。解密后圖像又不失真。

加密功能源碼

A=imread('11','jpg');%讀取圖像11,jpg

C=imread('11','jpg');

C=rgb2gray(C);

A=rgb2gray(A);

imshow(A);

for k=1:50

    

     for x=1:508

        for y=1:508

            x1=x+y;

            y1=x+2*y;

            if(x1>508)

                x1=mod(x1,508);

            end

            if(y1>508)

                y1=mod(y1,508);

            end

            if x1==0

                x1=508;

            end

            if y1==0

                y1=508;

            end

            B(x1,y1)=A(x,y);

        end

     end

     A=B;

     if(A==C)

         d=k;

     end

end

imshow(B);

imwrite(B,'111.png')

解密功能源碼

clear

A=imread('111.png');

for k=1:50

    

     for x=1:508

        for y=1:508

            x1=2*x-y;

            y1=y-x;

            if(x1>508)

                x1=mod(x1,508);

            end

            if(y1>508)

                y1=mod(y1,508);

            end

            if x1<0

                x1=x1+508;

            end

            if y1<0

                y1=y1+508;

            end

            if x1==0

                x1=508;

            end

            if y1==0

                y1=508;

            end

            B(x1,y1)=A(x,y);

        end

     end

     A=B;

end

imshow(B);

imwrite(B,'123.png');

加密功能測試

本節為加密功能測試,輸入一個明文圖像如原圖像5-1所示,輸出一個置亂后圖像如圖像5-2所示

                                                        

            原圖像5-1                                                                   圖像5-2

 

解密功能測試

本節為加密功能測試,輸入一個加密后如圖像5-3所示,輸出一個解密圖像如圖像5-4所示

                                                      

           圖像5-3                                                                                             圖像5-4

 

---恢復內容結束---


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM