国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SM4的選擇性視頻加密算法*

2019-09-03 08:57:30袁志民朱春磊呂成都
通信技術(shù) 2019年8期
關(guān)鍵詞:視頻流明文加密算法

袁志民 ,朱春磊 ,呂成都

(1.海軍工程大學(xué) 信息安全系,湖北 武漢 430000;2.中國(guó)人民解放軍第91208部隊(duì),山東 青島 266000)

0 引 言

在如今信息飛速發(fā)展的時(shí)代,智能監(jiān)控?cái)z像頭因其能夠遠(yuǎn)程監(jiān)控、錄制視頻等功能,便成了許多行政機(jī)構(gòu)、公司和家庭保障安全的不二選擇;因此,智能監(jiān)控?cái)z像頭在智能監(jiān)控、實(shí)時(shí)視頻通信和視頻動(dòng)態(tài)認(rèn)證等領(lǐng)域應(yīng)用越來(lái)越廣泛,隨之而來(lái)的視頻流數(shù)據(jù)安全問(wèn)題也日趨嚴(yán)重[1]。目前,視頻流數(shù)據(jù)安全問(wèn)題愈演愈烈,其中主要包括:網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的信令和視頻數(shù)據(jù)遠(yuǎn)程傳輸?shù)牟话踩?,即傳輸過(guò)程中數(shù)據(jù)的完整性、可用性和機(jī)密性存在被破壞的可能;視頻監(jiān)控后端系統(tǒng)的存儲(chǔ)監(jiān)控視頻數(shù)據(jù)易被竊取,或者用戶的個(gè)人信息可被任意查看;未對(duì)重要視頻流數(shù)據(jù)進(jìn)行加密處理,部分加密后的視頻數(shù)據(jù)安全性較低,無(wú)法防止重放攻擊,解密技術(shù)等攻擊手段[2-3]。

具有較高的安全性、較低的計(jì)算復(fù)雜度、壓縮比不變、數(shù)據(jù)可操作性是一個(gè)性能較好的視頻加密算法應(yīng)具備的特點(diǎn)。而本文針對(duì)智能監(jiān)控、實(shí)時(shí)視頻通信和視頻動(dòng)態(tài)認(rèn)證等視頻應(yīng)用場(chǎng)景,對(duì)現(xiàn)有視頻加密算法進(jìn)行研究,并采用理論結(jié)合實(shí)際的方法,提出一種基于SM4的選擇性視頻加密算法,達(dá)到視頻加密傳輸保密性和實(shí)時(shí)性的要求。

1 現(xiàn)有典型加密算法分析

1.1 國(guó)產(chǎn)SM4算法(SM4 Block Cipher Algorithm)

SM4算法為分組密碼算法,算法的分組長(zhǎng)度和密鑰長(zhǎng)度均為128 bit。加解密的算法結(jié)構(gòu)相同,都采用32輪非線性迭代結(jié)構(gòu),且輪密鑰在使用順序上相反,解密密鑰也為加密密鑰的逆序[4-6]。

該算法首先進(jìn)行參數(shù)生成,經(jīng)過(guò)輪函數(shù)的線性與非線性變換得到字,然后通過(guò)對(duì)隨機(jī)生成的主密鑰進(jìn)行密鑰擴(kuò)展算法,使加密密鑰生成輪密鑰,最后將明文輸入進(jìn)行加解密算法變換得到密文輸出。

1.2 OFB模式(Output Feedback)

輸出反饋模式(Output Feedback),如圖1所示,其工作原理是先通過(guò)移位寄存器輸入明文隨機(jī)數(shù),用塊加密器生成密鑰流,再將密鑰流對(duì)明文流進(jìn)行加密得到密文流,密文流輸出成為下一個(gè)隨機(jī)數(shù)再與密鑰流進(jìn)行加密生成新的密文,如此繼續(xù);解密是先用塊加密器生成相同的密鑰,再將密鑰流對(duì)密文流進(jìn)行解密得到明文流。這種工作模式十分適用于流數(shù)據(jù)的加密,因此廣泛應(yīng)用在視頻流數(shù)據(jù)的加密[7]。

