朱 艷 平
(信陽農(nóng)林學(xué)院信息工程學(xué)院 河南 信陽 464000)
互聯(lián)網(wǎng)大數(shù)據(jù)時(shí)代的到來,視頻已成為學(xué)習(xí)、工作、交流和娛樂的重要方式之一。由于其應(yīng)用范圍和領(lǐng)域不斷擴(kuò)大,對(duì)其安全性的要求也越來越高,因此視頻信息的加密算法就成為了研究的熱點(diǎn)問題[1]。
文獻(xiàn)[2]采用3DES,文獻(xiàn)[3-4]采用AES對(duì)視頻信息進(jìn)行加密,但此類加密方法主要適用于文本信息,如果應(yīng)用在視頻加密上,需要對(duì)視頻進(jìn)行預(yù)處理操作,達(dá)不到它的實(shí)時(shí)性要求[5]。文獻(xiàn)[6-8]采用低維混沌系統(tǒng)作為密鑰源,密鑰空間小,安全性差;由于基于特定的視頻編碼標(biāo)準(zhǔn),其應(yīng)用范圍具有局限性。文獻(xiàn)[9-10]均采用四維超混沌系統(tǒng)作為密鑰源,密鑰空間得到了提升,但并未考慮明文對(duì)加密算法的影響,明文敏感性不強(qiáng)。文獻(xiàn)[11]提出的視頻加密算法具有通用性,但為了提高加密速度,舍棄了置亂加密過程,僅保留了像素替代加密過程,安全性能有所下降。
針對(duì)以上問題,本文提出小波變換與混沌鍵控相結(jié)合的視頻加密算法。根據(jù)文獻(xiàn)[13]對(duì)各混沌系統(tǒng)動(dòng)力學(xué)行為特性的分析結(jié)果,選取三維CNN系統(tǒng)、三維Rossler系統(tǒng)和三維Chen系統(tǒng)作為密鑰源;因?yàn)榈皖l部分集中了視頻幀的大部分信息,只需對(duì)此進(jìn)行置亂就能達(dá)到加密的目的[14],所以在置亂加密過程中使用小波變換技術(shù),僅對(duì)原視頻幀四分之一的數(shù)據(jù)進(jìn)行處理,大大提高了加密的效率;混沌鍵控技術(shù)既能擴(kuò)大密鑰空間,又能提升算法的并行性;密鑰源的初始值、密鑰的選取以及像素的加密值都與明文信息有關(guān),提高了算法的明文敏感性;“擴(kuò)散”和“一次一密”加密思想的運(yùn)用,也使加密算法的安全性得到了較大程度的提高。
細(xì)胞神經(jīng)網(wǎng)絡(luò)CNN(Cellular Neural Network)的數(shù)學(xué)模型如下[15]:
j=1,2,…,n
(1)
(2)
三維Rossler系統(tǒng)的數(shù)據(jù)模型如下[16]:
(3)
當(dāng)a=b=0.2,c的取值在4.2與9之間時(shí),該系統(tǒng)處于混沌狀態(tài),此處c=5.7。
三維Chen系統(tǒng)的數(shù)學(xué)模型如下[17]:
(4)
當(dāng)a=35,b=3,c=28時(shí),該系統(tǒng)進(jìn)入混沌狀態(tài)。
(1) 混沌吸引子 當(dāng)初始值x1(0)=0.1,x2(0)=x3(0)=0.2時(shí),圖1(a)為三維CNN系統(tǒng)所產(chǎn)生的混沌吸引子,(b)為三維Rossler系統(tǒng)產(chǎn)生的混沌吸引子,(c)為三維Chen系統(tǒng)產(chǎn)生的混沌吸引子。
(a) CNN系統(tǒng)混沌吸引子 (b) Rossler系統(tǒng)混沌吸引子
(c) Chen系統(tǒng)混沌吸引子圖1 三種混沌系統(tǒng)所產(chǎn)生的部分混沌吸引子
(2) 初始值敏感性 對(duì)初始條件極為敏感是混沌系統(tǒng)的顯著特征,使用密鑰變化率KCR(Key Change Rate)對(duì)三種混沌系統(tǒng)的初始值敏感性進(jìn)行分析。初始值x1(0)=0.1,x2(0)=x3(0)=0.2。當(dāng)x1(0)=0.1+1e-16,而x2(0)和x3(0)的值不變,則三維CNN系統(tǒng)、三維Rossler系統(tǒng)和三維Chen系統(tǒng)的KCR值分別為0.998 8、0.983 4和0.999 6;當(dāng)x2(0)=0.2+1e-16,而x1(0)和x3(0)的值不變,則上述三個(gè)混沌系統(tǒng)的KCR值分別為0.999 9、0.986 8和0.999 8;當(dāng)x3(0)=0.2+1e-15,而x1(0)和x2(0)的值不變,則它們的KCR值分別為0.999 8、0.990 3和0.999 9。KCR的值越大,表示該混沌系統(tǒng)的初始值敏感性越強(qiáng),反之越弱。
從上述實(shí)驗(yàn)數(shù)據(jù)可以看出,這三個(gè)混沌系統(tǒng)對(duì)初始條件是極為敏感的,混沌特性顯著,適合將其應(yīng)用于視頻加密系統(tǒng)中。
該視頻加密算法如下:
步驟1選擇混沌系統(tǒng)作為密鑰源。采用3通道同時(shí)對(duì)視頻信息進(jìn)行加解密。1通道對(duì)應(yīng)CNN系統(tǒng),2通道對(duì)應(yīng)Rossler系統(tǒng),3通道對(duì)應(yīng)Chen系統(tǒng)。且在每個(gè)通道設(shè)置1個(gè)開關(guān),分別記作t1、t2和t3。當(dāng)其取值為1時(shí),表示該通道處于忙狀態(tài),否則處于空閑狀態(tài)。依次掃描t1、t2和t3,選擇處于空閑狀態(tài)的通道作為傳輸通道,并選擇該通道對(duì)應(yīng)的混沌系統(tǒng)作為密鑰源。
步驟2混沌系統(tǒng)初始值的選取。采用式(5)來選取混沌系統(tǒng)的初始值。
(5)
式中:R、G和B分別表示明文視頻幀所有像素的紅色分量、綠色分量和藍(lán)色分量的異或值,⊕為異或操作。k1、k2和k3為初始值調(diào)節(jié)參數(shù),可以取0到255之間的任意實(shí)數(shù)。
步驟3密鑰的選取。每一個(gè)混沌系統(tǒng)均可生成3路混沌序列,每1路混沌序列產(chǎn)生Q個(gè)混沌值即可滿足“一次一密”的密鑰要求。其中Q=M×N,M為視頻幀的高,N為視頻幀的寬。使用式(6)對(duì)混沌序列進(jìn)行映射處理,使其取值均在[0~255]的值域內(nèi)。x(i,j)為最初生成的混沌值,Y(i,j)為經(jīng)過映射處理后的混沌序列,fix為向0靠近取整,mod為取余操作。
(6)
步驟4小波置亂加密。將視頻幀進(jìn)行小波分解,取其低頻部分信息,按如下公式進(jìn)行置亂加密:
(7)
若像素點(diǎn)(i,j)和像素點(diǎn)(fi,fj)的位置均未發(fā)生變化,則將這兩個(gè)像素點(diǎn)互換位置。其中Y(ii,roadi)表示第roadi路混沌序列的第ii個(gè)混沌值,ii的取值從1到(M/2)×(N/2)。dk=0,1,2,…,n-1,n是正整數(shù),為置亂的循環(huán)次數(shù)。最后將置亂后的低頻部分與高頻部分進(jìn)行小波重構(gòu),得到小波置亂后的加密視頻幀。
步驟5像素替代加密。對(duì)于小波置亂后的加密視頻幀,采用如下公式進(jìn)行像素替代加密:
(8)
式中:FXR(k)、FXG(k)和FXB(k)分別表示經(jīng)像素替代加密后第k個(gè)像素的紅色、綠色和藍(lán)色分量的值;XR(k)、XG(k)和XB(k)分別表示經(jīng)小波置亂后的第個(gè)像素的紅色、綠色和藍(lán)色分量的值;Y為加密密鑰,i和j分別為視頻幀像素的行號(hào)和列號(hào)。
步驟6解密。解密過程是加密過程的逆過程。
對(duì)攝像頭采集的視頻信息使用上述算法進(jìn)行加密和解密處理,此處k1=0.1,k2=0.2,k3=0.3,則圖2(a)為明文視頻,(b)為經(jīng)由小波置亂加密后的視頻,(c)為像素替代加密后的視頻,(d)為逆替代解密后的視頻,(e)為逆置亂解密后的視頻。
(a) 明文視頻 (b) 小波置亂加密視頻
(c) 像素替代加密視頻 (d) 逆替代解密視頻
(e) 逆置亂解密視頻 (f) 初始值密鑰敏感性圖2 視頻的加密和解密效果
從圖2可知,無論是小波置亂后的加密視頻,還是像素替代后的加密視頻,都已看不出任何影像,而解密后的視頻與明文視頻在視覺感觀上毫無差異,說明該視頻加密算法取得了良好的加密和解密效果。
表1 初始值密鑰敏感性CPCR測試結(jié)果
從表1的實(shí)驗(yàn)數(shù)據(jù)可知,當(dāng)解密的初始值密鑰與加密的初始值密鑰相差10-16時(shí),文獻(xiàn)[9]、文獻(xiàn)[10]和文獻(xiàn)[12]的CPCR值均為0,說明上述文獻(xiàn)的初始值密鑰敏感性達(dá)不到10-16,經(jīng)實(shí)驗(yàn)驗(yàn)證,文獻(xiàn)[9]和文獻(xiàn)[12]的初始值密鑰敏感性為10-15,文獻(xiàn)[10]的初始值密鑰敏感性為10-12。本算法的密鑰敏感性為10-16,CPCR值均達(dá)到99.5%以上,平均值為0.995 43。文獻(xiàn)[11]的密鑰敏感性也達(dá)到了10-16,CPCR的平均值為0.994 96。本文算法的初始值密鑰敏感性優(yōu)于文獻(xiàn)[9-12],初始值密鑰敏感性良好。對(duì)模板參數(shù)密鑰和調(diào)節(jié)參數(shù)密鑰的敏感性分析與此相似。
使用NPCR(Number of Pixels Change Rate)和UACI(Unified Average Changing Intensity)來衡量算法的明文敏感性。NPCR的理想值約為0.996,UACI的理想值約為0.333。表2為該視頻加密算法的明文敏感性測試結(jié)果。
表2 明文敏感性NPCR和UACI測試結(jié)果
續(xù)表2
從表2的實(shí)驗(yàn)數(shù)據(jù)可知,文獻(xiàn)[9]、文獻(xiàn)[10]和文獻(xiàn)[12]的NPCR和UACI值較理想值相去甚遠(yuǎn),明文敏感性不強(qiáng)。而本算法NPCR和UACI的平均值分別為0.996 1和0.334 9,比文獻(xiàn)[11]更接近于理想值,說明該算法的明文敏感性較強(qiáng)。
三維CNN系統(tǒng)有24個(gè)密鑰,三維Rossler系統(tǒng)有6個(gè)密鑰,三維Chen系統(tǒng)有6個(gè)密鑰,共計(jì)36個(gè)密鑰。采用16位有效數(shù)字作為計(jì)算機(jī)浮點(diǎn)數(shù)的計(jì)算精度,則該算法的密鑰空間為10576。另外還有3個(gè)初始值調(diào)節(jié)參數(shù)密鑰,它們分別可以取0至255之間的任意實(shí)數(shù),使其密鑰空間變得更大。文獻(xiàn)[9]、文獻(xiàn)[10]和文獻(xiàn)[12]的密鑰空間分別為10144、10144和1032,該算法在密鑰空間方面,要優(yōu)于文獻(xiàn)[9]、文獻(xiàn)[10]和文獻(xiàn)[12]。
隨機(jī)選取各個(gè)顏色分量上的(M/2)×(N/2)對(duì)像素值,分別計(jì)算其在水平、垂直和對(duì)角三個(gè)方向的相關(guān)性,則表3為實(shí)驗(yàn)所得的測試結(jié)果。
表3 明文和密文相鄰像素的相關(guān)系數(shù)
從表3的實(shí)驗(yàn)數(shù)據(jù)可知,明文的相關(guān)性接近于1,相鄰像素之間為極強(qiáng)相關(guān);而該加密算法得到的密文相關(guān)性接近于0,相鄰像素之間為極弱相關(guān)或無相關(guān)。在9個(gè)相關(guān)系數(shù)中,該算法有5個(gè)值比文獻(xiàn)[9]小,有9個(gè)值比文獻(xiàn)[12]小。說明該算法在相關(guān)性方面要優(yōu)于文獻(xiàn)[9]和文獻(xiàn)[12]。
圖3(a)為明文紅色分量的直方圖,(b)為密文紅色分量的直方圖。
(a) 明文直方圖 (b) 密文直方圖圖3 紅色分量直方圖分析結(jié)果
從圖3可知,明文視頻幀的直方圖呈現(xiàn)高低錯(cuò)落的山峰狀,其中取值在[0~30]和[150~255]的像素個(gè)數(shù)較少,均在100個(gè)左右;取值在110左右的像素個(gè)數(shù)最多,達(dá)到1 000個(gè)以上。而密文視頻幀的直方圖呈現(xiàn)等概率的均勻分布,每個(gè)取值等級(jí)上的像素個(gè)數(shù)均在300個(gè)左右,明文的統(tǒng)計(jì)特性被完全打破。
使用幅值頻譜圖來分析視頻幀的頻率分布情況。圖4(a)為明文的二維幅值頻譜圖,(b)為密文的二維幅值頻譜圖,(c)為解密視頻幀的二維幅值頻譜圖。
(a) 明文頻譜圖 (b) 密文頻譜圖(c) 解密視頻頻譜圖圖4 二維幅值頻譜分析
從圖4可知,明文的幅值頻譜大多集中在中心區(qū)域,中心的亮點(diǎn)反映的是視頻幀的低頻信息。密文視頻幀的幅值頻譜在二維空間內(nèi)分布較為均勻,呈離散化狀態(tài),在頻域內(nèi)的相關(guān)性較小,且明顯不同于明文視頻幀的幅值頻譜圖,可有效抵抗密文信息攻擊,安全性較好。
信息熵反映了視頻幀分布的聚集特征,密文視頻幀信息熵的理想值為8。該算法密文在紅色、綠色和藍(lán)色分量上的信息熵分別為7.989 5、7.989 3、7.989 3,接近于理想值8,而文獻(xiàn)[12]的信息熵接近于7,說明該算法在信息熵方面要優(yōu)于文獻(xiàn)[12]。
使用峰值信噪比PSNR進(jìn)行抗噪性能分析。PSNR的值越大,抗噪性能越好。若密文視頻幀受到均值為0、方差為0.01的高斯白噪聲干擾,則解密視頻幀如圖5(a)所示,其PSNR值為17.169 1。若受到噪聲密度為0.01的椒鹽噪聲干擾,則解密視頻幀如圖5(b)所示,PSNR值為29.446 1。若受到均值為0、方差為0.01的乘性噪聲干擾,則解密視頻幀如圖5(c)所示,PSNR值為19.150 2。
(a) 受白噪聲干擾 (b) 受椒鹽噪聲干擾
(c) 受乘性噪聲干擾圖5 加密算法的抗噪性能分析
從圖5和計(jì)算得出的PSNR值可知,該加密算法的抗噪性能較好。雖然受到了噪聲干擾,但仍可有效地解密視頻幀信息。其中對(duì)椒鹽噪聲的抵抗性優(yōu)于對(duì)乘性噪聲的抵抗性,而對(duì)乘性噪聲的抵抗性又優(yōu)于對(duì)高斯白噪聲的抵抗性。
若密文視頻幀受到了左上角1/4的剪裁攻擊,則圖6(a)為受剪裁攻擊的密文視頻幀,(b)為解密視頻幀。
(a) 受剪裁攻擊的密文 (b) 解密視頻幀圖6 加密算法的抗剪裁性分析
從圖6可知,即使密文視頻幀遭受了1/4的剪裁攻擊,仍能有效地解密出視頻幀信息,該加密算法具有較好的抗剪裁性能。
本文提出了小波變換和混沌鍵控相結(jié)合的視頻加密算法,并從加密效果、密鑰敏感性、明文敏感性、密鑰空間、直方圖、相關(guān)性、幅值頻譜圖、信息熵、抗噪性能和抗剪裁性能十個(gè)方面進(jìn)行了性能分析。實(shí)驗(yàn)結(jié)果表明,該加密算法有效地解決了安全性和實(shí)時(shí)性難以平衡的問題,加密效率和安全性均得到了提高,具有較高的應(yīng)用價(jià)值。