李錦青 ,劉澤飛 ,滿振龍
(1.長春理工大學 計算機科學技術學院,吉林 長春 130022;2.吉林省網絡與信息安全重點實驗室,吉林 長春 130022)
圖像因其信息量大、傳輸方便等特點,在互聯網中得到了廣泛應用。光學信息系統由于具有并行處理信息的特點,其在海量信息處理方面展現了數字信息系統無可比擬的優勢,特別是處理的圖像越復雜、信息量越大,這種優勢就越明顯。夜視技術就是利用微光和紅外線這兩個條件,把來自目標的人眼不可見的微光或紅外光信息經過信號傳感、采集、處理和顯示等技術轉換為人眼可以感受的可見光[1-2]。其中微光電視、微光夜視儀在對敵固定目標的監視以及對我方重要目標的警戒和安全保衛工作中,都發揮著重要作用[3-4]。但由于微光圖像中包含了公安、軍事、空間技術等關鍵信息,保護微光圖像免遭惡意攻擊逐漸凸顯出其重要性,微光圖像加密技術受到了國際學術界的廣泛關注。此外,不同于可見光圖像,微光圖像中噪聲復雜,紋理特性模糊,光照不均勻,具有信噪比低、灰度等級少等顯著特征。傳統的可見光圖像加密技術直接利用混沌系統產生的隨機序列進行加密,這種方式在安全性方面存在不足。隨著研究的深入,光學變換的線性關系所帶來的安全隱患也逐漸暴露出來。
混沌系統對初值和控制參數具有高度敏感、遍歷性、偽隨機性和不可預測性,因此在圖像加密中得到了廣泛應用[5]。混沌系統的非線性特性可以有效地抵消光學加密中線性變換帶來的安全風險。然而,部分基于混沌的加密方案常存在一些不足[6-7],例如計算機的有限精度造成較短的周期長度,是混沌密鑰流產生器的重要問題之一[8]。為了解決密鑰的隨機性和安全性問題,研究者們提出了許多關于混沌系統或各種其他技術的密鑰生成方案[9-10]。
隨著人工智能技術的飛速發展,深度學習已廣泛應用于信息安全的各個領域。人工智能時代的圖像信息安全越來越受到研究者的關注[11]。自2014 年首次提出生成對抗網絡(GAN)以來[12],GAN 已成為計算機視覺[13]、自然語言處理[14]和惡意攻擊檢測[15]等領域的熱門話題。由于GAN 訓練結果的隨機性和差異性,本文將混沌序列作為訓練集和控制生成器,獲得比混沌序列具有更多隨機性的數據樣本,避免了高維混沌系統迭代周期長、耗時等問題。可以得到比混沌序列具有更多隨機性的數據樣本,同時加快了密鑰的生成速度,為微光圖像批量加密節省了時間,能夠滿足實時處理包含重要軍事機密等信息的微光圖像的需求。
本文的主要貢獻如下。
1)首次將量子細胞神經網絡(QCNN)產生的超混沌序列作為GAN 的訓練集,設計了一種快速隨機密鑰生成方法。
2)提出了一種與明文相關的二維指針計算方法,以獲得與明文相關的隨機相位掩模。
3)設計了一種基于GAN 的微光圖像加密算法,實現了微光圖像的快速安全加密。
密鑰的隨機性已成為影響密碼系統安全性的重要因素。GAN 是一類用于無監督機器學習的人工智能算法,它由兩個神經網絡組成,在一個零和博弈框架中相互競爭[14]。

式中:G為生成網絡;D為鑒別網絡;v(G,D)為損失函數;x為訓練集;Ex~pd為實際輸入數據的分布;lgD(x)為鑒別器的判斷值,D(x)為D網絡模型,用來確定實際數據和訓練z是否是輸入G網絡模型的噪聲;Ez~pz(z)為噪聲數據的分布;lg(1 -D(G(z)))為生成數據的判斷值,G(z)為G網絡模型生成的數據。通過最大值和最小值的連續博弈,對G網絡模型和D網絡模型進行循環交替優化,直到兩個模型達到納什均衡。
量子點和量子細胞自動機是通過庫侖相互作用傳輸信息的新型納米電子設備[16]。與傳統技術相比,量子元胞自動機具有超高集成度、超低功耗、無引線集成等優點。近年來,國內外學者利用細胞神經網絡和量子細胞自動機的結構,在薛定諤方程的基礎上構建了QCNN。由于量子點之間的量子相互作用,QCNN 可以從每個量子元胞自動機的極化率和量子相位中獲得復雜的線性動力學特性,用來構造納米級超混沌振蕩器。對于耦合兩個單元的QCNN,可以用以下微分方程來描述:

式中:g1、g2為極化率;h1、h2為量子相位;a1、a2為每個單元中點之間能量的比例系數;b1、b2為相鄰單元極化率差異的加權影響因子。當a1=a2=0.28、b1=0.7、b2=0.3 時,系統處于混沌狀態。
由于QCNN 是一個高階超混沌系統,迭代速度較慢,計算量大。將QCNN 產生的超混沌隨機矩陣作為GAN 的訓練集輸入到GAN 中,學習生成隨機數據作為加密系統的安全GAN 密鑰池。訓練后生成的隨機數與混沌系統生成的隨機數具有類似的特征,即新的隨機數同樣具有混沌特性。例如隨機性和敏感性,在3.1 節中通過NIST 測試檢驗了其隨機性,敏感性表現為當由QCNN 以不同初值或控制參數生成的不同混沌隨機序列作為學習對象時,GAN同樣也會學習并生成完全不同的隨機數。但是GAN 生成的隨機數也存在著與混沌系統不相同的特征,如由于學習和訓練過程是非監督的,生成的隨機數列不受人為控制,即具有不可復現性。總之,GAN 密鑰生成方法在保證密鑰特性的前提下有效地提高了密鑰生成速度。
將GAN 密鑰生成方法應用到新的微光圖像加密算法中,并設計了一種與明文相關的二維坐標指針計算方法,在每次加密時,都會從密鑰池中利用明文相關控制參數與用戶設定的參數計算出一個特定的位置,然后從密鑰中獲取不同的隨機序列作為置亂密鑰。本文算法描述中僅給出了一個置亂加密框架,但實際每次置亂操作都是設定與明文和用戶均相關的不同操作,攻擊者無法通過已知明文或選擇明文攻擊來攻破該加密算法。
混沌系統生成的密鑰經過GAN 訓練后,得到GAN 密鑰池,從GAN 密鑰池中選擇兩個混沌隨機相位掩膜用于擴散階段。加密整體過程如圖1 所示,RM1和RM2為兩個相位掩膜。原始圖像先經過了置亂,隨后進行雙隨機相位分數傅里葉變化(FFT),從而得到最終的密文圖像。

圖1 加密流程圖Fig.1 Encryption flowchart
加密具體步驟如下:
步驟1選擇一個大小為M×N的明文圖像,像素矩陣為P。
步驟2通過迭代混沌系統(2)式生成偽隨機序列H1、H2、H3、H4,并將其作為GAN 的訓練集。訓練后,可以得到完全隨機的密鑰池Kr(密鑰的隨機性測試見3.1 節)。

式中:GAN(·)為生成對抗網絡模型函數,如(2)式所示。
步驟3從明文圖像P中計算與明文相關的二維指針,如(4)式:

式中:x、y為指針對應的橫坐標和縱坐標;J(x,y)為明文相關的二維指針;μ、τ為用戶控制參數,均取值80;P(i)為像素值;mod(·)為取余函數;floor(·)為向下取整函數。
步驟4通過使用明文相關指針J(x,y),從密鑰池Kr中選擇兩個相位掩膜RM1和RM2,生成方法如圖2 所示。圖2 中,x1、y1為另一對明文相關指針J(x1,y1)對應的坐標。

圖2 明文相關二維指針選相掩模方法原理圖Fig.2 Schematic diagram of phase selection mask method for plaintext correlation 2D-pointer
步驟5通過混沌指針從密鑰池中選取M×N大小的隨機序列,由小到大進行排序,得到索引矩陣I,對明文圖像進行排序置亂,得到矩陣Ps。

式中:sort(·)為對l進行排序的函數;reshape(·)為矩陣變形函數;Pg為生成的置亂圖像。
步驟6對置亂圖像Pg進行光學雙隨機相位分數傅里葉變換加密,以獲得最終的加密圖像。

加密流程結束,由于本文提出的加密方案為對稱加密,其解密過程即為整個加密過程的逆過程。
選取256 ×256 大小的明文圖像“樹”和“鹿”作為測試對象,圖3 給出了該加密方案的加密或解密實驗結果。

圖3 實驗結果Fig.3 Experimental results
使用NIST 測試評估密鑰池中整體密鑰的隨機性。表1 列出了密鑰的NIST 測試結果。由表1 可見:GAN 密鑰生成方案能夠通過所有的NIST 測試(共16 種測試項),每個測試都有一個測試結果;P為檢驗序列分布均性的指標,如果P值大于0.01,則測試成功,表明該密鑰生成方法所生成的隨機密鑰從近似熵、離散傅里葉變換、頻率、線性復雜度等多角度符合隨機性要求。

