專利名稱:一種視頻數(shù)據(jù)的加密方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻數(shù)據(jù)的處理領(lǐng)域,特別是涉及一種快速、安全的視頻加密 的方法和裝置。
背景技術(shù):
隨著視頻壓縮技術(shù)與網(wǎng)絡(luò)技術(shù)的顯著發(fā)展,如視頻點(diǎn)播,視頻會(huì)議,遠(yuǎn)程 視頻監(jiān)控,以及多媒體短信等網(wǎng)絡(luò)多媒體業(yè)務(wù)日益普及,視頻數(shù)據(jù)處理效果的 優(yōu)劣影響程度越來越廣。其中,信息安全是多媒體業(yè)務(wù)的一個(gè)重要組成部分, 因此視頻加密成為當(dāng)今多媒體業(yè)務(wù)中 一個(gè)關(guān)鍵性的研究課題。
視頻加密,不同于傳統(tǒng)的密碼學(xué)密鑰加密思想。面對視頻的海量數(shù)據(jù),使
用傳統(tǒng)的RSA (非對稱加密算法,RSA分別是Rivest, Shamir, Adelman三個(gè) 發(fā)明人的名字單詞首字母的縮寫)、DES (Data Encryption Standard、數(shù)據(jù)加密 標(biāo)準(zhǔn))、以及AES ( The Advanced Encryption Standard)等算法進(jìn)行完全加密的 方案,顯然無法滿足視頻實(shí)時(shí)應(yīng)用的需求。
隨著多媒體業(yè)務(wù)的不斷發(fā)展,視頻業(yè)務(wù)終端向低能耗、低存儲、小型化發(fā) 展。大多數(shù)多^某體業(yè)務(wù)中的視頻流僅要求確保其安全性在一個(gè)限定的短暫的時(shí) 間,而不是作為長期的機(jī)密數(shù)據(jù)存儲?;诩用芩惴ǖ挠行栽瓌t(一)破 解的代價(jià)超過了加密信息本身的價(jià)值;(二)破解的時(shí)間超過了加密信息本身 的有效期,大多數(shù)的多^某體業(yè)務(wù)是不必利用大量的計(jì)算資源與時(shí)間對其進(jìn)行加 密。因此,快速高效且安全度較高的加密算法是多媒體業(yè)務(wù)的首選算法。
常見的選擇性視頻加密方法,可以分為四種(一)僅對I幀(基本幀)的加 密算法;(二)加密運(yùn)動(dòng)矢量算法;(三)DCT塊內(nèi)系數(shù)分層加密算法,DCT 即離散余弦變換Discrete Cosine Transform,簡稱DCT變換;(四)僅加密頭信 息的算法。此類的加密方法雖然可以獲得較快的加密速度,但是其安全性比較 低。
現(xiàn)有技術(shù)中還提出了一種熵編碼加密思路,這種加密算法不增加計(jì)算量, 基本不改變壓縮率,但是其密鑰(加密后的碼表)太長,安全性不夠高。
此外, 一些基于置亂思想的加密方法也相繼被引入到視頻加密方案,如宏
塊置亂算法。常見的宏塊置亂算法,由于其置亂矩陣針對的序列都是原始的空 間位置序列,所以雖然速度較快,安全性也可以接受;但是其加密的主觀效果 可能出現(xiàn)局部失效,即信息可能在局部出現(xiàn)其置亂的程度不夠,其中,加密的 主觀效果一般指的是對圖像的信息的主觀可識別度。
并且,常見的宏塊置亂算法針對已知明文攻擊安全性不高。已知明文的攻
擊,(known-plaintext attack):即密碼分析者不僅可以得到一些消息的密文, 而且也知道這些消息的明文。分析者的任務(wù)就是用加密信息推出用來加密的密 鑰或者導(dǎo)出一個(gè)算法,此算法可以對用同一密鑰加密的任何新的消息進(jìn)行解 密。而對于普通的宏塊置亂算法,在得到密文與相對應(yīng)的明文后,其置亂矩陣 便可以得到。依據(jù)獲得的置亂矩陣,可以對加密算法進(jìn)行進(jìn)一步解析,并且可 以直接用于對其他密文的解析。
總之,需要本領(lǐng)域技術(shù)人員迫切解決的一個(gè)技術(shù)問題就是如何能夠提出 一種安全性更高、并且具有良好實(shí)時(shí)性的視頻加密技術(shù)方案。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種視頻數(shù)據(jù)加密的方法和裝置,能夠 獲得較高的加密效果,同時(shí)具有良好的實(shí)時(shí)性。
為了解決上述問題,本發(fā)明公開了一種視頻數(shù)據(jù)加密的方法,包括提取 視頻數(shù)據(jù)的宏塊信息;生成初級置亂矩陣;依據(jù)初級置亂矩陣對宏塊信息表進(jìn) 行置亂;將初級置亂矩陣的置亂結(jié)果劃分為多個(gè)區(qū)域,并針對各區(qū)域確定相應(yīng) 的區(qū)域置亂規(guī)則;依據(jù)各區(qū)域內(nèi)的宏塊按其編碼信息的排序結(jié)果及相應(yīng)的區(qū)域 置亂規(guī)則,得到針對整個(gè)視頻數(shù)據(jù)的二次置亂矩陣;依據(jù)所述二次置亂矩陣, 對初級置亂矩陣的置亂結(jié)果再次進(jìn)行置亂;構(gòu)建碼流數(shù)據(jù),得到加密結(jié)果。
如果所述初級置亂矩陣為基于偽隨機(jī)序列的隨機(jī)置亂矩陣;則區(qū)域劃分 后,部分區(qū)域采用幻方矩陣作為區(qū)域置亂規(guī)則,另一部分區(qū)域采用保留初次宏 塊置亂的結(jié)果作為區(qū)域置亂規(guī)則;或者,部分區(qū)域采用幻方矩陣作為區(qū)域置亂 規(guī)則,另 一部分區(qū)域采用基于偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則; 或者,所有區(qū)域都采用于偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則。
如果所述初級置亂矩陣為基于騎士巡游的置換矩陣;則區(qū)域劃分后,部 分區(qū)域采用幻方矩陣作為區(qū)域置亂規(guī)則,另一部分區(qū)域采用保留初次宏塊置亂 的結(jié)果作為區(qū)域置亂規(guī)則;或者,部分區(qū)域采用幻方矩陣作為區(qū)域置亂規(guī)則,
另一部分區(qū)域采用基于偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則;或者, 所有區(qū)域都采用于偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則。
優(yōu)選的,采用高級加密標(biāo)準(zhǔn)AES算法生成流密碼,作為偽隨^L序列。 優(yōu)選的,所述視頻數(shù)據(jù)為中國數(shù)字音視頻編解碼標(biāo)準(zhǔn)AVS。 依據(jù)本發(fā)明的另一實(shí)施例,公開了一種視頻數(shù)據(jù)加密的裝置,包括 提取模塊,用于提取視頻數(shù)據(jù)的宏塊信息; 初級置亂矩陣生成模塊,用于生成初級置亂矩陣; 初次置亂模塊,用于依據(jù)初級置亂矩陣對所述宏塊信息進(jìn)行置亂; 區(qū)域劃分及規(guī)定確定模塊,用于將初級置亂矩陣的置亂結(jié)果劃分為多個(gè)區(qū) 域,并針對各區(qū)域確定相應(yīng)的區(qū)域置亂規(guī)則;
二次置亂矩陣生成模塊,用于依據(jù)各區(qū)域內(nèi)的宏塊按其編碼信息的排序結(jié) 果及相應(yīng)的區(qū)域置亂規(guī)則,得到針對整個(gè)視頻數(shù)據(jù)的二次置亂矩陣;
二次置亂模塊,用于依據(jù)所述二次置亂矩陣,對初級置亂矩陣的置亂結(jié)果 再次進(jìn)行置亂;
結(jié)果輸出模塊,用于構(gòu)建碼流數(shù)據(jù),得到加密結(jié)果。 如果所述初級置亂矩陣為基于偽隨機(jī)序列的隨機(jī)置亂矩陣;則區(qū)域劃分 后,部分區(qū)域采用幻方矩陣作為區(qū)域置亂規(guī)則,另一部分區(qū)域采用保留初次宏 塊置亂的結(jié)果作為區(qū)域置亂規(guī)則;或者,部分區(qū)域采用幻方矩陣作為區(qū)域置亂 規(guī)則,另一部分區(qū)域采用基于偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則; 或者,所有區(qū)域都采用于偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則。
如果所述初級置亂矩陣為基于騎士巡游的置換矩陣;則區(qū)域劃分后,部 分區(qū)域采用幻方矩陣作為區(qū)域置亂失見則,另一部分區(qū)域采用保留初次宏塊置亂 的結(jié)果作為區(qū)域置亂規(guī)則;或者,部分區(qū)域采用幻方矩陣作為區(qū)域置亂規(guī)則, 另 一部分區(qū)域釆用基于偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則;或者, 所有區(qū)域都采用于偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則。
優(yōu)選的,采用高級加密標(biāo)準(zhǔn)AES算法生成流密碼,作為偽隨4幾序列。 優(yōu)選的,所述視頻數(shù)據(jù)為中國數(shù)字音視頻編解碼標(biāo)準(zhǔn)AVS。 與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)
本發(fā)明所提出的技術(shù)方案,由于在加密過程中分別依據(jù)空間信息以及宏塊 的編碼信息的排序進(jìn)行二次加密,減小了相鄰模塊依然相鄰的可能性,能夠確
保獲得較好的加密主觀效果,提高了加密效果的安全性;并且,在已知明文的 攻擊下,由于本發(fā)明的二次加密矩陣與其宏塊編碼信息相關(guān),才艮據(jù)其獲得的置 亂矩陣無法獲得其使用的偽隨機(jī)序列與幻方矩陣,也無法直接用于解析其他的 密文,因此對于已知明文攻擊無效,安全性更高。
另外,本發(fā)明只是改變宏塊編碼數(shù)據(jù)在整個(gè)碼流中的位置,不改變宏塊編 碼的方式及其編碼系數(shù),因此不增加碼流;不經(jīng)過解碼與編碼過程,僅僅是碼 流的拷貝與置亂矩陣的生成,因此計(jì)算速度快,占用的計(jì)算資源較低。
圖1是本發(fā)明一種視頻數(shù)據(jù)加密的方法實(shí)施例的步驟流程圖; 圖2是采用AES生成流密碼的工作原理圖; 圖3是一種區(qū)域切分的示意圖4是本發(fā)明一種視頻數(shù)據(jù)加密的裝置實(shí)施例的結(jié)構(gòu)框圖。
具體實(shí)施例方式
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明作進(jìn)一步詳細(xì)的說明。
本發(fā)明可用于眾多通用或?qū)S玫挠?jì)算系統(tǒng)環(huán)境或配置中。例如個(gè)人計(jì)算 機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基 于微處理器的系統(tǒng)、置頂盒、可編程的消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、 大型計(jì)算機(jī)、包括以上任何系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。
本發(fā)明可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例 如程序模塊。 一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的 例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本 發(fā)明,在這些分布式計(jì)算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來 執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地 和遠(yuǎn)程計(jì)算機(jī)存儲介質(zhì)中。
本發(fā)明優(yōu)選適用的應(yīng)用場景是用于AVS ( Audio Video Standard)視頻數(shù)據(jù)
的加密過程;AVS —般解釋為中國數(shù)字音視頻編解碼標(biāo)準(zhǔn)。因此,后面的實(shí) 施例中一般都采用AVS為例進(jìn)行說明。當(dāng)然,本發(fā)明還可以應(yīng)用于其他可能 的視頻格式,例如,R264等。H.264是ITU-T的視頻編碼專家組(VCEG) 和ISO/IEC的活動(dòng)圖像編碼專家組(MPEG)的聯(lián)合視頻組(JVT: joint videoteam)開發(fā)的一個(gè)新的數(shù)字視頻編碼標(biāo)準(zhǔn)。
AVS視頻標(biāo)準(zhǔn)是基于我國自主創(chuàng)新技術(shù)和國際公開技術(shù)所構(gòu)建的標(biāo)準(zhǔn),是 將來國內(nèi)應(yīng)用最廣泛的視頻格式,其主要面向高清晰度和高質(zhì)量數(shù)字電視廣 播、網(wǎng)絡(luò)電視、數(shù)字存儲媒體和其他相關(guān)應(yīng)用,其特點(diǎn)是編碼效率高,圖像清 晰度高,算法復(fù)雜度略高于MPEG-2。這一標(biāo)準(zhǔn)的出發(fā)點(diǎn)就是在于保持視覺質(zhì) 量不變的情況下盡量提高視頻壓縮比,以此滿足網(wǎng)絡(luò)視頻以及視頻存儲等應(yīng)用 場景的需要。
相對于早期的視頻編碼,AVS采用了更多的幀內(nèi)編碼模式與幀間編碼模 式,即再編碼過程中最大可能的利用空域與時(shí)域的鄰域信息;從而實(shí)現(xiàn)較高的 壓縮比,但與此同時(shí),它對碼流的變化會(huì)更敏感,因此僅依靠宏塊置亂,AVS 碼流便能夠得到足夠的主觀加密效果。本發(fā)明針對現(xiàn)有的宏塊置亂技術(shù)進(jìn)行改 進(jìn),將二次置亂的概念以及基于編碼信息排序的置亂引入到視頻加密中,實(shí)現(xiàn) 了 一種快速且高效的AVS視頻加密方案。
作為AVS應(yīng)用的一個(gè)非常關(guān)鍵的技術(shù),AVS視頻加密必須考慮到以下的 五點(diǎn)(一)為了保持AVS高壓縮比的特性,AVS視頻加密應(yīng)該盡量減少碼流 的增加;(二)考慮到AVS的自身計(jì)算復(fù)雜度以及其實(shí)時(shí)性應(yīng)用場景的需要, AVS視頻加密應(yīng)該盡量減少對計(jì)算資源的占用,盡量減少由加密導(dǎo)致的時(shí)延;
(三) 為了保持AVS的高清特性,AVS視頻加密應(yīng)該盡量避免降低圖像質(zhì)量;
(四) 為了適用于各種應(yīng)用場景,AVS視頻加密應(yīng)該對其他視頻處理算法具 備魯棒性;(五)為了保持碼流的通用性,視頻加密算法應(yīng)該盡量保留AVS碼 流結(jié)構(gòu)。而本發(fā)明的提出在一定程度上可以較好的滿足上述需求適用性強(qiáng)、 滿足市場應(yīng)用需求、主客觀加密效果顯著并具有良好的實(shí)時(shí)性。
參照圖1,示出了本發(fā)明一種視頻數(shù)據(jù)加密的方法實(shí)施例,包括 步驟IOI、提取視頻數(shù)據(jù)的宏塊信息;
以AVS為例,只要依據(jù)AVS碼流進(jìn)行語法分析即可,無須經(jīng)過DCT系
數(shù)的熵解碼過程,筒單易行。因?yàn)楸景l(fā)明所基于的原理是宏塊置亂,而宏塊置 亂只是改變宏塊編碼數(shù)據(jù)在整個(gè)碼流中的位置,不改變宏塊編碼的方式及其編 碼系數(shù),其加密過程只是以宏塊為單位的碼流的置換。
步驟101的輸入是AVS碼流,其輸出是AVS宏塊信息表;從碼流的一幀 開始部分到結(jié)束部分,逐個(gè)獲取宏塊的起點(diǎn)和長度信息,利用結(jié)構(gòu)體保存信息, 從而組成一幀的宏塊信息表。例如,在本實(shí)施例中,可以定義結(jié)構(gòu)體中包含兩 個(gè)變量宏塊起點(diǎn)相對于緩沖區(qū)的偏移比特位startAdd,宏塊數(shù)據(jù)的比特長度 blockLen。其中,信息表一詞僅僅是為了說明存儲宏塊信息的一種數(shù)據(jù)結(jié)構(gòu)形 式,當(dāng)然,也可以采用其他的結(jié)構(gòu)形式。
步驟102、生成初級置亂矩陣;
所述初級置亂矩陣可以為基于偽隨機(jī)序列的隨才幾置亂矩陣;所述初級置 亂矩陣也可以為基于巡游騎士的置換矩陣等。
上述的隨機(jī)置亂矩陣的生成,需要存在一個(gè)偽隨機(jī)序列。例如,針對每一 幀的視頻數(shù)據(jù),隨機(jī)置亂矩陣需要引入該偽隨機(jī)序列中的一個(gè)隨機(jī)數(shù)計(jì)算得到 最后的置亂矩陣。下面簡單介紹一種優(yōu)選的偽隨機(jī)序列的生成過程,以及相應(yīng) 的初次置亂矩陣的生成。
AES是英文The Advanced Encryption Standard的縮寫, 一般翻譯為高級力口 密標(biāo)準(zhǔn),是美國NIST在2001年制定的數(shù)據(jù)加密算法,近年來經(jīng)核準(zhǔn)最為安 全的加密算法之一,。如果利用其密碼反饋模式(CFB)或者輸出反饋模式 (OFB), AES可以作為流密碼使用。優(yōu)選的,可以采用AES的OFB模式, 其無須要求輸出密文為分組長度的整數(shù)倍,且可以實(shí)時(shí)操作。以128位最小分 組長度的OFB模式為例,如圖2所示,其工作原理如下
假設(shè)要求輸出的單元大小為S位。加密函數(shù)的輸入是128位的移位寄存器, 它的值是初始矢量V。加密函數(shù)首先使用密鑰K對初始矢量V進(jìn)行128位的 AES加密,然后將密文輸出的高S位M1作為流密碼輸出,同時(shí)將128位移位 寄存器左移S位,把M1填入移位寄存器的最右邊的S位。在下一次密文輸出, 依據(jù)要求輸出的單元大小,重復(fù)上述步驟。
由于AES的OFB模式輸出的流密碼具有良好的隨機(jī)特性,因?yàn)榭梢詫⑵?流密碼作為偽隨機(jī)序列使用。流密碼,即一段具有隨機(jī)特性的數(shù)據(jù)流,每次取
出一個(gè)數(shù)后,取數(shù)的指針后移。對于初次置亂矩陣的生成過程,流密碼可以看
作一個(gè)足夠長的數(shù)組,類似于{12, 32,42, 11,54, 19,......},取出一個(gè)數(shù)以后,
數(shù)組的起始點(diǎn)后移。
下面以步驟的形式列出了一個(gè)宏塊總數(shù)為M的初級置換矩陣的生成過程 例子
1) 、初始化一個(gè)數(shù)組IN[M],使其按照1 M的數(shù)值順序排列,初始化一個(gè) 數(shù)組OUT[M],使其指針P指向第一個(gè)元素,初始化一個(gè)變量K,表示當(dāng)前IN 數(shù)組內(nèi)的未拷貝的元素個(gè)數(shù),初始值為M;
2) 、利用流密碼產(chǎn)生的一個(gè)隨機(jī)數(shù)對K進(jìn)行取余數(shù)運(yùn)算,即產(chǎn)生一個(gè)0 K 的隨機(jī)數(shù)N;
3) 、從IN數(shù)組中取出第N個(gè)元素,賦值給指針P所指向的元素;
4) 、把IN中第N個(gè)后的所有元素向前移動(dòng)一個(gè)單元,K自減一,P指向 下一個(gè)元素;
5) 、如果指針P在數(shù)組OUT的范圍內(nèi),則轉(zhuǎn)到第2)步;
6) 、算法結(jié)束。此時(shí),數(shù)組OUT內(nèi)為1 M的數(shù)值隨機(jī)排列,即構(gòu)成隨機(jī) 置換矩陣。
對于流密碼的生成,也可以通過其他方式,如混沌序列、DES等等。當(dāng) 然,混沌序列、DES與AES相比,其安全性要略低一些。
步驟103、依據(jù)初級置亂矩陣對所述宏塊信息進(jìn)行置亂;
步驟104、將初級置亂矩陣的置亂結(jié)果劃分為多個(gè)區(qū)域,并針對各區(qū)域確 定相應(yīng)的區(qū)域置亂規(guī)則;
區(qū)域劃分的策略,本發(fā)明并不需要加以限定,只要?jiǎng)澐殖蔀槎鄠€(gè)區(qū)域即可, 例如,可以預(yù)置多個(gè)劃分策略,然后依據(jù)AES的流密碼在此多個(gè)劃分策略中 隨機(jī)選擇;當(dāng)然,也可以預(yù)置一個(gè)隨機(jī)劃分的算法,實(shí)時(shí)完成隨機(jī)切分即可。
在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,初次置亂矩陣采用基于偽隨機(jī)序列的隨機(jī) 置亂矩陣,而針對各區(qū)域的區(qū)域置亂規(guī)則主要采用幻方矩陣,可以通過區(qū)域劃 分,采用后續(xù)的宏塊信息重新排序來掩蓋前期的偽隨機(jī)序列在空間上的分布特 性。當(dāng)然,可以依據(jù)AES的流密碼生成針對一區(qū)域的幻方矩陣;也可以依據(jù) 按照其他方式得到的隨機(jī)數(shù)完成幻方矩陣的生成,即針對初級置亂矩陣設(shè)置一
偽隨機(jī)序列,針對二次置亂矩陣設(shè)置另 一偽隨機(jī)序列。
其中,基于偽隨機(jī)序列的隨機(jī)置亂矩陣是宏塊置亂中比較常用的方式,而 引入幻方矩陣,則是因?yàn)榛梅骄仃嚲哂辛己玫臄U(kuò)散性以及簡單的計(jì)算量需求; 在幻方矩陣的每一行與每一列以及對角線方向,所有元素的合值是相同的,因 此其擴(kuò)散性分布均勻。
幻方矩陣具有兩個(gè)特征(一)n階的幻方矩陣的每一列每一行以及兩個(gè) 對角線的所有元素的合值等于一個(gè)常數(shù)c; (二) 一次幻方矩陣的置換過程, 即將矩陣中元素1移至2的位置,...,將元素m移至m+l的位置,...,最后 一個(gè)元素移至1的位置,如果幻方矩陣經(jīng)過這樣重復(fù)置換^步,那么其置換 結(jié)果一定等于它自己。由以上可知,n階的幻方矩陣之間的最大置換次數(shù)是 2/2 ,因此在實(shí)際運(yùn)算過程中初始化階段按照一定置換步長間隔的同階的置換 矩陣就已經(jīng)預(yù)先產(chǎn)生。在后續(xù)運(yùn)算中,同階的其它矩陣則可以很容易地由這些 矩陣經(jīng)過少量的置換次數(shù)獲得。例如,生成幻方矩陣的置換步長是由AES的 流密碼決定,其矩陣的生成是通過與之間隔距離最近的預(yù)先產(chǎn)生的矩陣置換得 到。
當(dāng)然,本發(fā)明并不需要對初級置亂矩陣的具體方式進(jìn)行限定,上面列出的 兩類矩陣僅僅是為了方便說明本發(fā)明而已,本領(lǐng)域技術(shù)人員還可以根據(jù)需要引 入其他可行的算法。
實(shí)際上,由于本發(fā)明的第二次置換是對第一次的加密的一種保護(hù),使第一 次的加密算法在已知明文的攻擊下依然保持其安全性。如果第一次和第二次的 加密的算法的安全性同時(shí)都太低,那么難以保證二次置換的安全度。優(yōu)選的, 由于第二次置換的加密空間小于第一次置換的空間,因此本發(fā)明可以在第一次 置亂采用一種安全性較高的算法,例如,基于偽隨機(jī)序列的置換矩陣,同樣的 還可以采用基于騎士巡游的置換矩陣;而第二次加密可采用的算法很多,其需 要的安全性不如前者那么高,如基于幻方矩陣、基于混沌序列、基于偽隨機(jī)序 列、基于騎士巡游等等。
由于幻方矩陣包含元素的個(gè)數(shù)SIZE為某個(gè)整數(shù)N的平方,因此為了利用 幻方矩陣的空間特性,區(qū)域劃分的尺寸必須接近正方形。參見圖3,以CIF為 例,水平方向宏塊總數(shù)22,垂直方向宏塊總數(shù)18,提供了五種劃分模式作為
參考;區(qū)域劃分時(shí),依據(jù)AES的流密碼在用戶自制定的幾種空間塊劃分模式 中進(jìn)行選擇即可。
由圖3可以看出,在一些情況下,可以恰好切分成多個(gè)滿足幻方矩陣需要 的區(qū)域,每個(gè)區(qū)域?qū)?yīng)一個(gè)幻方矩陣,但是在圖3的情況下,就可能產(chǎn)生一些 不滿足幻方矩陣需要的區(qū)域,例如,圖3中的邊緣區(qū)域(與所需的正方形相差 較遠(yuǎn))。針對這些區(qū)域,可以直接確定采用保留初次宏塊置亂的結(jié)果作為區(qū)域 置亂規(guī)則,由于這些區(qū)域已經(jīng)經(jīng)過了初次宏塊置亂,所以并不會(huì)導(dǎo)致加密效果 的下降。
步驟105、依據(jù)各區(qū)域內(nèi)的宏塊按其編碼信息的排序結(jié)果及相應(yīng)的區(qū)域置 亂規(guī)則,得到針對整個(gè)視頻數(shù)據(jù)的二次置亂矩陣;
區(qū)域內(nèi)宏塊編碼信息排序,優(yōu)選的,可以僅對正方形區(qū)域內(nèi)的宏塊集合依 據(jù)其編碼信息的大小進(jìn)行排序,其序號與后續(xù)的幻方矩陣元素對應(yīng)。宏塊的編
碼信息,包括編碼長度、宏塊模式、預(yù)測模式、編碼殘差的DC系數(shù)與AC系 數(shù)等等??紤]到簡化加密過程,本實(shí)施例中僅采用宏塊的編碼長度作為用于排 序的編碼信息;當(dāng)然,也可以采用有多個(gè)編碼信息參數(shù)參與的復(fù)雜排序策略。
如前所述,優(yōu)選的情況是,步驟105得到的二次置換矩陣保留了初級置換 矩陣在幻方矩陣區(qū)域以外的部分。在幻方矩陣區(qū)域內(nèi)的部分,宏塊的位置按照 其編碼信息排序后的序號及其在幻方矩陣中的位置需要進(jìn)行再次置換。
步驟106、依據(jù)所述二次置亂矩陣,對初級置亂矩陣的置亂結(jié)果再次進(jìn)行 置亂;
由于幻方矩陣區(qū)間的宏塊的集合取決于前期的偽隨機(jī)序列的空間集合分 布,但是通過區(qū)域劃分以及重新排序,使得其排序結(jié)果已經(jīng)將前者的空間排列 順序完全打亂,即前期的偽隨機(jī)序列使得幻方矩陣無法通過圖像的相關(guān)性進(jìn)行 推測,而基于宏塊編碼信息排序的幻方矩陣則完全抹去了前期的偽隨機(jī)序列的 元素排列信息。
在唯密文的攻擊下,攻擊者無法獲取到偽隨機(jī)序列的空間集合分布,因此 只能進(jìn)行窮舉解密。QCIF圖像的宏塊總數(shù)是99, CIF圖像的宏塊總數(shù)是396, 而99的階乘就大約^'56次,所以唯密文攻擊對本文的加密算法無效。其中, 唯密文攻擊(ciphertext-only attack)是指密碼分析者有一些消息密文,這些
消息都用同一加密算法加密。密碼分析者的任務(wù)是恢復(fù)盡可能多的明文,或者 最好是能推算出加密消息的密鑰來,以便可采用相同的密鑰解算出其它被力口密 的消息。
在已知明文的攻擊下,攻擊者僅能獲取到偽隨機(jī)序列的空間集合分布。但 是通過獲取的偽隨機(jī)序列的空間集合分布來推斷出偽隨機(jī)序列的元素排列順 序,顯然是不成立的,因此已知明文攻擊對本文的加密算法無效。
步驟107、構(gòu)建碼流數(shù)據(jù),得到加密結(jié)果。
步驟106基于二次置換矩陣對宏塊信息表的元素進(jìn)行重新排列,生成新的 宏塊信息表,然后步驟107依據(jù)新宏塊信息表的進(jìn)行宏塊數(shù)據(jù)的位置移動(dòng),重 新構(gòu)建碼流lt據(jù),即得到加密后的AVS碼流。
圖1所示的實(shí)施例的核心構(gòu)思在于先由偽隨機(jī)序列生成初級置亂矩陣, 然后將初級置亂矩陣的結(jié)果劃分為多個(gè)區(qū)域,對區(qū)域內(nèi)的宏塊依據(jù)其編碼信息 再次排序,依據(jù)每個(gè)區(qū)域各自生成的不同的幻方矩陣按照宏塊編碼信息排序后 的宏塊組進(jìn)行空間置亂。圖1所示的實(shí)施例引入宏塊編碼信息的排列,使得加 密的置換矩陣的構(gòu)建不僅依賴于隨機(jī)序列,而且與待加密的碼流的編碼信息也 產(chǎn)生關(guān)聯(lián),從而提高了加密的安全性。此外,由于圖像的同一紋理特征的區(qū)域 的編碼信息是接近的,因此,如果在空間上將編碼信息排序接近的宏塊進(jìn)行擴(kuò)
散,則意味將圖像中屬于同一紋理區(qū)域的宏塊進(jìn)行擴(kuò)散,從而提高加密的主觀 效果。
圖l所示的實(shí)施例到此,就完成了針對一幀視頻數(shù)據(jù)的加密過程,如果存 在下一幀,則繼續(xù)針對下一幀視頻數(shù)據(jù)進(jìn)行加密,即可完成所有視頻數(shù)據(jù)的加 密。
優(yōu)選的,針對每一幀視頻數(shù)據(jù)都可以依據(jù)隨機(jī)數(shù)實(shí)時(shí)生成一初次置亂矩 陣,實(shí)時(shí)確定區(qū)域劃分方式,實(shí)時(shí)生成針對各區(qū)域的幻方矩陣或者隨機(jī)置亂矩 陣。當(dāng)然,在另一種實(shí)施情況下,可以采用異步的方式,例如,事先生成一序 列的隨機(jī)置亂矩陣和幻方矩陣,針對每一幀視頻數(shù)據(jù)選擇應(yīng)用即可,不需要實(shí) 時(shí)計(jì)算過程,可以進(jìn)一步提高實(shí)時(shí)效果。
實(shí)際上,在本發(fā)明進(jìn)行視頻加密的典型步驟中,并不需要限定初次置亂矩 陣的具體方式,也不需要限定區(qū)域劃分的具體方式,也不需要限定區(qū)域置亂規(guī)
則是如何確定以及具體的規(guī)則方式;當(dāng)然,為了達(dá)到較高的安全度,需要對初
級加密與第二次加密的算法的安全性有一定的要求。
在前面的實(shí)施例中,優(yōu)選的,初次置亂矩陣采用的是基于偽隨機(jī)序列的置 亂矩陣,針對區(qū)域劃分結(jié)果, 一部分區(qū)域采用的區(qū)域置亂規(guī)則為幻方矩陣,而 另一部分區(qū)域采用的是保留初次宏塊置亂的結(jié)果的方式。當(dāng)然,如果劃分后的 區(qū)域都恰好可以應(yīng)用幻方矩陣,則也可以針對劃分后的所有區(qū)域都采用幻方矩
陣作為區(qū)域置亂規(guī)則。例如,對于劃分出去的邊長大于3的正方形區(qū)域,采用
幻方矩陣與區(qū)域內(nèi)的宏塊編碼信息排序結(jié)果進(jìn)行第二次置亂;對于其他區(qū)域,
保留其初級置換矩陣的結(jié)果。
在本發(fā)明另 一優(yōu)選實(shí)施例中,初次置亂矩陣可以釆用基于偽隨機(jī)序列的置 亂矩陣或者其他安全性較高的算法,針對區(qū)域劃分結(jié)果, 一部分區(qū)域采用幻方 矩陣作為區(qū)域置亂規(guī)則,即二次加密規(guī)則,而另一部分不適于應(yīng)用幻方矩陣的
區(qū)域,則采用基于偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則,因?yàn)殡S機(jī)置 亂矩陣對于區(qū)域的形狀沒有特殊的要求。
在本發(fā)明另 一優(yōu)選實(shí)施例中,初次置亂矩陣可以釆用基于偽隨機(jī)序列的置 亂矩陣,針對區(qū)域劃分結(jié)果,所有區(qū)域都采用于偽隨機(jī)序列的隨機(jī)置亂矩陣作 為區(qū)域置亂規(guī)則。
綜上所述,對于各區(qū)域所采用的二次加密算法和分布方式,其實(shí)現(xiàn)方式非 常多,本發(fā)明并不需要加以限定,上面僅僅是一些舉例而已。
參照圖4,示出了一種視頻數(shù)據(jù)加密的裝置實(shí)施例,包括 提取模塊401,用于提取視頻數(shù)據(jù)的宏塊信息;優(yōu)選的,所述視頻數(shù)據(jù)為
中國數(shù)字音視頻編解碼標(biāo)準(zhǔn)AVS;
初級置亂矩陣生成;f莫塊402,用于生成初級置亂矩陣;
初次置亂模塊403,用于依據(jù)初級置亂矩陣對所述宏塊信息進(jìn)行置亂;
區(qū)域劃分及規(guī)定確定模塊404,用于將初級置亂矩陣的置亂結(jié)果劃分為多
個(gè)區(qū)域,并針對各區(qū)域確定相應(yīng)的區(qū)域置亂規(guī)則;
二次置亂矩陣生成模塊405,用于依據(jù)各區(qū)域內(nèi)的宏塊按其編碼信息的排
序結(jié)果及相應(yīng)的區(qū)域置亂規(guī)則,得到針對整個(gè)視頻數(shù)據(jù)的二次置亂矩陣;
二次置亂模塊406,用于依據(jù)所述二次置亂矩陣,對初級置亂矩陣的置亂
結(jié)果再次進(jìn)行置亂;
結(jié)果輸出模塊407,用于構(gòu)建碼流數(shù)據(jù),得到加密結(jié)果。
在本發(fā)明的一實(shí)施例中,所述初級置亂矩陣為基于偽隨機(jī)序列的隨機(jī)置 亂矩陣;則區(qū)域劃分后的區(qū)域置亂規(guī)則可以為下面三種方式中的任一種部分 區(qū)域采用幻方矩陣作為區(qū)域置亂規(guī)則,另 一部分區(qū)域釆用保留初次宏塊置亂的 結(jié)果作為區(qū)域置亂規(guī)則;或者,部分區(qū)域采用幻方矩陣作為區(qū)域置亂規(guī)則,另 一部分區(qū)域采用基于偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則;或者,所 有區(qū)域都采用于偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則。
在本發(fā)明的一實(shí)施例中,所述初級置亂矩陣為基于騎士巡游的置換矩陣; 則區(qū)域劃分后的區(qū)域置亂規(guī)則可以為下面三種方式中的任一種部分區(qū)域采用 幻方矩陣作為區(qū)域置亂規(guī)則,另 一部分區(qū)域采用保留初次宏塊置亂的結(jié)果作為 區(qū)域置亂規(guī)則;或者,部分區(qū)域采用幻方矩陣作為區(qū)域置亂規(guī)則,另一部分區(qū) 域采用基于偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則;或者,所有區(qū)域都 采用于偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則。
對于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動(dòng)作 組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制, 因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技 術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng) 作和模塊并不一定是本發(fā)明所必須的。
本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的 都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即 可。對于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,并且基于與方法步 驟——對應(yīng)的虛擬模塊的形式進(jìn)行描述,所以描述的比較簡單,相關(guān)之處參見 方法實(shí)施例的部分說明即可。
以上對本發(fā)明所提供的一種視頻數(shù)據(jù)的加密方法和裝置,進(jìn)行了詳細(xì)介
例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的 一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變 之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1、一種視頻數(shù)據(jù)加密的方法,其特征在于,包括提取視頻數(shù)據(jù)的宏塊信息;生成初級置亂矩陣;依據(jù)初級置亂矩陣對宏塊信息表進(jìn)行置亂;將初級置亂矩陣的置亂結(jié)果劃分為多個(gè)區(qū)域,并針對各區(qū)域確定相應(yīng)的區(qū)域置亂規(guī)則;依據(jù)各區(qū)域內(nèi)的宏塊按其編碼信息的排序結(jié)果及相應(yīng)的區(qū)域置亂規(guī)則,得到針對整個(gè)視頻數(shù)據(jù)的二次置亂矩陣;依據(jù)所述二次置亂矩陣,對初級置亂矩陣的置亂結(jié)果再次進(jìn)行置亂;構(gòu)建碼流數(shù)據(jù),得到加密結(jié)果。
2、 如權(quán)利要求1所述的方法,其特征在于,所述初級置亂矩陣為基于 偽隨機(jī)序列的隨機(jī)置亂矩陣;則區(qū)域劃分后,部分區(qū)域釆用幻方矩陣作為區(qū)域置亂規(guī)則,另一部分區(qū)域采用保留初次宏 塊置亂的結(jié)果作為區(qū)域置亂規(guī)則;或者,部分區(qū)域采用幻方矩陣作為區(qū)域置亂規(guī)則,另一部分區(qū)域采用基于 偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則;或者,所有區(qū)域都采用于偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則。
3、 如權(quán)利要求1所述的方法,其特征在于,所述初級置亂矩陣為基于 騎士巡游的置換矩陣;則區(qū)域劃分后,部分區(qū)域采用幻方矩陣作為區(qū)域置亂規(guī)則,另一部分區(qū)域采用保留初次宏 塊置亂的結(jié)果作為區(qū)域置亂規(guī)則;或者,部分區(qū)域采用幻方矩陣作為區(qū)域置亂規(guī)則,另一部分區(qū)域采用基于 偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則;或者,所有區(qū)域都采用于偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則。
4、 如權(quán)利要求2或3所述的方法,其特征在于,采用高級加密標(biāo)準(zhǔn)AES 算法生成流密碼,作為偽隨機(jī)序列。
5、 如權(quán)利要求1所述的方法,其特征在于,所述視頻數(shù)據(jù)為中國數(shù)字音 一見頻編解碼標(biāo)準(zhǔn)AVS。
6、 一種視頻數(shù)據(jù)加密的裝置,其特征在于,包括 提取模塊,用于提取視頻數(shù)據(jù)的宏塊信息; 初級置亂矩陣生成模塊,用于生成初級置亂矩陣; 初次置亂模塊,用于依據(jù)初級置亂矩陣對所述宏塊信息進(jìn)行置亂; 區(qū)域劃分及M^定確定模塊,用于將初級置亂矩陣的置亂結(jié)果劃分為多個(gè)區(qū)域,并針對各區(qū)域確定相應(yīng)的區(qū)域置亂規(guī)則;二次置亂矩陣生成模塊,用于依據(jù)各區(qū)域內(nèi)的宏塊按其編碼信息的排序結(jié) 果及相應(yīng)的區(qū)域置亂規(guī)則,得到針對整個(gè)視頻數(shù)據(jù)的二次置亂矩陣;二次置亂模塊,用于依據(jù)所述二次置亂矩陣,對初級置亂矩陣的置亂結(jié)果 再次進(jìn)行置亂;結(jié)果輸出模塊,用于構(gòu)建碼流數(shù)據(jù),得到加密結(jié)果。
7、 如權(quán)利要求6所述的裝置,其特征在于,所述初級置亂矩陣為基于 偽隨機(jī)序列的隨機(jī)置亂矩陣;則區(qū)域劃分后,部分區(qū)域釆用幻方矩陣作為區(qū)域置亂規(guī)則,另一部分區(qū)域采用保留初次宏 塊置亂的結(jié)果作為區(qū)域置亂規(guī)則;或者,部分區(qū)域釆用幻方矩陣作為區(qū)域置亂規(guī)則,另一部分區(qū)域采用基于 偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則;或者,所有區(qū)域都采用于偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則。
8、 如權(quán)利要求6所述的裝置,其特征在于,所述初級置亂矩陣為基于 騎士巡游的置換矩陣;則區(qū)域劃分后,部分區(qū)域采用幻方矩陣作為區(qū)域置亂規(guī)則,另一部分區(qū)域采用保留初次宏 塊置亂的結(jié)果作為區(qū)域置亂規(guī)則;或者,部分區(qū)域采用幻方矩陣作為區(qū)域置亂規(guī)則,另一部分區(qū)域采用基于 偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則;或者,所有區(qū)域都采用于偽隨機(jī)序列的隨機(jī)置亂矩陣作為區(qū)域置亂規(guī)則。
9、 如權(quán)利要求7或8所述的裝置,其特征在于,采用高級加密標(biāo)準(zhǔn)AES 算法生成流密碼,作為偽隨機(jī)序列。
10、 如權(quán)利要求6所述的裝置,其特征在于,所述視頻數(shù)據(jù)為中國數(shù)字音 ^L頻編解碼標(biāo)準(zhǔn)AVS。
全文摘要
本發(fā)明提供了一種視頻數(shù)據(jù)加密方法,包括提取視頻數(shù)據(jù)的宏塊信息;生成初級置亂矩陣;依據(jù)初級置亂矩陣對所述宏塊信息進(jìn)行置亂;將初級置亂矩陣的置亂結(jié)果劃分為多個(gè)區(qū)域,并針對各區(qū)域確定相應(yīng)的區(qū)域置亂規(guī)則;依據(jù)各區(qū)域內(nèi)的宏塊按其編碼信息的排序結(jié)果及相應(yīng)的區(qū)域置亂規(guī)則,得到針對整個(gè)視頻數(shù)據(jù)的二次置亂矩陣;依據(jù)所述二次置亂矩陣,對初級置亂矩陣的置亂結(jié)果再次進(jìn)行置亂;構(gòu)建碼流數(shù)據(jù),得到加密結(jié)果。本發(fā)明解決了現(xiàn)有的宏塊置亂算法可能存在的局部加密效果不夠的問題,提供了更好的視覺加密效果;并使得已知明文攻擊無效。總之,本發(fā)明不增加碼流,速度快,計(jì)算資源占用低,且安全性高,更適用于視頻加密的大多數(shù)實(shí)時(shí)應(yīng)用場景。
文檔編號H04N7/16GK101110944SQ20071014574
公開日2008年1月23日 申請日期2007年8月31日 優(yōu)先權(quán)日2007年8月31日
發(fā)明者萬守杰, 楊黎東, 沈未名, 郭曉云, 黃曉平 申請人:湖北科創(chuàng)高新網(wǎng)絡(luò)視頻股份有限公司