?

基于量子細胞神經網絡超混沌的視頻加密方法

2018-06-01 02:53底曉強王英政李錦青從立鋼
吉林大學學報(工學版) 2018年3期
關鍵詞:加密算法密鑰加密

底曉強,王英政,李錦青,從立鋼,祁 暉

(1.長春理工大學 計算機科學技術學院,長春 130022;2. 吉林省網絡與信息安全重點實驗室,長春 130022)

0 引 言

視頻加密是一種利用密碼學的方法來保護視頻信息安全的技術。H.264/AVC[1]由于其高效的壓縮性能和良好的圖像編碼質量,在網絡視頻傳輸中得到了廣泛的應用。研究者們針對H.264/AVC提出了多種加密算法,根據加密方式的不同,可分為選擇性加密算法和完全加密算法。完全加密算法是把視頻數據作為二進制流直接加密,但其計算復雜度高,會改變視頻格式,導致標準解碼器無法正常解碼視頻。選擇性加密算法是對視頻的關鍵數據加密,具有加密數據量小、計算復雜度低等優點[2]。因此結合視頻的編碼格式,對視頻的關鍵數據加密的選擇性加密算法得到了研究者的廣泛關注。

視頻選擇性加密方法可分為幀內預測加密[3]、運動矢量殘差(MVD)加密[4,5]、離散余弦變換(DCT)的系數加密[6]和熵編碼加密[7-9]。文獻[2]發現幀內預測加密會改變視頻的壓縮比。MVD的數值加密有可能使運動矢量漂移,導致無法正常解密視頻[5];MVD的符號位加密不會改變視頻的壓縮比且感知安全性較好,但由于符號位只有2個數值,因此無法抵抗明文攻擊[9]。對于熵編碼加密,Shahid等[7]提出了加密T1s和非零系數后綴的加密方法,文獻[8,9]研究發現只加密非零系數的符號位能達到與加密非零系數后綴相似的加密效果,而且由于減少了加密元素,可降低加密算法的計算復雜度。

混沌系統可產生安全強度高的密鑰,對圖像加密可取得良好的加密效果[10,11],但由于求解高維混沌系統運算時間長[12],導致算法的編碼延遲較大。本文使用量子細胞神經網絡(Quantum cellular neural network, QCNN)生成4組混沌序列,前3組作為混沌序列池,最后1組作為Logistic混沌映射的初值以確保Logistic混沌映射初值的隨機性。利用Logistic混沌映射生成2個索引值,根據索引值從混沌序列池中選出2組混沌序列,然后按位比較大小生成布爾密鑰。重復這個過程直到獲取足夠的密鑰,使用這種方法避免了多次求解超混沌系統生成密鑰,同時基于上文的討論,本文提出的視頻加密算法選擇T1s的符號位、非零系數的符號位和運動矢量的符號位作為視頻的加密對象,減小了視頻加密的數據量,有效地降低了視頻加密時的編碼延遲。

1 密鑰生成算法

本節將介紹加密視頻數據所使用的混沌系統及混沌密鑰生成方法。

1.1 量子細胞神經網絡

Lent等[13]利用量子點提出了量子點細胞自動機(Quantum-doc cellular automata, QCA),量子計算的方法具有超高集成密度和低功耗的特點[14],通過QCA可構造細胞局部耦合量子細胞神經網絡QCNN[15]。由于量子點之間的量子相互作用,QCNN量子力學方程可從每個細胞的極化率獲得復雜的動力學特性[16]。

對于由雙細胞耦合的量子細胞神經網絡,其混沌系統狀態方程為:

(1)

式中:x1、x3為極化率;x2、x4為量子相位;ω01、ω03為每個細胞內的點間能量成比例的系數;ω02、ω04為相鄰細胞極化率之差的加權影響系數。

當ω01=ω03=0.28,ω02=0.7,ω04=0.3時系統為混沌態。其部分混沌吸引子如圖1所示。

通過計算QCNN系統的 Lyapunov指數λ可分析其動態行為。當ω01=ω03=0.28,ω02=0.7,ω04∈[0,1]時,Lyapunov指數如圖2所示,可見當ω04>0.1時,該QCNN有2個正的Lyapunov指數,表明此時它為超混沌系統。

