多媒體內容加密之離散余弦變換(DCT)

針對實時安全系統(tǒng)中多媒體內容加密時由于數(shù)據(jù)量較大而導致計算開銷非常大的問題,為了綜合考慮安全性及實時性,我們提出了基于使用輕量級流算法的DCT余弦轉換多媒體內容加密算法。

一、多媒體內容加密之離散余弦變換(DCT)之相關問題

1、DCT變換

離散余弦變換是一種常用在多媒體壓縮中的變換,它是一種計算不太復雜的正交變換,其反變換能夠很容易計算出。對于相關性較高的圖像數(shù)據(jù)而言,DCT提供了一種有效壓實法同時具有可分性。根據(jù)等式(1)所示的二維條件,DCT對N×N的像素塊(X)進行操作,其輸出為包含N×N像素塊的塊集合(Y)。

式(1)中,y是一組N×N系數(shù),表示變換域中的數(shù)據(jù)。針對每個N的可能值定義了一組波形(通常,N=8,因此有64個波形).每個系數(shù)可視作為每個基礎模式或波形的權重,通過將相應權重得到的波形相加,可將原始數(shù)據(jù)恢復。

2、針對部分加密方案的攻擊

通常使用三種類型的攻擊:密碼攻擊、替換攻擊和基于質量替換的統(tǒng)計性攻擊來破解部分加密結構。

密碼攻擊方法是用攻擊來破解密碼,就與暴力破解,線性攻擊和差分攻擊類似。

替換攻擊通過嘗試將被加密數(shù)據(jù)替換為未加密數(shù)據(jù)或其他數(shù)據(jù)從而恢復原始圖像,從而破解多媒體加密算法。

假設原始多媒體數(shù)據(jù)為尸,其包含兩個部分X和Yo其中,蓋被加密為Z,而y是未加密數(shù)據(jù)。

式(2)中,E()是加密算法,K是算法密鑰,替換攻擊的意思是根據(jù)僅已知的Z和Y,生成新的密碼文本C’,如下定義:

式(3)中,G(Z,y)是借助Z或y獲得新X的方法,稱其為X。

根據(jù)上面的討論,替換攻擊可以分成兩種類型,直接替換和基于相關性的替換。

(1)直接替換是指將一些被加密數(shù)據(jù)替換成其他數(shù)據(jù),從而在僅知道加密媒體內容的情況下重建普通媒體內容,這種情況下,X’=G(Z),其中,不包含未加密參數(shù)Y。

(2)基于相關性的替換與直接替換相似,區(qū)別在于前者將一些被加密數(shù)據(jù)替換為未加密數(shù)據(jù)斜這種情況下,X‘=G(y),其中需要通過未加密參數(shù)Y生成X‘。

基于質量改進的統(tǒng)計模型是一種降低被加密圖像質量的方法,可以通過統(tǒng)計模型在僅知道加密圖像的情況下得到圖像的感性認識。在這種攻擊中,攻擊者研究某個特殊元素的概率或在不知道算法密鑰的條件下預測明文和密文之間的關系。換句話說,大體上該方法就是為暴力破解減小搜索空間。

原始圖像和被加密圖像之間較小的關系或沒有關系表明了加密算法對統(tǒng)計攻擊的抵抗。

3、設計部分加密的三個基本原則

原則1:為了對抗部分加密結構中已知的明文攻擊,必須在設計方案中使用一種高度安全的算法。

原則2:為了對抗純文本密碼攻擊和基于相關性的攻擊,在部分加密結構的設計中,加密參數(shù)應當獨立于未加密參數(shù)a如果加密參數(shù)可被未加密參數(shù)替換,通過純文本攻擊就可以得到純文本,因此,應當精確地選擇加密參數(shù)。

原則3:為了提高密鑰的靈敏度且對抗密碼攻擊,包括直接替換和統(tǒng)計性攻擊,在部分加密的設計中,需要對高敏感度的參數(shù)進行加密。

二、流加密算法提出

如前面所說,流加密算法為實時應用所青睞,為了提高安全性,其密鑰的生成與AES塊算法中密鑰的生成方法相似該算法中,將明文劃分成不同部分,應用流加密算法對每個部分進行加密,每個部分中,加密算法使用一個獨立的密鑰,該加密機制中,密鑰由塊密碼(例如,AES)保護。BE(m,K),針對信息m使用密碼K的塊密碼加密算法,SE(P,keyz)表示針對信息P使用密碼Key的流密碼加密算法。該算法首先將每個部分的密碼生成為KeyL=BE(m,K),然后對于明文P1,P2,…pt,密文將以C1,C2,…,Ct的形式呈現(xiàn),每個部分的密文形式為Ci= SE(Keyyi,Mi)。

