圖像文件加密算法之基于擴(kuò)展型二維元胞自動機(jī)法

根據(jù)數(shù)字圖像的存儲特點,我們提出一種基于擴(kuò)展型二維元胞自動機(jī)的圖像文件加密算法,該加密算法將二維元胞自動機(jī)與圖像文件加密技術(shù)結(jié)合,利用元胞自動機(jī)生成數(shù)值范圍在0~255區(qū)間的二維偽隨機(jī)數(shù)矩陣,截取與圖像大小相等的偽隨機(jī)數(shù)矩陣作為密碼對圖像像素進(jìn)行加密,解密為圖像文件加密的逆過程。

一、元胞自動機(jī)原理

元胞自動機(jī)的基本組件包括:元胞空間,元胞,元胞鄰域及演化規(guī)則4個部分,可用一個四元組表示:CA={Zd,Q,N,f}。元胞散布在元胞空間所劃分的網(wǎng)格上,每個元胞具有有限的離散狀態(tài),根據(jù)不同鄰居元胞狀態(tài),元胞狀態(tài)在演化規(guī)則下隨著迭代時間作同步更新,從而構(gòu)成動態(tài)系統(tǒng)的演化。

二維元胞自動機(jī)的空間分布是將元胞空間劃分為r×s的方形網(wǎng)格矩陣,每個網(wǎng)格代表一個元胞。用C(i,j)表示第i行,第j列的元胞,其離散狀態(tài)表示為S(i,j),其中,S(i,j)∈Q。如圖1所示。

圖像文件加密之基于擴(kuò)展型二維元胞自動機(jī)加密方法

中心元胞C(i,j)包括8個鄰居元胞,元胞鄰域N定義為:

圖像文件加密之基于擴(kuò)展型二維元胞自動機(jī)加密方法

所有鄰居元胞狀態(tài)在演化規(guī)則,下共同決定中心元胞的狀態(tài),在演化規(guī)則,下的元胞狀態(tài)演化式為:

圖像文件加密之基于擴(kuò)展型二維元胞自動機(jī)加密方法

即元胞C(i,j)在t+l時刻的狀態(tài)由元胞鄰域Ⅳ內(nèi)所有元胞在f時刻的狀態(tài)共同決定。由于元胞狀態(tài)更新在有限的離散集合Q內(nèi),因此演化規(guī)則.廠設(shè)計原則應(yīng)滿足:

圖像文件加密之基于擴(kuò)展型二維元胞自動機(jī)加密方法

二、擴(kuò)展型二維元胞自動機(jī)

1、擴(kuò)展型二維元胞自動機(jī)模型

擴(kuò)展型二維元胞自動機(jī)是種離散的動態(tài)模型,它具有自更新和自繁殖的性質(zhì)。模型基本思想是在初始配置的元胞模塊基礎(chǔ)上,對元胞自動機(jī)元胞的鄰居元胞進(jìn)行擴(kuò)展,使得模型的元胞空間隨著迭代時間的增加而擴(kuò)展,所有元胞狀態(tài)作同步更新,即初始配置一個r×s的矩形元胞模塊,根據(jù)一定的演化規(guī)則,在迭代f次后,可以獲得(r+2t)×(s+2t)的元胞模塊。

設(shè)在t=0時刻,初始配置一個3×3的矩形元胞模塊:

圖像文件加密之基于擴(kuò)展型二維元胞自動機(jī)加密方法

如圖2(a)中的C元胞。初始配置元胞模塊的元胞狀態(tài)為{S1,S2,S3,S4,S5,S6,S7,S8,S9}∈Q。以C模塊的任一元胞為中心元胞,根據(jù)元胞鄰域定義,可得到該元胞的8個鄰居元
胞,如果鄰居元胞不屬于元胞模塊C,就標(biāo)記為種子元胞M,如圖2(a)中M元胞。在t=1時刻,種子元胞M根據(jù)演化規(guī)則,被擴(kuò)展為元胞自動機(jī)元胞C,并獲得元胞狀態(tài),同時,初始配置模塊的元胞狀態(tài)也在演化規(guī)則,下作同步更新。根據(jù)擴(kuò)展后得到的元胞自動機(jī)元胞C的鄰域定義,可得到t=1時刻的種子元胞M,如圖2(b)中M元胞,在下一時刻,種子元胞被擴(kuò)展為元胞自動機(jī)元胞,并產(chǎn)生新的種子元胞。隨著迭代時間f的增加,元胞自動機(jī)空間不斷擴(kuò)展,元胞狀態(tài)也作同步更新,實現(xiàn)元胞自動機(jī)的擴(kuò)展和演化。

