朱澤爍 暨南大學(xué)智能科學(xué)與工程學(xué)院
在密碼學(xué)中,密鑰是成功實(shí)現(xiàn)加解密的關(guān)鍵。然而,傳統(tǒng)的圖像加密算法多數(shù)都涉及到密鑰的安全傳輸和管理困難問題。虹膜是人體的生物特征之一,具有唯一性、特征信息豐富和抗攻擊能力強(qiáng)等特點(diǎn),擁有優(yōu)秀的加密潛質(zhì)。本文提出了一種基于深度學(xué)習(xí)的虹膜圖像加密算法,通過深度學(xué)習(xí)優(yōu)化虹膜特征提取,使得加解密精度與安全性大幅度提升。
1.1.1 圖像預(yù)處理
算法中對虹膜圖像的預(yù)處理主要包括虹膜定位、分割與歸一化。其中,虹膜內(nèi)邊緣定位時主要采用灰色投影法[2]和橫移法,外邊緣定位采用微積分算子方法,虹膜歸一化則采用線段提取算法。
1.1.2 虹膜特征提取
算法采用CNN對虹膜數(shù)據(jù)集進(jìn)行特征提取。同時,為了解決虹膜圖像采集難度大造成樣本較少的問題,引入了SAE模型。通過它對圖像塊提取后的虹膜進(jìn)行訓(xùn)練,達(dá)到初始化CNN參數(shù)的目的,然后采用CNN對整幅虹膜圖像進(jìn)行訓(xùn)練以提取最終的虹膜特征。雙模型的結(jié)合不僅解決了樣本較少的問題,而且更保障了圖像加密的安全性。具體步驟如下:
(1)對虹膜圖像P0進(jìn)行預(yù)處理得到P1;
(2)對P1進(jìn)行圖像塊提取P2,組成SAE數(shù)據(jù)集x;
(3)將數(shù)據(jù)集x用于訓(xùn)練SAE模型,然后對訓(xùn)練好的參數(shù)矩陣進(jìn)行區(qū)間歸一化,作為CNN的卷積核和全連接層權(quán)值,計算方法如式(2-1)-(2-4)。
其中nk代表第k層SAE節(jié)點(diǎn)數(shù),為避免CNN模型參數(shù)初始化失誤而導(dǎo)致的梯度消失或者梯度爆炸等現(xiàn)象,算法為初始化參數(shù)增加區(qū)間限制
(4)加密方將采集的虹膜圖像輸入訓(xùn)練好的CNN模型,從中提取特征向量Vn,特征向量的維數(shù)n可根據(jù)采用的圖像加密算法進(jìn)行調(diào)整。
(5)為保證提取出來的加解密特征向量的一致性,對提取出來的圖像使用RS碼進(jìn)行糾錯。
(3) 利 用Logistic映 射 產(chǎn) 生 一 個 混 沌 序 列作為圖像像素進(jìn)行橫向移動的位數(shù),對圖像每行像素進(jìn)行行移位。
(4)將圖像的每列像素根據(jù)第三步的對換方法置換到該列的另一位置,記為。
(6)回到第二步進(jìn)行下一輪加密,一共有10輪加密。其中結(jié)尾輪稍有不同,減少了列置換部分。
解密時則是執(zhí)行上述過程的逆變換。
為了提高算法的可信度和預(yù)測性,實(shí)驗(yàn)虹膜數(shù)據(jù)采用CASIA虹膜數(shù)據(jù)庫公共版。原始數(shù)據(jù)集中含有睫毛等干擾因素,首先通過虹膜定位、分割和歸一化對圖像進(jìn)行預(yù)處理。
預(yù)處理后的圖像只包含虹膜部分,將其作為數(shù)據(jù)集進(jìn)行SAE模型與CNN模型的訓(xùn)練。數(shù)據(jù)集一共包含虹膜圖像400張,一共10類,每一類40張,其中300張作為訓(xùn)練樣本,100張作為測試樣本。SAE與CNN均采用五層網(wǎng)絡(luò),CNN卷積核大小為5×5,降采樣步長為2×2,第一卷積層生成特征圖個數(shù)為6,第二卷積層為12。由CNN提取出來的特征向量經(jīng)過RS碼后即為最終密鑰。
使用生成的密鑰對原始圖像進(jìn)行基于AES的圖像加密算法,結(jié)果如圖3-1所示。由結(jié)果可知,對圖像加解密成功,原始圖像與解密圖像完全一致。
圖3 -1基于深度學(xué)習(xí)的虹膜圖像加密與解密結(jié)果
為驗(yàn)證算法的可行性,本文主要從安全性方面對算法進(jìn)行評估。在僅有RS糾錯碼時,只能通過猜測對密鑰進(jìn)行攻擊。若RS碼容錯能力T=92,那么長度為256的密鑰被破解的幾率為
,表3-1為本算法與其余算法密鑰破解幾率對比表。
表3 -1 密鑰破解幾率對比表
由此可見,引入深度學(xué)習(xí)進(jìn)行密鑰生成,可極大地降低密鑰被破解的幾率,提高圖像加密的安全性。
本文提出基于深度學(xué)習(xí)的虹膜圖像加密算法,該算法利用SAE有限制參數(shù)初始化算法實(shí)現(xiàn)對CNN模型參數(shù)的初始化,然后通過CNN模型提取特征向量作為密鑰,最后使用AES算法對圖像進(jìn)行加密實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,利用該算法得到的加密圖像的精度與安全性更高,保護(hù)圖像信息效果更好。