令F為如下函數(shù):

式(4)中,KeYi為128位密碼,對于32位ki,Key,i=klk2k3 k4,髫是32位字符串,①是按位異或運算,+和×是232模加運算和模乘運算。為了對原始文本的每32位進行加密,該算法的步驟如下:

步驟1:通過塊算法AES生成128位的密碼序列,所以對于32位的ki, Keyi=klk2k3k4。

值得注意的是,這個128位的密碼會由AES算法更新,用它們加密原始文本的每32位。

步驟2:通過式(4)提出的函數(shù),Ai值如下獲得:

式(5)中,式(4)中的X被替代,P1一1和Cl-1分別等價于32位的之前的明文和密文,此外,如上所述,+是按位異或運算。

步驟3:再次由式(4)的函數(shù)獲得Bj值:

在該步驟中,式(4)中的X被Ai+PL-2替換,PL-2等于前面兩種情況下的32位原始文本,同樣,可由步驟2中式(5)得到。

步驟4:第三次,由式(4),得到:

在式(7)中,式(4)中的X值等價于bi+Cl-2,C1等價于前面兩種情況下的32位密文,Bi從步驟3中的式(6)得到。

步驟5:在這一步中,根據(jù)下面的等式,獲得32位密文。

式(8)Pi值等價于32位明文,Di值是從步驟4中得到的。

所有的步驟2—5可以總結如下:

在步驟2~4中,Co,C—l,Po和Jp1可以視作等價于k1 - k4。

解密過程與加密過程類似,僅僅是將式(8)中R和C;的位置進行調換,如下:

需要說明的足,解密過程中的Di值是使用與加密過程相同的明文和密文計算得到的。

三、DCT變換加密方案提出

實際上在量化之后大約75%的AC系數(shù)都等于零,因此原始系數(shù)(低頻率的系數(shù))的非零概率更大,僅對25%的AC原始系數(shù)進行了加密。此外,考慮到使用了流密碼,密碼序列與原始文本進行邏輯異或運算,因此任何系數(shù)可由密碼序列長度的多位密碼加密a為此,考慮安全性和性能速度,在不同情況下選擇出兩種優(yōu)化情況,選擇時考慮了一些重要參數(shù),包括:

(1)獲得可接受直方圖和相關性的統(tǒng)計圖表。

(2)使用最小位數(shù)的密碼進行加密。

(3)獲得加密圖像和解密圖像的可接受的信噪比。

(4)考慮上面提到的原則,同時抵抗所述的攻擊。

(5)針對DCT變換系數(shù)的一些基本要素使用更多位數(shù)的密碼,因為這些系數(shù)的值比其余系數(shù)更大。

1、加密方案的第一種模式

在這種情況中,DC系數(shù)有7位密碼,AC系數(shù)的前四個中每個有5位密碼,接下來11位系數(shù)有4位密碼且邏輯上變?yōu)楫惢蜻\算,結果如圖1所示,被加密圖像分別有很高的感知安全性和視覺安全性。

2、加密方案的第二種模式

在這種情況中,DC系數(shù)有7位密碼,AC系數(shù)的前四個中每個有6位密碼,接下來11位系數(shù)有5位密碼且邏輯上變?yōu)楫惢蜻\算。結果如圖2所示,被加密圖像有很高的感知安全性和視覺安全性。

四、加密算法評估

1、峰值信噪比分析

PSNR表示圖像的峰值信噪比,由式(11)給出。

式(11)中,M.SE是均方根誤差,由式(12)表示:

式(12)中。P(x,y)和C(x,y),分別表示原始圖像的灰度和被加密圖像在X行Y列的灰度,它們都有HxW個像素點,灰度為L。

被加密圖像的PSNR低值表示無加密密鑰情況下將加密圖像恢復成原始圖像的差異a:表1給出了不同模式下三種算法的結果,表2給出了針對不同加密圖像的結果。

從表1可以看出,運用所提出的算法時加密圖像的PNSR值與運用A5/1和W7加密算法類似,根據(jù)表1和表2,DC系數(shù)加密模式下加密圖像的PSNR大于其他3種情況,表明該模式抵抗密碼攻擊的能力較其他幾種模式更弱。