圖像文件加密之基于擴(kuò)展型二維元胞自動機(jī)加密方法

2、擴(kuò)展型二維元胞自動機(jī)應(yīng)用于密碼學(xué)分析

在密碼學(xué)中,密碼設(shè)計的基本原則是擴(kuò)散和混亂,本文將擴(kuò)展型二維元胞自動機(jī)應(yīng)用于圖像加密,設(shè)計與密碼設(shè)計原則有很好的對應(yīng)關(guān)系的f_and擴(kuò)展型二維元胞自動機(jī)模型作為研究對象。

f_and擴(kuò)展型二維元胞自動機(jī)的演化規(guī)則為:

圖像文件加密之基于擴(kuò)展型二維元胞自動機(jī)加密方法
元胞模型表現(xiàn)出混沌復(fù)雜的性質(zhì),具有以下幾個特征:

(1)元胞擴(kuò)展性:元胞自動機(jī)元胞在f時刻的狀態(tài)依賴于鄰域內(nèi)鄰居元胞在t-1時刻的狀態(tài),而鄰居元胞t-1時刻的狀態(tài)又依賴于鄰居元胞鄰域內(nèi)元胞在t-2時刻的狀態(tài),依次類推,元胞自動機(jī)內(nèi)所有元胞狀態(tài)最終依賴于初始配置C。

(2)元胞狀態(tài)遍歷性:任一元胞自動機(jī)元胞的狀態(tài)從其生命周期開始到迭代結(jié)束,在足夠大的迭代時間內(nèi),元胞狀態(tài)更新局限于有限的元胞狀態(tài)集,并能夠遍歷狀態(tài)集中的所有狀態(tài)。

(3)局部不穩(wěn)定性:表現(xiàn)為局部范圍內(nèi)元胞的狀態(tài)對初始配置和迭代時間的敏感性。對初始配置的敏感性表現(xiàn)為在某一時間,局部元胞的狀態(tài)強(qiáng)烈依賴于初始配置,初始配置的微小變化會引起局部元胞狀態(tài)的巨大變化。對迭代時間的敏感性表現(xiàn)為所有元胞的狀態(tài)都會在演化規(guī)則,下隨著迭代時間增加進(jìn)行同步更新,局部的元胞狀態(tài)在不同時間表現(xiàn)出不確定變化。

(4)整體穩(wěn)定性:主要是指元胞自動機(jī)元胞狀態(tài)整體統(tǒng)計特征的穩(wěn)定性,它不受初始配置和迭代時間的影響,在局部不穩(wěn)定的狀態(tài)下保持整體統(tǒng)計特征的穩(wěn)定性。

三、基于擴(kuò)展型二維元胞自動機(jī)的圖像文件加密方案

1、加密方案

本文的圖像文件加密方案是利用擴(kuò)展型二維元胞自動機(jī)迭代產(chǎn)生二維偽隨機(jī)數(shù)矩陣,根據(jù)數(shù)字圖像像素存儲特點,將元胞自動機(jī)有限離散狀態(tài)集合定義為:Q ={0~255},通過模型迭代擴(kuò)展產(chǎn)生0~255范圍內(nèi)的偽隨機(jī)數(shù)矩陣,并截取與數(shù)字圖像大小相等的二維數(shù)據(jù)作為密碼,從而與數(shù)字圖像像素進(jìn)行運算加密。

圖像文件加密具體步驟如下:

(1)設(shè)置密鑰:初始配置rxs的模塊C,迭代時間t和截取隨機(jī)數(shù)矩陣的起始點(x,y)。

(2)擴(kuò)展型二維元胞自動機(jī)迭代r次生成大小為(r+2t)×(s+2t)的二維偽隨機(jī)數(shù)矩陣。

(3)以(x,y)為起始點,截取M×N大小的二維偽隨機(jī)數(shù)矩陣作為密碼與明文圖像像素進(jìn)行異或加密,獲得加密密文。

圖像文件解密過程為圖像文件加密的逆過程,通過秘密傳輸通道獲得的密鑰,利用擴(kuò)展型二維元胞自動機(jī)迭代生成相應(yīng)的二維密碼,與密文進(jìn)行異或獲得明文。

2、仿真實驗

