基于混沌理論的多層次變密鑰視頻加密方法

基于混沌理論的多層次視頻流加密方法,此方法由于采用多層次的混沌迭代,因而達(dá)到了使密鑰實(shí)時改變的目的,極大地提高了保密性能。那么接下來,我就給大家詳細(xì)的介紹一下。

一、基于混沌理論的多層次變密鑰視頻加密算法介紹

1、基于混沌理論的多層次變密鑰視頻加密算法的主要思想

當(dāng)前,混沌可以用來做數(shù)據(jù)加密的事實(shí)已為越來越多的研究者所知,各式各樣的加密算法也在不斷涌現(xiàn)。這樣做的理論依據(jù)是混沌行為具有三個特征:

1)貌似隨即的特性;

2)對初始條件和控制參數(shù)的敏感性;

3)有界性。

在這里,我們采用時域有限的非線性函數(shù)來實(shí)時改變密鑰,并對明碼序列進(jìn)行多層次混沌掩蓋處理。

2、 基于混沌理論的多層次變密鑰視頻加密算法描述

(1) 框圖建立

加密過程見圖1,采用了四個不同的混沌算法,分別為:

基于混沌理論的多層次變密鑰視頻加密方法

CM1、CMz、CM3、CM4,它們的表達(dá)式分別為(1)、(2)、(3)、(4)。

基于混沌理論的多層次變密鑰視頻加密方法

注floor(x)取x的整數(shù)部分;round(x)取x最接近的整數(shù);

由圖1可知,CM1和CM2的輸出相加得到R,R的取值范圍應(yīng)為[0,2),而CM3和CM4的輸入范圍應(yīng)為[0,256],為了滿足要求,其中必須加入一步數(shù)值放大器,其輸人為R,輸出
為I:

基于混沌理論的多層次變密鑰視頻加密方法
(2)密鑰生成

這里,初始條件X0(1)、X0(2)和參數(shù)a、λ作為種子,其取值是固定不變的,它們用來生成混沌掩碼序列所需要的密鑰I,隨著CM1和CM2的不斷迭代,密鑰也在不斷變化,這正是本加
密思想的精髓所在。可見,X0(1)、X0(2)、a、λ這四個輸入值對于信息保密是至關(guān)重要的。

我們采用八個字節(jié)的比特流來表示初始狀態(tài),假設(shè)這八個字節(jié)分別為B1、B2、B3、B4、B5、B6、B7、B8,則四個初始狀態(tài)將會表示為:

基于混沌理論的多層次變密鑰視頻加密方法

考慮到這四個狀態(tài)的取值范圍分別為:o<X0(1),a≤1;λ> 1;0<X0(2)<1:如果(6)中有任何一個等式的計算結(jié)果不滿足條件時,解決辦法是取其倒數(shù)。

(3) 加密流程

1)產(chǎn)生混沌掩碼

對于CM3和CM4的每一個輸入I,CM3和CM4分別進(jìn)行64次迭代運(yùn)算。因?yàn)樗鼈兊妮敵鼋Y(jié)果都是[O,256]范圍內(nèi)的整數(shù),所以共產(chǎn)生512bits的混沌掩碼序列。

2)選擇加密

加密的主要方式是利用上一步產(chǎn)生的掩碼序列,對需要加密的數(shù)據(jù)進(jìn)行異或運(yùn)算。但是,在這里,由于加密的對象是視頻信息,數(shù)據(jù)量龐大,而且要求實(shí)時性,所以不可能對全部的視頻數(shù)據(jù)都進(jìn)行加密處理,只對其中的關(guān)鍵性數(shù)據(jù)進(jìn)行處理。

我們要加密的對象是H.263編碼序列中的I幀(幀內(nèi)編碼)和P幀(幀間編碼)中經(jīng)過離散余弦變換后產(chǎn)生的DC系數(shù),以及P幀中通過運(yùn)動估值算法產(chǎn)生的運(yùn)動矢量(MV)和殘差值。加密時,原始數(shù)據(jù)先與CM3中產(chǎn)生的521bits混沌序列進(jìn)行異或運(yùn)算,運(yùn)算的結(jié)果再與CM4產(chǎn)生的另外512bits進(jìn)行第二次異或運(yùn)算,這樣通過多次運(yùn)算使加密更徹底,從而增加破解難度。