此外,提出的加密方案中兩種模式下加密圖像的PSNR很接近于無變換情況下的PSNR值,表明提出的兩種模式中對AC和DC系數(shù)進行加密適用于多媒體內容加密。

2、針對部分加密攻擊的安全性

(1)抵抗替換攻擊的安全性

基于相關性的替換攻擊,使用編碼和解碼參數(shù)發(fā)掘編碼參數(shù),使得編碼圖像可理解,根據(jù)原則2,如果編碼和解碼參數(shù)相關性較小,就可以證實提出的方案安全性較高。因此,在加密DC系數(shù)的方案中實行直接替換攻擊,對DC系數(shù)為零的位重設編碼位,然后實行基于相關性的替換攻擊,且用第一個AC系數(shù)取代DC編碼系數(shù),就可以得到如圖3所示的一些結果。

正如觀察到的,加密DC系數(shù)方案針對替換攻擊的安全性較弱。但是針對提出的加密DC系數(shù)和AC系數(shù)的兩種模式而言,因為編碼系數(shù)和加密系數(shù)幾乎沒有相關性(相關性等于零),替換攻擊不再有效(根據(jù)原則2和原則4)。圖4中,可以看到直接替換攻擊的結果以及針對提出的DC系數(shù)和AC系數(shù)加密的兩種模式實行基于相關性替換攻擊的結果。根據(jù)這張圖,替換攻擊不再有效。此外,因為位平面足在無變換的情況下進行編碼的,替換攻擊在這種情況下不再有效。

(2)抵抗統(tǒng)計性攻擊的安全性

使用統(tǒng)計性攻擊可預測原始圖像和加密圖像兩者之間的關系,同樣為顯示兩者的數(shù)量關系還繪制了直方圖和兩者的相關性圖表。此外,根據(jù)原則3,如果對高敏感度的主要參數(shù)編碼,出現(xiàn)統(tǒng)計性攻擊的概率將會降低。關于文中的DC和AC系數(shù)加密的兩種模式,因為已對敏感參數(shù)進行了編碼(DCT變換中的敏感系數(shù)和重要系數(shù)),所以統(tǒng)計性攻擊無效。下而繪制的直方圖和相關性圖符合該觀點。

為防止信息泄露和侵略性攻擊,必須確保原始圖像和加密圖像沒有統(tǒng)計的相似性。直方圖分析表示了圖像中像素的分布,其使用像素亮度的每個量繪制觀測值。圖5顯示了原始圖像和加密圖像的直方圖??梢钥吹?,加密DC和AC系數(shù)的兩種模式的直方圖和原始圖像的直方圖沒有統(tǒng)計相關性。因此,根據(jù)該圖可知統(tǒng)計性攻擊無效,且可知僅第二種模式的直方圖比第一種模式平滑,此外,考慮無變換模式下的直方圖均勻分布,可總結提出的算法針對統(tǒng)計性攻擊是安全的。

3、性能評估

對于實時處理系統(tǒng),除了安全性問題,加密算法的速度同樣是很重要的,為闡述實現(xiàn)密碼系統(tǒng)的效率,必須針對已研究的密碼系統(tǒng)進行清晰的比較。實驗在配置為Intel酷睿雙核2.10處理器、2G內存、Windows7操作系統(tǒng)的計算機上進行,針對256×256的灰度圖像,使用MATLAB7.O實現(xiàn)所提加密算法的編碼,并在有DCT變換的不同模式下和無變換情況下進行了加密分析,表3所示為不同加密模式下運用三種不同的算法加密的耗時情況比較,表4所示為所提算法在不同的模式下加密不同圖像得到的耗時情況。

從表3可以看出,提出的流密碼算法比A5/1和W7算法更快,同時在無變換模式下提出的加密算法的耗時與其他兩種算法大不棚同,因此,提出的算法比A5/1和W7算法更適用于實時多媒體應用系統(tǒng)。

綜合表3和表4可知,無變換加密模式下的算法執(zhí)行時間明顯多于DC系數(shù)加密模式下、DC和AC系數(shù)加密的兩種模式下的算法執(zhí)行時間。提出的兩種模式下取得的平均時間僅為1.6s,如果使用配置更好的機器,可以得到更短的耗時,由此可見舢提出的兩種模式可應用于實時多媒體應用系統(tǒng)。

小知識之DCT

DCT是英文Dual Clutch Transmission的簡寫,中文直譯為“雙離合變速器”(與DSG"直接換擋變速器“不同,但DSG只是大眾公司的叫法),因其是通過兩套離合器工作,所以目前一般被稱為雙離合變速器。