OFB模式不僅具有普通流密碼算法的優(yōu)點(diǎn),而且隱藏了明文模式,還可對(duì)任意長(zhǎng)度的流數(shù)據(jù)進(jìn)行加密,并且不需要對(duì)流數(shù)據(jù)進(jìn)行分組填充。因其將分組密碼加密算法轉(zhuǎn)變成流模式,更適合于加密冗余度較大的數(shù)據(jù)(語(yǔ)音、圖像和視頻數(shù)據(jù)),且在加密過(guò)程中產(chǎn)生奇偶校驗(yàn)位,則在傳輸過(guò)程中的比特錯(cuò)誤也不會(huì)繼續(xù)向后傳播。但是OFB模式不利于并行計(jì)算;對(duì)明文的主動(dòng)攻擊是可能的;并且當(dāng)存在錯(cuò)誤碼流時(shí)具有誤差傳送,一個(gè)明文單元誤差會(huì)影響后續(xù)多個(gè)單元結(jié)果。

圖1 國(guó)產(chǎn)SM4加密算法OFB工作模式

1.3 選擇性視頻加密算法

選擇性視頻加密算法是通過(guò)對(duì)視頻數(shù)據(jù)的某些關(guān)鍵信息進(jìn)行選擇性加密的方法,可大致分為以下幾類:

(1)基于視頻幀結(jié)構(gòu)的選擇性加密。此加密方法僅僅只對(duì)數(shù)據(jù)中的關(guān)鍵幀I幀進(jìn)行加密,而這種加密方式?jīng)]有對(duì)幀與幀之間相關(guān)性大的I-Block加密,則無(wú)法達(dá)到保護(hù)數(shù)據(jù)安全性的密級(jí)。

(2)對(duì)格式頭信息的加密。視頻序列都是有一定結(jié)構(gòu)特性的圖像數(shù)據(jù),起始位置為一個(gè)格式頭信息,緊接著為圖像數(shù)據(jù)。該算法對(duì)視頻序列的格式頭信息進(jìn)行加密,使之成為隨機(jī)序列并與其它數(shù)據(jù)混合,但格式頭信息包含的關(guān)鍵數(shù)據(jù)量較小,加密后的數(shù)據(jù)安全性得不到保證。

(3)Meyer and Gadegast 提出設(shè)計(jì)了一種新的類似動(dòng)態(tài)圖像專家組(Moving Picture Experts Group,MPEG)比特流的視頻加密算法,稱之為SECMPEG[8]。此算法可以使用標(biāo)準(zhǔn)的加密算法,如:數(shù)據(jù)加密算法(Data Encryption Algorithm,DEA)、公鑰加密算法(Rivest Shamir Adleman,RSA)、SM4等,從而實(shí)現(xiàn)不同安全級(jí)別的密級(jí)。但是SECMPEG與標(biāo)準(zhǔn)MPEG比特率算法不兼容,則需要單獨(dú)設(shè)計(jì)專門的編解碼器。

只對(duì)視頻流的關(guān)鍵幀、格式頭信息等數(shù)據(jù)進(jìn)行加密會(huì)改變數(shù)據(jù)的格式,使得加密后的數(shù)據(jù)流在安全性、兼容性和可操作性上效能較差[9-12]。若要提高算法性能則可作為加密算法的一個(gè)組成部分,或與其他加密算法混合使用。

2 基于SM4的選擇性視頻加密算法

2.1 算法概述

本文利用國(guó)產(chǎn)SM4算法中的輸出反饋模式(Output Feedback,OFB)將分組密碼算法變成同步的流模式。首先使移位寄存器生成n比特的明文隨機(jī)數(shù)X,將其與塊加密器產(chǎn)生密鑰流進(jìn)行簡(jiǎn)單異或,得到工作密鑰K,利用工作密鑰K對(duì)視頻流關(guān)鍵數(shù)據(jù)使用SM4算法選擇性加密,同時(shí)將工作密鑰K左移N位進(jìn)行下一次異或,如此繼續(xù)。解密時(shí),產(chǎn)生相同的密鑰流對(duì)密文進(jìn)行解密得到明文流,逐一而論。

由于明文隨機(jī)數(shù)和工作密鑰只在最終的異或過(guò)程中使用,于是可以事先對(duì)輸入的隨機(jī)數(shù)X(見(jiàn)圖2)加密,最后將明文或工作密鑰進(jìn)行并行的異或加密,則可以利用輸入全部為0的密碼分組鏈接模式(Cipher Block Chaining,CBC)生成OFB模式的密鑰流。而密鑰流可以利用快速的CBC硬件實(shí)現(xiàn)來(lái)加速OFB模式的加密過(guò)程,因此,這種方法具有較好的實(shí)用性[13]。

