葉柏君,林卓勝,吳小娜,鄧景良,曾慧曲
(五邑大學智能制造學部,廣東 江門 529020)
如今,隨著信息技術和成像技術的發展,醫學影像普遍應用于病理學的診斷中,這其中包含有X 射線、磁共振成像、CT 成像、超聲成像等。而在醫學影像中包含著大量患者的隱私信息,因此對醫學影像進行保護使其免受各種網絡攻擊,避免信息丟失和保證完整性尤顯重要,其中最有效的辦法就是對其實施加密。
混沌系統具有長期不可預測以及對初始條件高度敏感等特性,常應用于圖像加密領域。Zhang 等[1]提出了一維壓縮感知和混沌系統的醫學圖像加密算法,采用Chebyshev 混沌映射生成測量矩陣及Logistic 映射生成密鑰流。為提高醫學影像加密的魯棒性,學者們主要從新混沌系統的構建以及加密方案的設計等方面開展研究。如Liu 等[2]所提出的雙曲正弦混沌系統。Belazi 等[3]采用SHA-256 哈希函數與初始密鑰一起用于產生混沌系統的密鑰且結合DNA 編碼。Yang 等[4]提出采用分數階超混沌系統與DNA 編碼相結合的圖像加密方案。Mortajez等[5]則從明文圖像中提取密鑰,基于Logistic 混沌系統對圖像像素進行排序并進行異或運算加密。Javan 等[6]研究兩個超混沌系統的多從同步和一主系統同步以及循環同步的加密方式。Salman 等[7]對圖像中包含敏感信息的區域采用二次映射進行選擇性加密。
壓縮感知在壓縮圖像時在一定程度上能夠降低像素之間的相關性,因此許多研究者提出了將壓縮感知和其他圖像加密方式相結合的壓縮-加密方式。與一維壓縮感知相比,二維壓縮感知是生成兩個測量矩陣分別對圖像的行和列分別進行測量壓縮,大幅度提升了的壓縮性能。Wang 等[8]提出一種由Tent-sine 映射生成測量矩陣,并通過Logistic-Sine映射、Logistic-Tent映射生成密鑰流,結合拉丁方陣實現測量矩陣的加密。Deng等[9]使用Logistic映射生成測量矩陣,并通過離散分數隨機變換對圖像進行加密。Xu等[10]提出了一種基于2D-SLIM 和壓縮感知的快速圖像加密算法,有效降低了時間復雜度。Liu等[11]提出一種二維壓縮感知和雙隨機相位編碼的圖像加密算法,由于雙隨機相位編碼具有的光學實現和魯棒性高等優點,保證了圖像加密的安全性。Gan等[12]利用明文圖像的信息熵和外部密鑰生成混沌系統的初始值,并通過2D-LSCM和4D-憶阻混沌系統分別生成測量矩陣和偽隨機序列,實現對明文圖像的壓縮感知和加密,可以抵御已知明文和選擇明文攻擊。在Chai等[13-14]及Hou[15]提出將二維壓縮感知和嵌入技術相結合的視覺安全加密算法中,使用了均勻量化及Sigmoid量化以保證算法的加密性能及解密精度。
本文設計一種基于二維壓縮感知和同步混沌流密碼系統的圖像壓縮-加密算法。首先,迭代同步混沌流密碼系統得到用于二維壓縮感知的測量矩陣和用于加密的偽隨機序列,然后分別從行和列兩個方向對醫學圖像進行測量,再對測量后的圖像進行量化及加密。而Tanh 函數與Sigmoid函數都為機器學習中常用的激活函數,均可將輸入數據值映射到一定區間范圍內,為此,本文對采用均勻量化、Tanh 函數量化和Sigmoid 函數量化三種量化方式對算法的性能影響進行比較。
一維壓縮感知的壓縮采樣過程可以描述為:
式中:Φ為觀測矩陣;Ψ為稀疏基矩陣;Ω為稀疏系數;Θ為ΦΨ的乘積,為傳感矩陣。
為了能夠實現信號x的恢復,傳感矩陣需要滿足約束等距性條件(RIP):
式中:δk為等距常數。
稀疏信號可以通過如下最小化進行重建:
在二維壓縮感知(2DCS)中,從兩個方向上使用兩個測量矩陣對信號進行采樣。設圖像X1的大小為N×N,則對X1的稀疏表示為:
式中:Ψ的大小為N×N。
對于2DCS的采樣過程如下:
Φ1、Φ2分別對X1的行、列方向進行測量。為了實現從Y到X1的重建,需要解決以下的優化問題。
混沌系統擁有對于初始狀態的高度敏感性,基于其復雜的動力學行為,使得所生成的混沌序列難以分析與預測。本文所使用的六維離散混沌系統的動力學方程如式所示。
式中當參數設置為:a11=0.38,a12=-0.12,a13=0.28,a14=-0.12,a15=0.08,a16=-0.32,a21=-0.04,a22=0.06,a23=0.36,a24=-0.04,a25=0.16,a26=-0.24,a31=0.12,a32=-0.28,a33=0.42,a34=0.12,a35=0.12,a36=-0.28,a41=0.20,a42=-0.20,a43=0.20,a44=0.10,a45=0.20,a46=-0.20,a51=0.08,a52=-0.32,a53=0.28,a54=-0.12,a55=0.38,a56=-0.12,a61=0.16,a62=-0.24,a63=0.36,a64=-0.04,a65=-0.04,a66=0.06,ε1=1′107,ε2=2′107,ε3=3′107,σ1=4 000,σ2=5 000,σ3=6 000 時,其混沌吸引子如圖1所示,計算出的李雅普諾夫指數分別為λ1=11.427 9,λ2=11.373 5,λ3=10.658 3,λ4=10.658 3,λ5=3.895 4,λ6=3.886,表明系統處于超混沌狀態。
圖1 混沌吸引子相圖
由混沌序列生成偽隨機序列S的方式為:
式中:xi為混沌系統迭代生成的混沌序列。
加密運算的表達式為:
式中:p(k)為密文;m(k)為明文;S(e)為加密端用的偽隨機序列。
解密運算的表達式為:
當解密運算和加密運算所用的偽隨機序列相等時,即S(d)(k) =S(e)(k)時,=m(k)。
Tanh 函數為雙曲正切函數,由于其具有的雙側飽和性和0 均值特性,常作為機器學習的激活函數,Tanh 函數的映射空間為[-1,1],可以通過調整函數的振幅和斜率得到所需的輸出區間值,其定義式如下:
式中:α、β為常數。
Tanh函數的逆函數為:
本文所提出的基于二維壓縮感知和同步混沌流密碼系統的加密及解密算法框圖分別如圖2~3所示。
圖2 加密算法
圖3 解密算法
本文所提出的加密方案主要分為明文圖像的小波變換、偽隨機序列的生成、壓縮感知測量、量化以及加密5個部分,具體步驟如下:
1)輸入尺寸大小為M×N的醫學圖像I,確定明文圖像所需要的壓縮比CR;
2)對明文圖像I進行二維離散小波變換得到同樣大小的稀疏圖像I1;
3)將6個初始值與42個參數代入加密端六維同步混沌流密碼系統,根據式(6)迭代生成混沌序列。序列的長度設置為M×N×CR+ 256,并舍棄前256 個序列,得長度為M×N×CR的混沌序列x4、x5、x6;
4)將混沌序列x4、x5縮小109,按列重新排序得到大小分別為(M×CR)×N、M×(N×CR)的測量矩陣Φ1、Φ2;
5)利用所生成的測量矩陣根據式進行測量,得到測量后尺寸大小為(M×CR)×(N×CR)的圖像I2;
6)利用式(8)對圖像I2進行量化得到量化后的圖像I3;
7) 取偽隨機序列x6的前×M×N個值代入式(11)得到加密端偽隨機序列S(e),對圖像I3按式進行加密運算,最終得到密文圖像C。
解密算法為加密算法的逆過程,接收端到密文圖像C,需要進行解密操作和恢復重建,其步驟簡述如下:
1) 將6 個初始值與42 個參數代入解密端六維同步混沌流密碼系統迭代生成長度為M×N×CR+ 256 的混沌序列,并舍棄前256 個序列,得到長度為M×N×CR的混沌序列x4、x5、x6;
2) 取混沌序列x6的前×M×N個值進行量化,得解密端偽隨機序列S(d),根據式(10)對密文圖像C進行解密運算,得到解密圖像P1;
3)對圖像P1進行逆量化,得逆量化后的圖像P2;
4)利用ONSL0 恢復重建算法對圖像P3進行重構,得到恢復的重建圖像P3;
5)對圖像P3進行離散小波逆變換,得到解密端的最終圖像P4。
當輸入醫學圖像的尺寸大小為512 × 512,壓縮比設置為0.5× 0.5,Tanh 量化函數的參數設置為α= 510、β= 0.012 5時,根據所提算法分別對CT、MRI、B超及X光等4種不同類型的醫學圖像進行加解密,結果如圖4所示。可以看出,壓縮加密后的圖像尺寸大小僅為原圖像的1 4,有效減少了圖像的尺寸。且加密圖像均為類雪花狀,無法從中看出原醫學圖像的內容。恢復重建后的圖像與原圖像基本一致,說明了所提算法的有效性。
圖4 實驗結果
為測試不同量化函數對本文所提算法的影響,分別使用均勻量化函數、Tanh 量化函數及Sigmoid 量化函數在不同壓縮比下針對不同圖片進行壓縮加密和恢復重建,結果如圖5 所示。圖中的(a)、(b)、(c)分別對應實用均勻量化函數、Tanh 量化函數及Sigmoid 量化函數時重構圖片的峰值信噪比(PSNR)變化曲線。
圖5 不同量化方式不同壓縮比下的PSNR值變化圖
在圖5(a)中由于均勻量化中的取整的誤差會導致其PSNR 值在0.6 × 0.6 壓縮比之后其值會進行回落;在圖5(b)中,對于不同類型的醫學圖像,采用Tanh 量化函數時,隨著壓縮比的增大,PSNR 值穩步上升;而在圖5(c)中X 光圖像在壓縮比為0.5 × 0.5 和0.7 ×0.7 時,PSNR 值會產生較大的波動,這是因為采用Sigmoid 量化后的圖像,其左上角的一部分區域會計算得到復數。從對比結果可以看出,相較于均勻量化及Sigmoid 函數量化,采用Tanh 函數進行量化具有更穩定的PSNR 值。
假設計算機的計算精度為10-14,密鑰為6 個初始值及 42 個 參 數 , 本 文 總 的 密 鑰 空 間 為(1014)48= 10672≈22818,遠遠大于2100,因此本方案的密鑰空間足以抵御窮舉攻擊。
圖6的結果中可以看出4種醫學明文圖像的直方圖是不均勻的;加密后,CT、MRI、B 超和X 光圖像的密文圖像是比較均勻的,而X 光這表明經所提算法加密后的醫學圖像具有良好的統計特性。
圖6 明文圖像、密文圖像直方圖
在明文圖像和對應的密文圖像中,我們隨機選取10 000 對相鄰像素,分別計算了其在水平、垂直、對角方向的相關性。本文算法對于不同圖像,不同方向的相鄰像素之間的相關性系數計算結果如表1 所示,結果表明本文所提算法可以有效地降低CT、MRI、、B 超和X 光圖像的相關性系數。
表1 明文圖像和密文圖像的相鄰像素間的相關系數
如表2 給出的CT 圖像同其他論文的比較結果中,本文所提算法在相鄰像素間的相關性上略高于其他文獻,這主要是因為二維壓縮感知使得加密后的圖像尺寸變小而導致的。
表2 CT圖像的相關性系數與其他文獻比較
抗剪切分析以CT 圖像為測試圖像,壓縮比為0.5×0.5,量化函數的參數均為α= 510、β= 0.0125。
由圖7~8 及表3 可知,當剪切量為5%時,圖像還可以分辨,但剪切量為15%時,圖像基本不能分辨,但是依然還是可以恢復部分信息,因此,本文加密算法在一定程度上可以有效抵御剪切攻擊。
圖7 不同剪切度下的密文圖像和恢復圖像
圖8 不同剪切度下的密文圖像和恢復圖像
抗噪聲分析以CT 圖像為測試圖像,壓縮比為0.5×0.5,量化函數的參數均為α= 510、β= 0.0125,分別添加不同標準差的高斯噪聲和不同密度的椒鹽噪聲,結果如圖9及表4所示。
表4 不同噪聲強度下CT圖像的明文圖像與密文圖像PSNR值
圖9 不同噪聲強度下CT圖像的恢復圖像
由結果可知,隨著所添加高斯噪聲和椒鹽噪聲的增加,恢復重建圖像的PSNR 值也會隨之下降,但從視覺上仍可分辨出圖像的特征。與添加椒鹽噪聲相比,添加高斯噪聲對恢復重建圖像所帶來的影響較小。因此,本文所提算法具有一定的抗噪聲能力。
攻擊者一般選擇全黑圖像或全白圖像對圖像加密算法實施攻擊。根據本文所提算法,全黑圖像及全白圖像的相鄰像素間的相關性系數(見表5)及實驗結果圖(見圖10)可以發現,全黑圖像加密后仍呈現類雪花狀,而全白圖像的加密效果則與X光圖像的加密效果類似,即攻擊者也無法直接根據密文圖像獲取明文圖像的全部特征。因此,本文所提算法具有一定的在抵抗選擇明文攻擊能力。
表5 全黑和全白圖像的相關性分析
圖10 全黑及全白圖像的明文圖像、密文圖形及密文直方圖
本文提出一種基于二維壓縮感知和同步混沌流密碼系統的醫學圖像加密算法。從實驗結果可以看出,所提算法對CT、MRI、B 超以及X 光圖像可以表現出良好的保密效果。四種醫學圖像在不同壓縮比下的量化對比結果表明,相較于均勻量化函數及Sigmoid量化函數所提算法采用Tanh 函數進行量化能使得恢復重建出的圖像具有更穩定的PSNR 值。通過直方圖分布和相鄰像素相關性等統計分析,結果表明所提算法在一定程度上可以抵抗統計攻擊;并且在抵抗裁剪攻擊、噪聲攻擊和選擇明文攻擊等相關實驗結果中,所提算法表現出較好的魯棒性和安全性。因此,本文所提出算法在醫學圖像加密方面具有一定的實際應用價值。