以圖像大小為512×512的Lena圖像為實驗對象,設(shè)置密鑰C=[138 1625],t=255次,截取起點為(1,1),迭代獲得大小為512×512的二維隨機(jī)數(shù)矩陣作為密碼對圖像文件加密。

如圖4所示,其中,圖4(a)為明文圖像;圖4(b)為加密后圖像。本文加密算法是對圖像的無損加密,解密后圖像與原圖像無任何差異,圖4(c)為本文加密算法的解密圖像。

圖像文件加密算法之基于擴(kuò)展型二維元胞自動機(jī)加密方法

四、加密算法安全性分析

1、密鑰空間分析

好的加密算法應(yīng)該有足夠大的密鑰空間抗擊窮舉法的攻擊。本文算加密法密鑰組合形式多樣,初始配置C的矩陣大小可任意定義,在運算速率允許下,迭代次數(shù)f也有巨大的空間。

以本實驗為例,初始配置為2x2的元胞模塊c:圖像文件加密算法之基于擴(kuò)展型二維元胞自動機(jī)法

其中,每個元胞狀態(tài)定義范圍為0~255,共有232種組合,如果初始配置:

圖像文件加密算法之基于擴(kuò)展型二維元胞自動機(jī)法

就有28(r+s)組合。隨著迭代次數(shù)f的增加,在元胞空間擴(kuò)展的同時,所有元胞狀態(tài)都會作同步更新,即元胞狀態(tài)在不同的時間有不同的狀態(tài)。理論上C和r設(shè)置范圍為無限大,所以,
對于本文算法,不可能用窮舉方法獲得原圖像信息。

2、密鑰敏感性分析

加密算法對密鑰的敏感性表現(xiàn)為密鑰的微小變化,應(yīng)該得到完全不同的密碼,即加密密鑰與解密密鑰的細(xì)微不同,會導(dǎo)致解密過程的完全失敗。圖5是用錯誤密鑰對前面實驗所獲得的密文進(jìn)行解密的實驗結(jié)果。

圖像文件加密算法之基于擴(kuò)展型二維元胞自動機(jī)法

在圖5中,正確密鑰為圖像文件加密算法之基于擴(kuò)展型二維元胞自動機(jī)法,t=255次,截取起點(1,1)。圖5(a)是在迭代次數(shù)≠和截取起始點(x,y)相同的情況下,用錯誤的解密密鑰對密文進(jìn)行解密所獲得圖像文件加密算法之基于擴(kuò)展型二維元胞自動機(jī)法
的解密圖??梢钥闯?,在密鑰有2-32的微小變化時,解密過程完全失敗。圖5(b)是在初始配置C和截取起始點(x,y)相同的情況下,用錯誤的解密密鑰(迭代次數(shù)t=256次)對密文進(jìn)行
解密所獲得的解密圖,在最小的迭代時間變化情況下,解密完全失敗。由實驗可知,在初始值C和f的微小變化下,獲得的解密圖與原圖完全不同,證明了本文加密算法具有較好的密鑰敏感性。

3、統(tǒng)計分析

圖像的直方圖是圖像的重要統(tǒng)計特征,它是圖像灰度密度函數(shù)的近似。好的加密方案應(yīng)該使加密后的密文圖像文件像素統(tǒng)計特征與明文圖像文件的像素統(tǒng)計特征有較少的聯(lián)系以抵抗統(tǒng)計分析攻擊。以本實驗為例,圖6(a)為Lena圖像的直方圖,圖6(b)為本方法加密后的密文直方圖,可以看到,本文加密算法獲得的密文圖像的直方圖非常均勻,與原圖聯(lián)系非常小,幾乎不能從密文中獲得原圖像的統(tǒng)計信息。

圖像文件加密算法之基于擴(kuò)展型二維元胞自動機(jī)法

小知識之元胞自動機(jī)

元胞自動機(jī)(Cellular Automaton,復(fù)數(shù)為Cellular Automata,簡稱CA,也有人譯為細(xì)胞自動機(jī)、點格自動機(jī)、分子自動機(jī)或單元自動機(jī))。是一時間和空間都離散的動力系統(tǒng)。散布在規(guī)則格網(wǎng) (Lattice Grid)中的每一元胞(Cell)取有限的離散狀態(tài),遵循同樣的作用規(guī)則,依據(jù)確定的局部規(guī)則作同步更新。大量元胞通過簡單的相互作用而構(gòu)成動態(tài)系統(tǒng)的演化。