圖1 QCNN混沌吸引子Fig.1 Chaotic attractor of QCNN

圖2 雙細胞QCNN-Lyapunov指數Fig.2 Lyapunov-exponents of two cells QCNN

1.2 Logistic映射

Logistic映射是一維離散混沌系統,具有運算速度快的特點,如式(2)所示:

xn+1=f(xn)=μxn(1-xn)

(2)

式中:μ∈(0,4);xn∈(0,1),n=1,2,3,…。

Logistic的分岔過程和Lyapunov指數如圖3和 4 所示,當μ取值[3.5699456,4]時,Logistic 映射進入混沌態,并表現出復雜的動力學特性。

圖3 Logistic 分岔圖Fig.3 Logistic bifurcation diagram

圖4 Logistic-Lyapunov指數Fig.4 Logistic-Lyapunov exponent

1.3 密鑰生成

密鑰生成的流程圖見圖5。將QCNN混沌系統方程(2)迭代n次生成QCNN矩陣A,其中n是256的倍數。

將QCNN矩陣A拆分為矩陣B和序列C。

C={x4,1,x4,2,…x4,n-1,x4,n}

對矩陣B先左右再上下按行遍歷按序重排生成密鑰序列M:

M={x1,1,x1,2,…x2,1,x2,2,…,x3,n-1x3,n}

(3)

將M中的元素按順序每256個一組,取L組構成混沌序列池K如式(4),L的大小可根據加密強度的要求由用戶選取,L為(0,3n/256]區間的整數。

K={k1,k2,,kL}

(4)

將序列C中的元素按式(5)生成索引序列D:

D=mapmin max(C,0,1)

(5)

式中:mapmin max(C,0,1)表示將序列C中的數值映射到[0,1]區間。

索引生成算法如下。

i=1;//i表示索引序列D的下標m=1;//m表示當前編碼的幀號if(m==1)#取D(i)迭代Logistic混沌映射N1次得到D_Log1D_Log1=Logistic(D(i),N1,μ)#D_Log1是一個[0,1]之間的數,將D_Log1映射到[1,n]之間j=mapminmax(D_Log1,1,n)#取D(j)迭代Logistic混沌映射N2次得D_Log2#N1,N2可以根據用戶對安全強度的需求自行選擇D_Log2=Logistic(D(j),N2,μ)# D_Log2為一個[0,1]之間的數,將D_Log2映射到[1,n]之間i=mapminmax(D_Log2,1,n) m=m+1else#每編碼一幀圖像While(m<=k)#當m>1時,取D(i)迭代Logistic混沌映射次N1得D_Log1D_Log1=Logistic(D(i),N1,μ)j=mapminmax(D_Log1,1,n)if(j=i)j=i+1if(j>n)j=1D_Log2=Logistic(D(j),N2,μ)i=mapminmax(D_Log2,1,n) #輸出D(i)、D(j)m++

圖5 密鑰生成流程圖Fig.5 Key generation flow

按索引生成算法算法從D中取出D(i)和D(j)(i,j=1,2,…,n)作為初值,進行Logistic變換生成D_Log1、D_Log2,把D_Log1、D_Log2映射到[1,L]區間,再按式(6)向上取整得到[1,L]區間的整數DC_Log1、DC_Log2,式(6)中的ceil()表示向上取整。

(6)

以DC_Log1和DC_Log2作為索引從混沌序列池K中取出兩組密鑰K(DC_Log1)和K(DC_Log2),然后按式(7)逐位比較得到布爾密鑰Key,重復這個計算過程直到生成256位密鑰。