通過(guò)以上理論基礎(chǔ)的分析及公式的推導(dǎo),利用國(guó)產(chǎn)SM4算法的強(qiáng)安全性和選擇性視頻加密算法的實(shí)用性,將國(guó)產(chǎn)SM4算法和選擇性視頻加密算法相結(jié)合,既滿足視頻加密的安全性又保證視頻傳輸?shù)膶?shí)時(shí)性,下文將此混合加密算法推研闡述并利用實(shí)驗(yàn)進(jìn)行研究驗(yàn)證。

2.2 算法步驟

2.2.1 輪函數(shù)

用Z e表示e比特的向量集,Z32中的元素稱為字,Z8中的元素稱為字節(jié),寄存器首先生成一個(gè)n比特的隨機(jī)數(shù)X,使得Z+X=MX=128比特,設(shè)明文輸入(X0,X1,X2,X3)∈(Z32)4,輪密鑰為rk∈Z32,輪函數(shù)F為:

合成置換:Z32,是一個(gè)可逆變換,由非線性變換τ和線性變換L復(fù)合而成,即T(·)=L(τ(·))。

非線性變換τ由4個(gè)并行的S盒置換構(gòu)成。每個(gè)S盒為固定的8 bit輸入8 bit輸出的置換,記為Sbox()。

設(shè)輸入為A(a0,a1,a2,a3)∈(Z8)4,輸出為B(b0,b1,b2,b3)∈ (Z8)4,則:

線性變換L的輸入是非線性變換τ的輸出。設(shè)輸入為B∈Z32,輸出為C∈Z32,則:

2.2.2 密鑰生成擴(kuò)展

首先隨機(jī)生成一個(gè)主密鑰,然后注入給加密方和解密方,根據(jù)本算法中的輪密鑰由事先注入的主密鑰通過(guò)密鑰擴(kuò)展算法生成:

加密密鑰:MK=(MK0,MK1,MK2,MK3),MKi∈Z32,i=0,1,2,3;

令Ki∈Z32,i=0,1,…,35,輪密鑰為rki∈Z32,i=0,1,…,31,輪密鑰由工作密鑰生成,輪密鑰生成方法為:

首先對(duì)加密密鑰進(jìn)行運(yùn)算,可得:

然后對(duì)i=0,1,2,…,31:

最后將所得到的密文X35,X34,X33,X32進(jìn)行相對(duì)應(yīng)的運(yùn)算,得到:Length=X35+X34+X33+X32=128bit[14],K為工作密鑰;

2.2.3 加/解密算法

設(shè)密文輸出(Y0,Y1,Y2,Y3)∈(Z32)4,輪密鑰 為rki∈Z32,i=0,1,2,…,31。 反 序 變 換R為R(A0,A1,A2,A3)=(A3,A2,A1,A0),Ai∈Z32,i=0,1,2,3。 由式(1)可知,首先執(zhí)行32次迭代運(yùn)算:

由式(1)、式(6)可得,最后一輪數(shù)據(jù)進(jìn)行反序變換并得到密文輸出:

解密算法與加密算法的結(jié)構(gòu)相同,只是輪密鑰的使用順序相反,解密輪密鑰是加密輪密鑰的逆序。

2.3 算法流程

由于加密明文為128 bit,由SM4算法流程可知,加密明文長(zhǎng)度=工作密鑰K的長(zhǎng)度Length=128 bit,將視頻信息的二進(jìn)制數(shù)據(jù)流分為N個(gè)128 bit的數(shù)列,如下形式:a1,a2,a3…a2n-1,a2n。

在每一個(gè)128 bit的數(shù)據(jù)流中選擇奇數(shù)列字節(jié)組成奇隊(duì)列,偶數(shù)列字節(jié)組成偶隊(duì)列;將奇數(shù)列的數(shù)據(jù)流進(jìn)行簡(jiǎn)單異或,得到密文z1,z2…zn;

使用上述算法流程運(yùn)算得到的工作密鑰K1由SM4算法對(duì)偶隊(duì)列的第1個(gè)128 bit數(shù)據(jù)a1進(jìn)行加密,可得到密文c1;對(duì)K再使用上述算法流程加密,得到一個(gè)新的工作密鑰K2;使用得到的工作密鑰K2對(duì)偶隊(duì)列的第2個(gè)128 bit數(shù)據(jù)a2進(jìn)行加密得到密文c2;以此類推,使用Kn對(duì)偶隊(duì)列的第n個(gè)128 bit數(shù)據(jù)an進(jìn)行加密得到密文cn,其中n最大值為N。則最終的密文數(shù)據(jù):