3)密鑰轉(zhuǎn)換

在C'M3和CM4分別進(jìn)行64次迭代運(yùn)算完畢之后,CM1和CM2同時進(jìn)行一次迭代,輸出的結(jié)果使,的值發(fā)生變化,從而改變CM3和CM4的初始條件,也就是改變密鑰,這樣CM3和CM4再迭代64次得出的512bits混沌序列將會呈現(xiàn)完全不同的運(yùn)動行為。從而極大的增加了破解難度。

3、算法推廣

通過加快密鑰的變換頻率、增加加密運(yùn)算的層次,以及選擇更多的原始數(shù)據(jù)進(jìn)行加密都可以進(jìn)一步增加系統(tǒng)的保密性。圖2所示為三層混沌序列加袒的流程圖。

基于混沌理論的多層次變密鑰視頻加密方法

二、基于混沌理論的多層次變密鑰視頻加密算法實(shí)現(xiàn)

加密對象:YUV(4:2:0)標(biāo)準(zhǔn)測試序列經(jīng)過H.263壓縮編碼后的數(shù)據(jù)流。所謂YUV測試序列是指由一些權(quán)威機(jī)構(gòu)提供的用于編碼測試的YUV格式的視頻序列,比較常用的有:Forernan. yuv、News. yuv、claire. yuv、grandma. yuv、salesman、yuv等等,我們用的是前面兩個。

加密工具:Visual C++編程語言、DirectShow開發(fā)工具。

加密結(jié)果如圖3所示。

基于混沌理論的多層次變密鑰視頻加密方法

結(jié)果分析:

1)加密效率分析

我們這里選用的兩種視頻序列具有截然不同的運(yùn)動特征:Forcman更加動態(tài),而News偏向于靜態(tài)。之所以這樣選擇,目的是試圖分析這種加密方法對于不同的加密對象的加密效率如何。測試加密效率的方法之一就是用視頻壓縮所用的時間與加密時間作對比,如果加密時間只占壓縮時間很小的比例,那么就可以說明我們的加密算法不會引起視頻傳輸?shù)妮^大時延,具有可以信賴的加密效率。

我們分別選用100幀和300幀的原始序列進(jìn)行測試,而且測試序列采用的格式分別為Cif和Qicf.結(jié)果如表1所示。

基于混沌理論的多層次變密鑰視頻加密方法

注:Tec、Tdc分別為原始視頻序列用H 263編碼和解碼所用的時間。

Tecc、Tdcc分別為原始視頻序列用H 263編碼、加密以及解碼、解密所用的總時間。

基于混沌理論的多層次變密鑰視頻加密方法

由表1可知,加解密時間與編解碼時間相比,只占很小的比例,完全可以滿足實(shí)時視頻交互的要求。

2)保密性能分析

在我們提出的視頻文件加密框圖中,如果沒有CM1,CM2,那么通過一些密碼分析方法來重新構(gòu)造CM3,CM4從而到達(dá)解密的目的是可能的。

但是,由于這里使用了多層次的加密方法,使得CM3、CM4的狀態(tài)實(shí)時改變,這樣,即使通過一些知道部分明文( known-p laintcxt)的攻擊方法得到CM3、CM4的輸入I也很難推算出最初始的輸入X0(1)、X0(2)、a、λ。因?yàn)镮是CM1、CM2的輸出相加的結(jié)果,要想得到這兩個加數(shù)各自的值非常困難。

小知識之混沌理論

混沌理論(Chaos theory)是一種兼具質(zhì)性思考與量化分析的方法,用以探討動態(tài)系統(tǒng)中(如:人口移動、化學(xué)反應(yīng)、氣象變化、社會行為等)無法用單一的數(shù)據(jù)關(guān)系,而必須用整體、連續(xù)的數(shù)據(jù)關(guān)系才能加以解釋及預(yù)測之行為。