Key=(K(DC_Log1(i))≥

(K(DC_Log2(i))?1:0)

(7)

將密鑰前128位Key_E加密視頻的Exp-Golomb編碼,后128位Key_C加密視頻的CAVLC編碼。

2 視頻加密方案

針對H.264/AVC主要檔次的視頻編碼加密流程如圖6所示,視頻幀內和幀間預測編碼完成后,使用CAVLC編碼殘差數據,其余數據使用Exp-Golomb編碼。將1.3節中生成的密鑰Key_C 加密CAVLC編碼的T1s的符號位和非零系數的符號位,Key_E加密Exp-Golomb編碼的INFO。

圖6 加密流程Fig.6 Encryption flow

2.1 Exp-Golomb編碼加密

Exp-Golomb編碼的標準結構是[Mzeros] 1 [INFO],它包括3部分,Mzeros 表示M位的0,中間的“1”是標志位,INFO是信息位,信息位的長度等于M,碼字結構見表1。

表1 哥倫布碼字結構Table 1 Exp-Golomb code struct

從表1可知,輸入數據Code_Num時,根據下面兩式:

M=floor(log2(Code_Num+1))

(8)

INFO=Code_Num+1-2M

(9)

可分別計算出比特串的信息位長度M和信息位INFO。式(8)中的floor()表示向下取整函數,加密時使用M位的密鑰加密方法為:

En_INFO=INFO⊕Key_E

(10)

式中:INFO為原編碼的信息位;Key_E為1.3節生成的密鑰;En_INFO為加密的信息位,其解密過程是加密的逆過程。

對INFO 加密,其加密過程如圖7所示。

圖7 Exp_Golomb加密Fig.7 Exp_Golomb encryption

2.2 CAVLC編碼加密

CAVLC編碼過程如圖8所示,Z字形掃描后的數據使用CAVLC編碼,CAVLC編碼過程包含:①對非零系數的個數(TotalCoeffs)和拖尾系數的個數(TrailingOnes)編碼;②對每個拖尾系數的符號編碼;③對除了拖尾系數以外的非零系數幅值(Levels)編碼;④對最后一個非零系數前零的個數(TotalZeros)編碼;⑤對每一個非零系數前零的個數(RunBefore)編碼。拖尾系數的符號位和剩余非零系數的符號位在編碼過程中用于保持位流的規范性,所以加密以上2個語法元素不會破壞H.264/AVC編碼的格式規范[8]。

En_T1s=T1s⊕Key_C

(11)

En_sign=sign⊕Key_C

(12)

式(11)和式(12)分別是對拖尾系數的符號位和非零系數的符號位的加密方法,其中Key_C為1.3節生成的密鑰。式(11)中的T1s表示拖尾系數的符號位,En_T1s為加密后的拖尾系數的符號位;式(12)中的sign為非零系數的符號位,En_sign為加密后的非零系數的符號位。

3 實驗分析

3.1 實驗運行環境

運行加密算法的電腦配置了英特爾酷睿雙核處理器(2.50 GHz),內存為4 GB。視頻編碼運行的程序是H.264/AVC參考模型JM8.6版本主要檔次。編碼圖像100幀,I幀間隔為5,P幀∶B幀=1∶1,量化系數(QP)設為18,通過CAVLC編碼模式分別編譯視頻Foreman、Calendar、Highway、Bus、City、Football、Harbour、Ice和Socce標準視頻序列。視頻序列的分辨率為Qcif(176*144)和cifIF(352*288)兩種,采樣格式為4∶2∶0。

3.2 主觀效果分析

視頻加密效果的主觀測試方法[17]是通過觀測者的肉眼對視頻序列打分評測。選取Foreman(cif)的第19幀、Calendar(cif)的第17幀和Highway(qcif)的第9幀作為測試圖像,圖9是本文加密方法和文獻[7,8]中的加密方法得到的加密圖像,從這3個視頻序列的加密結果對比圖中可以看出,觀眾無法理解本文加密算法得到的加密圖像,加密圖像滿足了視頻加密效果的主觀測試安全需求。而且本算法明顯優于文獻[7]算法的加密效果,雖然文獻[8]的算法取得了較好的加密效果,但對圖像背景的干擾不及本文算法。

圖 8 CAVLC編碼過程Fig.8 CAVLC encoding process

圖9 主觀效果對比 Fig.9 Comparison of subjective effect

3.3 客觀效果分析

視頻的主觀評測需評測人員使用肉眼評測,評測過程中可能因環境或者評測人員身體狀況等因素導致評測結果的偶然性。為避免這種缺陷,研究者提出了多種客觀的視頻質量評測方法,包括峰值信噪比(PSNR)和結構相似性比較(SSIM)。

3.3.1 峰值信噪比比較分析

PSNR的計算公式為:

(13)

式中:MSE為原始圖像與加密圖像像素值之間的均方誤差,它被用來衡量原圖像加密后的圖像質量。

MSE的表達式為:

(14)

式中:I0和Ir分別為原始圖像和加密后的圖像;M和N表示圖像的大小。

表2列出了8個不同的視頻序列原始圖像與使用本文加密算法加密后圖像的PSNR對比結果。實驗分別給出了Y、U、V三個分量PSNR的值。

表2 PSNR實驗結果Table 2 PSNR experimental result dB

PSNR的數值越低說明視頻的質量越差,正常情況下當PSNR的數值低于15 dB時人眼就無法區分出視頻內容[9]。表3列舉了原視頻序列和加密后的視頻序列的PSNR,表3中可見,本文提出的視頻加密方法加密后的視頻圖像PSNR數值均低于15 dB,達到了預期的加密效果。表4對比了文獻[79]所提方法和本文方法加密4種標準視頻序列后的PSNR。本加密方法的PSNR平均值是13.42,低于其他3種方法,說明本加密方法的加密效果優于其他3種加密方法。

表3 PSNR對比Table 3 Comparision of PSNR dB

3.3.2 量化系數與PSNR

H.264/AVC編碼時可在[0,51]內根據實際需要靈活選擇量化系數(QP),當量化系數取最小值0時代表最精細的量化,當QP取最大值51時代表最粗糙的量化。QP每增加6,Qstep增加1倍。

表4是Foreman視頻序列在QP分別設置為18、24、30、36時的視頻圖像Y、U、V分量的PSNR值。表4可印證QP越小視頻圖像Y、U、V分量的PSNR值越高,也表明視頻質量越好。圖10是在QP分別設置為18、24、30和36時,本文方法加密Foreman視頻序列的加密結果,可以發現QP不同時得到的加密圖像不同,并且對加密效果影響很大。

表4 不同QP下的PSNRTable 4 PSNR under different QP

圖10 QP=18,QP=24,QP=30,QP=36時的加密圖像Fig.10 Encrypted images of QP = 18, QP = 24, QP = 30, and QP = 36, respectively

3.3.3 結構相似性比較分析

SSIM是用來衡量兩幅圖像結構相似度的指標。SSIM取值范圍為[0,1],數值越接近1說明兩幅圖像的相似度越高視頻質量越好,越接近0說明兩幅圖像相似度越低視頻質量越差。SSIM的數值低于0.1時,人眼就無法區分出視頻內容[9]。SSIM的計算式為:

(15)

表5對比了本文加密方法和文獻[7-9]所提方法加密不同視頻序列的SSIM值,本文加密方法得到的SSIM值均低于0.01,表明人眼無法區分出加密視頻的內容,且優于文獻[7-9]所提的方法。

表5 SSIM實驗結果Table 5 SSIM experimental result

3.4 壓縮比分析

視頻加密CAVLC編碼過程中的T1s符號位、非零系數符號位和Exp-Golomb編碼的信息位,加密過程中只使用了簡單的異或操作,不但提高了加密的速度,而且不影響視頻編碼格式和碼長,所以本文加密方法不影響視頻的壓縮比。

3.5 安全性分析

3.5.1 密鑰空間

設混沌序列捕獲區間為[1000,10000],按式(2)生成101組混沌序列,前100組每組包括256個隨機數值,最后1組作為Logist的初值。根據Logist映射生成的索引,從前100組混沌序列中選取2組,將按位比較的結果作為密鑰。由于密鑰長度為256位,所以密鑰空間為100×2256×0.9×103>2274。表6中對比了本文和文獻[7,8,12]的密鑰空間,本文加密方法的密鑰空間高于文獻[7,8,12]的密鑰空間,說明本文加密方法的密鑰空間足夠大,可以抵擋唯密文攻擊[15]。

表6 密鑰空間對比Table 6 Key space comparison

3.5.2 密鑰隨機性檢測

為檢測密鑰的隨機性,使用了NIST SP 800-22[18]軟件測試了50萬比特的密鑰。密鑰通過了NIST SP 800-22的全部16項測試,見表7。這表明本文提出的密鑰生成方案產生的密鑰是隨機的。

表7 NIST SP 800-22測試結果Table 7 NIST SP 800-22 test results

3.5.3 已知明文攻擊

已知明文攻擊是指攻擊者掌握了某段明文和對應的密文后發起的攻擊[9],如MVD的符號位,在編碼過程中只有0和1這2個數值,攻擊者可通過不同的0和1數值序列替換加密位置的數值,嘗試對視頻解密。圖11是本文加密結果與對MVD的符號位使用已知明文攻擊后的結果,可發現已知明文攻擊對本加密方法無效,這說明本文提出的加密方法可以抵擋已知明文攻擊。

圖11 已知明文攻擊對比結果Fig.11 Comparison of known plaintext attacks

3.5.4 推理攻擊

推理攻擊是指攻擊者利用沒有被加密的數據來推斷出已經加密的數據[9],為分析推理攻擊的可能性,分析了加密視頻圖像中像素的相關性。視頻圖像中相鄰像素在垂直、左右和對角方向上都存在相關性,正常解碼得到的視頻圖像的相鄰像素點在數值上十分接近,而視頻加密后將使圖像像素之間的相關性降低。將圖像像素的方差作為分析視頻圖像相關性的參數,從表8中發現本文加密方法和文獻[7]得到的像素值方差與正常解碼圖像像素值的方差相比都有較大改變,且本文方法得到的方差比文獻[7]的更大,攻擊者無法通過圖像像素的相關性來解密加密后的視頻圖像。

表8 圖像像素的方差Table 8 Deviation value of image pixels

3.6 加密延遲分析

基于混沌的視頻加密算法加密延遲高的主要原因是:高維混沌產生混沌序列時計算復雜度高、耗費時間長、選擇加密的數據過大和采用了復雜的加密運算。本文加密算法通過使用混沌序列池減少了求解高維混沌QCNN的次數,同時只對視頻關鍵語法元素加密,有效減少了加密的數據量,加密運算采用了運算速度快的異或運算,顯著降低了加密延遲。

從表9可看出,隨著編碼幀數的增加,文獻[8]采用的加密方法編碼延遲保持在1.32%到1.88%之間,本文加密算法加密視頻序列時編碼10幀視頻的延遲是2.76%,但會隨視頻幀數的增加編碼延遲逐漸降低,當編碼為70幀視頻時,延遲降低到了0.56%。這是由于初始生成混沌序列池時計算量較大,當不再需要求解QCNN時,隨著編碼幀數的增加,加密的延遲就變得越來越小。雖然文獻[7]的延遲小于本文和文獻[8],但在3.2節視頻加密效果主觀分析中發現,文獻[7]的加密效果并不理想。

表9 加密延遲分析,Foreman(qcif)Table 9 Encryption delay analysis,Foreman(qcif)

3.7 比較分析

表10列出了近幾年研究者們提出的幾種選擇性加密方法[7,8,12],從比特率、計算復雜度、加密算法、安全性方面對比發現,本文提出的加密算法不改變比特率,計算復雜度低,符合視頻編碼的格式規范,結合高低維混沌快速生成密鑰,產生的密鑰用于視頻加密能夠達到較高的安全性。

表10 比較分析Table 10 Comparative analysis

4 結束語

本文提出了結合高維QCNN與低維Logistic混沌的密鑰生成方案,有效減少了QCNN的求解次數,提高了密鑰的生成速度。該方案的密鑰空間為2274,可抵擋已知明文攻擊和推理攻擊。視頻加密算法只加密視頻的T1s符號位、剩余非零系數的符號位和Exp-Golomb的INFO,有效降低了視頻加密的數據量,且不改變視頻的編碼格式和視頻的壓縮比。仿真與實驗對比表明,本加密算加密效果好,延遲小,具有較好的安全性和應用價值。

參考文獻:

[1] Liu F, Koenig H. A survey of video encryption algorithms[J]. Computers & Security, 2010, 29(1): 3-15.

[2] Ahn J, Shim H J, Jeon B, et al. Digital video scrambling method using intra prediction mode[C]∥Pacific-Rim Conference on Multimedia. Berlin:Springer, 2004: 386-393.

[3] 蔣建國, 邢世義, 包先雨. 一種用于H.264的視頻加密方案[C]∥全國計算機技術與應用,合肥,中國,2008:525-531.

Jiang Jian-guo, Xing Shi-yi, Bao Xian-yu. A video encryption scheme for H.264[C]∥National Computer Technology and Applications,Hefei, China, 2008:525-531.

[4] Fan Yi-bo,Wang Ji-dong, Ikenaga T, et al. An unequal secure encryption scheme for H. 264/AVC video compression standard[J]. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, 2008, 91(1): 12-21.

[5] Liu Z, Li X. Motion vector encryption in multimedia streaming[C]∥Multimedia Modelling Conference, 2004. Proceedings of 10th International, IEEE, Brisbane, Australia,2004: 64-71.

[6] Lian S, Sun J, Liu G, et al. Efficient video encryption scheme based on advanced video coding[J]. Multimedia Tools & Applications, 2008, 38(1):75-89.

[7] Shahid Z, Chaumont M, Puech W. Fast protection of H. 264/AVC by selective encryption of CAVLC and CABAC for I and P frames[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2011, 21(5): 565-576.

[8] Wang Y, O'Neill M, Kurugollu F. A tunable encryption scheme and analysis of fast selective encryption for CAVLC and CABAC in H. 264/AVC[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2013, 23(9): 1476-1490.

[9] Peng F, Gong X, Long M, et al. A selective encryption scheme for protecting H. 264/AVC video in multimedia social network[J]. Multimedia Tools and Applications, 2016,76(3):1-19.

[10] 田海江, 雷鵬, 王永,等. 基于混沌和DNA動態編碼的圖像加密算法[J]. 吉林大學學報:工學版, 2014, 44(3):801-806.

Tian Hai-jiang, Lei Peng, Wang Yong, et al. Image encryption algorithm based on chaos and DNA dynamic coding[J]. Journal of Jilin University(Engineering and Technology Edition), 2014, 44(3):801-806.

[11] 蒲鑫, 田小建, 王春民,等. 基于光纖混沌替代電路的圖像加密方案[J]. 吉林大學學報:工學版, 2014, 44(1):270-275.

Pu Xin, Tian Xiao-jian, Wang Chun-min,et al. Image encryption scheme based on optical chaos replace circuit[J]. Journal of Jilin University(Engineering and Technology Edition), 2014, 44(1):270-275.

[12] Peng F, Zhu X, Long M. An ROI privacy protection scheme for H. 264 video based on FMO and Chaos[J]. IEEE Transactions on Information Forensics and Security, 2013, 8(10): 1688-1699.

[13] Lent C S, Tougaw P D, Porod W, et al. Quantum cellular automata[J]. Nanotechnology, 1993, 4(1): 49.

[14] 蔡理, 馬西奎, 王森. 量子細胞神經網絡的超混沌特性研究[J]. 物理學報,2003,52(12): 3002-3006.

Cai Li, Ma Xi-kui, Wang Sen. Study on hyperchaos of quantum cellular neural networks[J]. Acta Physica Sinica, 2003, 52(12): 3002-3006.

[15] Porod W. Quantum-dot devices and quantum-dot cellular automata[J]. Journal of the Franklin Institute, 1997, 334(5/6): 1147-1175.

[16] 王宏霞,何晨. 細胞神經網絡的動力學行為[J]. 物理學報, 2003, 52(10):2409-2414.

Wang Hong-xia, He Chen. Dynamic behavior of cellular neural networks[J]. Acta Physica Sinica, 2003, 52(10):2409-2414.

[17] Tan T K, Weerakkody R, Mrak M, et al. Video quality evaluation methodology and verification testing of HEVC compression performance[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2016, 26(1): 76-90.

[18] Pareschi F, Rovatti R, Setti G. On Statistical tests for randomness included in the NIST SP800-22 test suite and based on the binomial distribution[J]. IEEE Transactions on Information Forensics & Security, 2012, 7(2):491-505.

猜你喜歡
加密算法密鑰加密
一種新型離散憶阻混沌系統及其圖像加密應用
幻中邂逅之金色密鑰
幻中邂逅之金色密鑰
基于DES加密算法的改進研究
密碼系統中密鑰的狀態與保護*
一種基于熵的混沌加密小波變換水印算法
基于整數矩陣乘法的圖像加密算法
TPM 2.0密鑰遷移協議研究
混沌參數調制下RSA數據加密算法研究
加密與解密
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合