上述加密過(guò)程如圖2所示。使用以上算法流程對(duì)視頻流數(shù)據(jù)進(jìn)行加密,可根據(jù)視頻流數(shù)據(jù)的重要程度,對(duì)相關(guān)的數(shù)據(jù)信息進(jìn)行選擇性加密。如可對(duì)視頻流數(shù)據(jù)進(jìn)行逐幀加密,也可只加密所有格式頭信息,或者對(duì)數(shù)據(jù)中一些重要的關(guān)鍵信息進(jìn)行選擇性加密等。通過(guò)公式推研,此算法具有安全性較高、計(jì)算復(fù)雜度較低、壓縮比不變、數(shù)據(jù)可操作性等。

圖2 基于SM4的選擇性視頻加密算法流程

3 測(cè)試結(jié)果

性能測(cè)試實(shí)驗(yàn)在視頻參考軟件JSVM下進(jìn)行測(cè)試,硬件環(huán)境為配置Win7的操作系統(tǒng)、CPU為Intel Core i7-7200、8G內(nèi)存的PC機(jī)。本文采用標(biāo)準(zhǔn)序列作為測(cè)試序列,選取每個(gè)標(biāo)準(zhǔn)序列編碼的前50幀,編碼方案為第一幀為I幀,后面每一I幀與前一I幀之間相隔9個(gè)P幀或B幀,則每10幀為一序列,使用基于SM4的選擇性視頻加密算法對(duì)分組后的每一序列中的I幀進(jìn)行加密。對(duì)比視頻加密前后的安全性、壓縮比、計(jì)算復(fù)雜度和數(shù)據(jù)可操作性等方面,分析研究該視頻加密算法的性能[15]。

通過(guò)對(duì)表1的實(shí)驗(yàn)結(jié)果分析,由于該算法的主體使用SM4加密,而SM4算法采用32輪迭代結(jié)構(gòu),能夠抵抗差分攻擊、線性攻擊等攻擊手段,使得此視頻加密算法具有較高的安全性;而對(duì)壓縮后的數(shù)據(jù)進(jìn)行加密操作,能保持加密后數(shù)據(jù)量不變且壓縮比變化不大;并且對(duì)視頻數(shù)據(jù)的關(guān)鍵信息進(jìn)行選擇性加密后,使得計(jì)算復(fù)雜度減小,能夠保證序列的實(shí)時(shí)性與數(shù)據(jù)可操作性。

表1 視頻序列加密前后編碼時(shí)間、壓縮比對(duì)比

4 結(jié) 語(yǔ)

本文通過(guò)對(duì)網(wǎng)絡(luò)監(jiān)控系統(tǒng)泄露問(wèn)題的分析,結(jié)合現(xiàn)今視頻加密算法的研究成果,在國(guó)產(chǎn)SM4算法和選擇性視頻加密算法的基礎(chǔ)上提出基于SM4的選擇性視頻加密算法方案。實(shí)驗(yàn)結(jié)果表明,該視頻加密算法的加密實(shí)時(shí)性強(qiáng)、復(fù)雜度較低、安全保密性強(qiáng)、能滿足視頻安全實(shí)時(shí)傳輸?shù)囊螅?yōu)于單純國(guó)產(chǎn)SM4算法或選擇性視頻加密算法的視頻加密性能。

猜你喜歡
視頻流明文加密算法
邊緣實(shí)時(shí)視頻流分析系統(tǒng)配置動(dòng)態(tài)調(diào)整算法研究
基于視頻流傳輸中的擁塞控制研究
奇怪的處罰
美國(guó)視頻流市場(chǎng)首現(xiàn)飽和征兆
奇怪的處罰
基于小波變換和混沌映射的圖像加密算法
四部委明文反對(duì)垃圾焚燒低價(jià)競(jìng)爭(zhēng)
Hill加密算法的改進(jìn)
對(duì)稱加密算法RC5的架構(gòu)設(shè)計(jì)與電路實(shí)現(xiàn)
罗江县| 榆社县| 讷河市| 永泰县| 耿马| 内黄县| 临汾市| 鲁山县| 府谷县| 东宁县| 峡江县| 东方市| 周至县| 河北区| 金山区| 凤凰县| 富平县| 仲巴县| 巴楚县| 会泽县| 上思县| 洪湖市| 孟州市| 沈阳市| 白水县| 积石山| 马山县| 林西县| 固原市| 茌平县| 伊宁县| 桦南县| 黄梅县| 肃北| 通州区| 宜丰县| 湘乡市| 汶上县| 宝清县| 河曲县| 沙河市|