表1 NIST 測試Tab.1 NIST test
密鑰空間是衡量加密系統抵抗暴力攻擊的重要指標。理想的圖像加密算法應具有大于2100的密鑰空間,以提供高安全性[17]。加密方案使用QCNN 的4 個初始值和4 個控制參數作為加密和解密密鑰。因為初始密鑰的每個精度是10-16,所以密鑰空間為(1016)8>2384。因此,密鑰空間達到了安全標準,能夠抵抗各種暴力攻擊。
圖4 所示直方圖反映了圖像灰度分布的統計特征。從圖4 中可以看出,加密圖像直方圖的像素分布是平坦均勻的,類似于白噪聲,可以很好地隱藏明文圖像的灰度信息,從而有效地抵抗統計分析攻擊。

圖4 直方圖分析Fig.4 Histogram analysis
一個優秀的加密算法可以很好地破壞明文圖像相鄰像素之間的相關性,該相關性可由相關系數定量描述。圖5 和圖6 分別給出了兩幅明文圖像和密文圖像的像素分布。從圖5 和圖6 中可以看出,明文圖像的相鄰兩個像素通常具有很強的相關性,而加密圖像中的像素分布更均勻,擴散性更好,有效地破壞了平面圖像的相鄰像素相關性。

圖5 樹的明文圖像和密文圖像的像素相關性分析Fig.5 Correlation analysis between plain image and cipher image of trees

圖6 鹿的明文圖像和密文圖像的像素相關性分析Fig.6 Correlation analysis between plain image and cipher image of deer
本文同時計算了原始圖像和密文圖像在水平、垂直和對角線方向上的相關系數,計算結果見表2。由表2 可見,密文圖像的相關系數趨于0,與其他同類算法[18-20]相比,本文加密方案更高地隱藏了相鄰像素之間的關系。

表2 明文圖像和加密圖像的相關系數Tab.2 Correlation coefficients of plain images and cipher images
信息熵反映了圖像中每個灰度值或亮度值的均勻性。對于8 位灰度圖像,理想的信息熵應該是8。
當信息熵越接近8 時,圖像攜帶的確定性信息越小,信息越接近隨機噪聲,加密性能越好。其熵值H(m)可通過(7)式計算:

式中:mi為第i個像素值;N為符號mi∈m的總數;p(mi)為符號mi出現的概率。表3 列出了密文圖像的信息熵結果。由表3 可知,與文獻[19 -21]中的算法相比,該方案在信息熵方面有更好的表現,并且加密圖像的像素分布更具隨機性。

表3 密文圖像信息熵Tab.3 Information entropy for cipher image
差分攻擊分析的目的是分析明文圖像細微變化引起的密碼圖像變化程度,密碼圖像變化程度越大,加密系統的圖像敏感度越強。本文通過像素數變化率(NPCR)和統一平均變化強度(UACI)計算加密算法對明文的敏感度。NPCR 和UACI 定義分別為

式中:i、j為圖像中像素值的位置;C1、C2分別為兩個密文圖像,

由(8)式可知,NPCR 越接近理論值99.609 4%,UACI 越接近理論值33.463 5%,說明抵抗差分攻擊的能力越強。表4 列出了本文方案NPCR 與UACI的計算結果,及其與其他同類算法的對比[19,21-22]。可見本文方案的實驗結果與理想值非常接近。

表4 NPCR 和UACI 值Tab.4 NPCR and UACI values
除了加密算法的安全性以外,加密速度也是實際應用過程中的一項重要指標。本文提出的方案在MATLAB 2015b 平臺,配置為Intel(R)Core(TM)i7-6500U @2.50 GHz 處理器,8.00 GB 內存的個人計算機中完成。表5 列出了使用本文算法對兩幅原始微光圖像“樹”和“鹿”進行加密所需的時間。由表5 可以看出,與其他加密算法相比[23-25],本文提出的算法滿足快速加密的需求。

表5 加密時間對比Tab.5 Encryption time
本文提出了一種新的基于GAN 的密鑰生成方案,并根據生成的GAN 密鑰池設計了一種與明文相關的二維指針微光圖像加密算法。利用GAN 學習QCNN 的混沌隨機密鑰。得出主要結論如下:
1)本文方案訓練并生成GAN 密鑰池,除了擁有混沌隨機密鑰的優點之外,還具有不可復現的特征,大大提高了密鑰的生成速度,增加了加密系統的安全性。
2)由于基于GAN 密鑰池的微光圖像加密算法在加密過程中使用的隨機相位掩碼與明文相關,能夠抵抗已知明文和選擇明文的攻擊。
3)本文的加密方案可以通過混沌系統有效地改善微光圖像加密的非線性特性,使得所提出的加密方案能夠有效地應對各種統計分析。
4)密鑰生成方法不僅適用于本文提出的圖像加密算法中,同樣也可以應用于其他各類加密方案中。