欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種視頻碼流加、解密方法、裝置及通信、存儲終端的制作方法

文檔序號:7765584閱讀:573來源:國知局
專利名稱:一種視頻碼流加、解密方法、裝置及通信、存儲終端的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于音視頻領(lǐng)域,尤其涉及一種視頻碼流加、解密方法、裝置及通信、存儲終端。
背景技術(shù)
高效率數(shù)字視頻編碼標(biāo)準(zhǔn)H. 264/AVC, MPEG-4、MPEG-2等標(biāo)準(zhǔn)定義的碼流,由組織成有層次結(jié)構(gòu)的句法元素組成,該層次結(jié)構(gòu)可以分為序列、圖像、片、宏塊、子宏塊等,而各個層次的信息都由句法元素分別描述。其中,句法元素是視頻編碼輸出的碼流中數(shù)據(jù)的基本單位,每個句法元素由若干比特組成,他表示某個特定的物理意義,比如可以表示宏塊類型、量化參數(shù)、殘差數(shù)據(jù)等。圖1示出了句法元素組成的分層結(jié)構(gòu),5層結(jié)構(gòu)中,視頻序列 101、圖像102、片103、宏塊104、子宏塊105,每一個層次都由頭信息和該層的數(shù)據(jù)信息組成。而頭信息的句法元素則是該層數(shù)據(jù)的核心,它通常包含了該層數(shù)據(jù)編碼的一些參數(shù)信息,一旦頭信息丟失或遭到破壞,幾乎不可能再正確解碼出該層的數(shù)據(jù)信息。為了便于視頻解碼器在碼流中取出特定的數(shù)據(jù)單元進(jìn)行解碼,一般需要在碼流中添加起始碼來標(biāo)識特定數(shù)據(jù)單元的起始、終止位置。例如,H.264/AVC標(biāo)準(zhǔn)可將一個分片或者一個參數(shù)集的句法作為一個網(wǎng)絡(luò)抽象層(Network Abstraction Layer, NAL)單元,在每個NAL單元前添加起始碼0x000001。解碼器在碼流中檢測到起始碼,即將該位置識別為一個NAL單元的邊界,兩個起始碼之間即為一個NAL單元。為了更精確地識別NAL單元的邊界,防止將NAL單元內(nèi)出現(xiàn)0x000001的位置識別為一個NAL單元的邊界,H. 264/AVC提出了 “起始碼防競爭”機制,即在編碼生成一個NAL單元的碼流時,如果檢測出0x000000, 0x000001,0x000002,0x000003這四種序列,就在最后一個字節(jié)前插入一個新的字節(jié)0x03, 使之分別變成 0x00000300,0x00000301,0x00000302,0x00000303,這樣,解碼器在 NAL 單元內(nèi)部就不會檢測到數(shù)據(jù)0x000001,并錯誤標(biāo)識為NAL單元的邊界。如果解碼器在NAL單元內(nèi)部檢測到0x000003的數(shù)據(jù),就把0x03丟棄,恢復(fù)原始數(shù)據(jù)。隨著多媒體技術(shù)和計算機網(wǎng)絡(luò)的迅猛發(fā)展,應(yīng)用視頻聊天、視頻點播、視頻會議、 視頻監(jiān)控的范圍在不斷擴大,與此同時,剽竊、竊取網(wǎng)絡(luò)上的隱私數(shù)據(jù)等行為也日益嚴(yán)重。 因此,在存儲、傳輸視頻數(shù)據(jù)過程中,如何保護(hù)視頻數(shù)據(jù)的安全是人們關(guān)注的重點。目前,保護(hù)視頻數(shù)據(jù)安全的一種重要方法是加密視頻數(shù)據(jù)的方法,該方法又分為加密全部視頻數(shù)據(jù)方法和加密部分視頻數(shù)據(jù)方法。而加密視頻數(shù)據(jù)的方法通常都與視頻編碼技術(shù)結(jié)合在一起,這是因為視頻的原始數(shù)據(jù)量很大,在存儲、傳輸之前通常先進(jìn)行編碼壓縮。加密全部視頻數(shù)據(jù)方法是將編碼壓縮后的視頻碼流數(shù)據(jù)作為普通的二進(jìn)制數(shù)據(jù), 采用經(jīng)典的數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard, DES)或者視頻加密算法(Video Encryption Algorithm,VEA)等算法對全部的二進(jìn)制數(shù)據(jù)進(jìn)行加密。該方法確保了視頻數(shù)據(jù)完全不可見,具有較高的安全性,但是由于視頻數(shù)據(jù)量很多,如果全部的視頻數(shù)據(jù)都執(zhí)行加密操作,則會增大加密、解密的計算復(fù)雜度,并產(chǎn)生很大的延遲,難以滿足視頻的實時傳輸要求。加密部分視頻數(shù)據(jù)方法是保持碼流格式不變,對碼流中的數(shù)據(jù)信息部分加密,加密的算法通常有選擇性加密、空域置亂加密算法、頻域置亂加密算法或者符號位加密算法等。該方法沒有改變起始碼和頭信息的結(jié)構(gòu),而起始碼和頭信息的結(jié)構(gòu)通常包含了視頻編碼的重要參數(shù)、對解碼視頻碼流起關(guān)鍵作用的信息。比如MPEG-2、H. ^4/AVC等標(biāo)準(zhǔn)碼流中的起始碼,起到標(biāo)識圖像幀或者片的邊界信息,攻擊者利用這些信息可以破解碼流格式,竊取視頻編碼算法、參數(shù)等核心技術(shù)機密,或者將部分?jǐn)?shù)據(jù)信息替換為非法視頻內(nèi)容。另外, 加密數(shù)據(jù)信息部分通常會改變視頻數(shù)據(jù)的統(tǒng)計特性,導(dǎo)致視頻的壓縮率降低,增加碼流的數(shù)據(jù)量,影響同等碼率條件下的視頻圖像質(zhì)量。

發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供一種視頻碼流加密方法,旨在解決保護(hù)視頻數(shù)據(jù)安全時導(dǎo)致計算復(fù)雜度、延遲增大,影響視頻實時傳輸要求以及視頻圖像質(zhì)量的問題。本發(fā)明實施例是這樣實現(xiàn)的,一種視頻碼流加密方法,所述方法包括對分片的頭信息進(jìn)行加密處理,得到頭信息密文;對得到的頭信息密文與所述頭信息密文所處分片的數(shù)據(jù)信息明文進(jìn)行置亂加密, 得到置亂密文;對分片的起始碼以及加密下一分片起始碼的密鑰進(jìn)行加密處理,分別得到起始碼密文和密鑰密文;對置亂密文中與起始碼密文相同的密文,采取起始碼密文防競爭處理,得到中間密文;將中間密文、起始碼密文以及密鑰密文組合成碼流密文。本發(fā)明實施例的另一目的在于提供一種視頻碼流加密裝置,所述裝置包括加密頭信息模塊,用于對分片的頭信息進(jìn)行加密處理,得到頭信息密文;置亂模塊,用于對得到頭信息密文與頭信息密文所處分片的數(shù)據(jù)信息明文進(jìn)行置亂加密,得到置亂密文;起始碼和加密起始碼密鑰加密模塊,用于對分片的起始碼以及加密下一分片起始碼的密鑰進(jìn)行加密處理,分別得到起始碼密文和密鑰密文;起始碼防競爭模塊,用于對置亂密文中與起始碼密文相同的密文,采取起始碼密文防競爭處理,得到中間密文;組合模塊,用于將中間密文、起始碼密文以及密鑰密文組合成碼流密文。本發(fā)明實施例的另一目的在于提供包含上述視頻碼流加密裝置的通信終端。本發(fā)明實施例的另一目的在于提供包含上述視頻碼流加密裝置的存儲終端。本發(fā)明實施例的另一目的在于提供視頻碼流解密方法,所述方法包括根據(jù)分片的起始碼密文以及解密上一分片時獲取的加密所述分片起始碼的密鑰, 解密以獲取起始碼明文以及用于加密下一分片起始碼的密鑰,并獲取所述分片的中間密文;對分片中采取起始碼密文防競爭操作的中間密文采用起始碼密文逆防競爭操作, 解密出置亂密文;
解密分片的置亂密文,獲取頭信息的密文以及數(shù)據(jù)信息明文;解密分片的頭信息密文,獲取頭信息。本發(fā)明實施例的另一目的在于提供視頻碼流解密裝置,所述裝置包括解密起始碼密文模塊,用于根據(jù)分片起始碼密文以及解密上一分片時獲取的加密所述分片起始碼的密鑰,解密以獲取起始碼明文以及用于加密下一分片起始碼的密鑰,并獲取所述分片的中間密文;解密中間密文模塊,用于對分片中采取起始碼密文防競爭操作的中間密文采用起始碼密文逆防競爭操作,解密出置亂密文;解密置亂密文模塊,用于解密分片的置亂密文,獲取頭信息的密文以及數(shù)據(jù)信息明文;解密頭信息密文模塊,用于解密分片的頭信息密文,獲取頭信息。本發(fā)明實施例的另一目的在于提供包含上述視頻碼流解密裝置的通信終端。本發(fā)明實施例的另一目的在于提供包含上述視頻碼流解密裝置的存儲終端。本發(fā)明實施例對包含視頻碼流結(jié)構(gòu)和視頻編碼關(guān)鍵技術(shù)參數(shù)等重要信息的視頻碼流中頭信息、起始碼進(jìn)行逐字或逐字節(jié)的加密,并通過置亂頭信息密文,打亂頭信息密文在視頻碼流中的位置,有效地隱藏起始碼和頭信息,保證了視頻碼流中頭信息和起始碼的安全;在對非I幀或者I幀第一分片以外的任一分片進(jìn)行加密時,采用不同的密鑰,進(jìn)一步提高該加密方法的可靠性,提高視頻碼流格式抵抗破解的能力,防止視頻內(nèi)容被非法篡改, 從而保障視頻數(shù)據(jù)在存儲和傳輸過程中的安全性。而對置亂密文中與起始碼密文相同的密文,采取起始碼密文防競爭處理等操作,則能夠正確識別各分片的起始位置。由于頭信息和起始碼在視頻碼流中所占的比例很低,因此對頭信息和起始碼加密所需的數(shù)據(jù)量很小,對頭信息密文進(jìn)行置亂、對置亂密文采取起始碼防競爭處理所需的數(shù)據(jù)量也很小,因此本發(fā)明除了具有安全性之外,還具有計算低復(fù)雜度的特性,在對每一個分片進(jìn)行視頻編碼后,就可對編碼后的分片進(jìn)行加密操作,不需為該加密操作額外增加分片進(jìn)行緩存,降低傳輸視頻碼流的延遲。又由于本發(fā)明的加密方法沒有改變數(shù)據(jù)信息部分,因此不會影響視頻的壓縮效率,而加密過程僅增加下一分片起始碼加密所需密鑰的密文,增加的額外數(shù)據(jù)量很小,因此也不會對視頻的圖像質(zhì)量造成明顯影響。此外,由于在每個I幀的第一個分片都使用預(yù)設(shè)的密鑰加密頭信息、起始碼以及置亂頭信息密文,而不是采用與上一個已編碼分片的相關(guān)變量生成的密鑰,因此可以將發(fā)生錯誤的視頻碼流密文控制在一個I幀間隔周期內(nèi),較好地保持了碼流的容錯性和隨機訪問的特性。


圖1是現(xiàn)有技術(shù)提供的句法元素分層的結(jié)構(gòu);圖2是本發(fā)明第一實施例提供的一種視頻碼流加密方法流程;圖3是本發(fā)明第一實施例提供的置亂密文結(jié)構(gòu);圖4是本發(fā)明第一實施例提供的碼流密文結(jié)構(gòu);圖5是本發(fā)明第二實施例提供的一種視頻碼流加密裝置結(jié)構(gòu);圖6是本發(fā)明第三實施例提供的一種視頻碼流解密方法流程;圖7是本發(fā)明第四實施例提供的一種視頻碼流解密裝置結(jié)構(gòu)。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明使用固定密鑰組以及利用預(yù)先配置的密鑰共同加密I幀第一分片的頭信息、起始碼、加密起始碼的密鑰以及執(zhí)行置亂頭信息密文、對置亂密文中與起始碼密文相同的密文,采取起始碼密文防競爭處理等操作,在當(dāng)前分片為非I幀或者I幀第一分片以外的任一分片時,則使用固定密鑰組以及利用上一個已編碼分片的相關(guān)變量生成的密鑰,共同對當(dāng)前分片的頭信息、起始碼、加密起始碼的密鑰執(zhí)行流加密的操作。進(jìn)一步地,將加密頭信息所得到的密文與該片數(shù)據(jù)信息明文進(jìn)行置亂加密,打亂頭信息密文在分片中的位置, 并對置亂密文中與起始碼密文相同的密文,采取起始碼密文防競爭處理等操作,正確識別各分片的起始位置。本發(fā)明提供了一種視頻碼流加、解密方法、裝置及通信、存儲終端。所述視頻碼流加密方法包括對分片的頭信息進(jìn)行加密處理,得到頭信息密文;對得到的頭信息密文與所述頭信息密文所處分片的數(shù)據(jù)信息明文進(jìn)行置亂加密, 得到置亂密文;對分片的起始碼以及加密下一分片起始碼的密鑰進(jìn)行加密處理,分別得到起始碼密文和密鑰密文;對置亂密文中與起始碼密文相同的密文,采取起始碼密文防競爭處理,得到中間密文;將中間密文、起始碼密文以及密鑰密文組合成碼流密文。所述視頻碼流加密裝置包括加密頭信息模塊,用于對分片的頭信息進(jìn)行加密處理,得到頭信息密文;置亂模塊,用于對得到頭信息密文與頭信息密文所處分片的數(shù)據(jù)信息明文進(jìn)行置亂加密,得到置亂密文;起始碼和加密起始碼密鑰加密模塊,用于對分片的起始碼以及加密分片起始碼的密鑰進(jìn)行加密處理,分別得到起始碼密文和密鑰密文;起始碼防競爭模塊,用于對置亂密文中與起始碼密文相同的密文,采取起始碼密文防競爭處理,得到中間密文;組合模塊,用于將中間密文、起始碼密文以及密鑰密文組合成碼流密文。所述通信終端包括包含上述視頻碼流加密裝置的通信終端。所述存儲終端包括包含上述視頻碼流加密裝置的存儲終端。所述視頻碼流解密方法包括根據(jù)分片的起始碼密文以及加密分片起始碼的密鑰,解密以獲取起始碼明文以及用于加密下一分片起始碼的密鑰,并獲取當(dāng)前分片的中間密文;對分片中采取起始碼密文防競爭操作的中間密文采用起始碼密文逆防競爭操作, 解密出置亂密文;解密分片的置亂密文,獲取頭信息的密文以及數(shù)據(jù)信息明文;
解密分片的頭信息密文,獲取頭信息。所述視頻碼流解密裝置包括解密起始碼密文模塊,用于根據(jù)分片起始碼密文以及解密上一分片時獲取的加密該分片起始碼的密鑰,解密以獲取起始碼明文以及用于加密下一分片起始碼的密鑰,并獲取當(dāng)前分片的中間密文;解密中間密文模塊,用于對分片中采取起始碼密文防競爭操作的中間密文采用起始碼密文逆防競爭操作,解密出置亂密文;解密置亂密文模塊,用于解密分片的置亂密文,獲取頭信息的密文以及數(shù)據(jù)信息明文;解密頭信息密文模塊,用于解密分片的頭信息密文,獲取頭信息。所述通信終端包括包含上述視頻碼流解密裝置的通信終端。所述存儲終端包括包含上述視頻碼流解密裝置的存儲終端。本發(fā)明實施例對包含視頻碼流結(jié)構(gòu)和視頻編碼關(guān)鍵技術(shù)參數(shù)等重要信息的視頻碼流中頭信息、起始碼進(jìn)行逐字或逐字節(jié)的加密,并通過置亂頭信息密文,打亂頭信息密文在視頻碼流中的位置,有效地隱藏起始碼和頭信息,保證了視頻碼流中頭信息和起始碼的安全;在對非I幀或者I幀第一分片以外的任一分片進(jìn)行加密時,采用不同的密鑰,進(jìn)一步提高該加密方法的可靠性,提高視頻碼流格式抵抗破解的能力,防止視頻內(nèi)容被非法篡改, 從而保障視頻數(shù)據(jù)在存儲和傳輸過程中的安全性。而對置亂密文中與起始碼密文相同的密文,采取起始碼密文防競爭處理等操作,則能夠正確識別各分片的起始位置。由于頭信息和起始碼在視頻碼流中所占的比例很低,因此對頭信息和起始碼加密所需的數(shù)據(jù)量很小,對頭信息密文進(jìn)行置亂、對置亂密文采取起始碼防競爭處理所需的數(shù)據(jù)量也很小,因此本發(fā)明除了具有安全性之外,還具有計算低復(fù)雜度的特性,在對每一個分片進(jìn)行視頻編碼后,就可對編碼后的分片進(jìn)行加密操作,不需為該加密操作額外增加分片進(jìn)行緩存,降低傳輸視頻碼流的延遲。又由于本發(fā)明的加密方法沒有改變數(shù)據(jù)信息部分,因此不會影響視頻的壓縮效率,而加密過程僅增加下一分片起始碼加密所需密鑰的密文,增加的額外數(shù)據(jù)量很小,因此也不會對視頻的圖像質(zhì)量造成明顯影響。此外,由于在每個I幀的第一個分片都使用預(yù)設(shè)的密鑰加密頭信息、起始碼以及置亂頭信息密文,而不是采用與上一個已編碼分片的相關(guān)變量生成的密鑰,因此可以將發(fā)生錯誤的視頻碼流密文控制在一個I幀間隔周期內(nèi),較好地保持了碼流的容錯性和隨機訪問的特性。實施例一圖2示出了本發(fā)明第一實施例提供的一種視頻碼流加密方法流程。為了提高視頻傳輸?shù)娜蒎e性,通常將每一幀視頻編碼為一個或多個分片,每個分片由相應(yīng)的頭信息、標(biāo)識分片開始或者結(jié)束的起始碼以及該分片的數(shù)據(jù)信息組成。該視頻碼流加密方法是對視頻編碼生成的任意一個分片進(jìn)行加密的方法,詳述如下在步驟S201中,對分片的頭信息進(jìn)行加密處理,得到頭信息密文;—個視頻流中通常包括I幀、P幀和B幀,其中,非I幀為視頻流中除I幀以外的幀,如P幀和B幀。I幀通常是每個畫面組(Group of Pictures,GOP)的第一個幀,在一個畫面組中只有一個I幀,該類型的幀是一個幀內(nèi)編碼幀,在編碼過程中只利用當(dāng)前幀內(nèi)的信息進(jìn)行預(yù)測,而與前后幀的信息無關(guān)。P幀是前向預(yù)測巾貞,是根據(jù)與前一幀圖像的比較,去掉與前幀相似的數(shù)據(jù)而構(gòu)成的幀。B幀是雙向預(yù)測幀,是根據(jù)與前后一幀圖像的比較而得到的幀。P、B幀需要依靠I幀而成立。為確保前面分片的丟失和誤碼不影響I幀的解碼,保持碼流的容錯性和隨機訪問的特性,下文中對I幀第一個分片的加密采用的密鑰與I幀其余分片以及P、B幀分片的處理方式略有不同。使用流加密算法加密當(dāng)前分片f的頭信息,即以密鑰作為種子產(chǎn)生一個長度與頭信息長度相等的加密密鑰序列,逐位或逐字節(jié)加密當(dāng)前分片f的頭信息,并得到相應(yīng)的頭信息密文。該流加密算法可以為RC4、A5算法,當(dāng)然,也可以使用其他的流加密算法加密分片的頭信息,此處不作限定。其中,對頭信息進(jìn)行加密處理,得到頭信息密文的步驟具體為使用配置的初始密鑰與固定密鑰組共同加密I幀第一個分片的頭信息;使用上一個分片的相關(guān)變量生成的密鑰與固定密鑰組共同加密非I幀以及I幀第一個分片以外的任一分片的頭信息。若當(dāng)前分片f為I幀的第一個分片,采用配置的初始密鑰Iitl與固定密鑰組[khl, 、,...,kta]共同加密I幀第一個分片的頭信息;否則,根據(jù)上一個已編碼分片f-ι的相關(guān)變量生成的密鑰Iv1與固定密鑰組[khl,kh2,. . . ,kj共同加密I幀第一分片以外的任一分片f的頭信息。即使用密鑰組Dv khl,kh2, ...,kj加密I幀第一分片的頭信息,而使用密鑰組Dv1,khl,、,...,kto]加密ι幀第一分片以外的任一分片f的頭信息,對分片的頭信息加密后就可以得到相應(yīng)的頭信息密文。若當(dāng)前分片f為P或B幀的分片,則根據(jù)上一個I幀或P幀或B幀已編碼分片f-ι 的相關(guān)變量生成的密鑰hf_i,與固定密鑰組[khl,、,...,kj共同加密P或B幀當(dāng)前分片f 的頭信息,即加密P或B幀分片的頭信息與加密I幀第一分片以外的任一分片的頭信息的密鑰組,都為 Dv1,khl,、,···,kj。為了更清楚地說明使用密鑰組Dv1,khl,kh2,. . . ,kj加密非I幀以及I幀第一分片以外任一分片頭信息的過程,下面舉例進(jìn)行說明假設(shè)當(dāng)前分片f的頭信息按字節(jié)依次用Hi1, m2,. .,mn表示,加密后的頭信息密文按字節(jié)依次用C1, C2, ... , Cn表示,由上一個分片f-ι的相關(guān)變量生成的密鑰Iv1 = Lm % 256,其中,Lf_i為上一個分片f_l編碼后字節(jié)的長度,%表示對長度Lf_i取模,固定密鑰組只取2個,為[khl, kj。加密法則g為Ci = gOvkh”。= (mi+khlXi)% 256,其中 i = 2n-l,n 為非 O 自然數(shù);Ci = gOv V1,khl,kj = (HiJhf-^kh2Xi) % 256,其中 i = 2η, η 為非 O 自然數(shù)。假定當(dāng)前分片f的頭信息的前4個字節(jié)為Hi1, m2, m3, m4為0,1,6,1,固定密鑰組 [khl,kj為[5,8],上一分片f-Ι的長度為485字節(jié),則根據(jù)公式V1 = Lm% 256,得到V1 =485% 256 = 229,使用上述加密法則g加密當(dāng)前分片f的頭信息的前4個字節(jié),得到的密文如下C1 = (0+5X1) % 256 = 5,C2 = (0+229+8X2) % 256 = 246,C3 = (6+5X3) % 256 = 21,c4 = (1+229+8X4) % 256 = 6即頭信息Hi1, m2,m3,m4 為 0,1,0,1 的密文分別為 0x05,0xF6,0x15,0x06。作為本發(fā)明的又一個實施例,加密當(dāng)前分片f頭信息的密鑰組Dv khl,、,...,kta]和Dv1,khl,、,...,kta]可以直接由一個偽隨機序列發(fā)生器產(chǎn)生,即密鑰Iv1也可以使用其他變量生成,比如預(yù)先設(shè)定與上一個分片的變量無關(guān)的初始變量,再用logistic模型迭代產(chǎn)生,而不一定使用上一個分片的相關(guān)變量生成。在步驟S202中,對得到的頭信息密文與該頭信息密文所處分片的數(shù)據(jù)信息明文進(jìn)行置亂加密,得到置亂密文;視頻碼流中頭信息包含了視頻編碼關(guān)鍵技術(shù)參數(shù)等重要信息,在對碼流中頭信息加密后,為了進(jìn)一步保護(hù)頭信息密文的安全,可以將頭信息密文的位置轉(zhuǎn)移至分片內(nèi)的另一位置,即將頭信息密文隱藏在該分片的數(shù)據(jù)信息明文中。置亂隱藏位置的算法可以預(yù)先設(shè)定。其中,對得到頭信息密文與該頭信息密文所處分片的數(shù)據(jù)信息明文進(jìn)行置亂加密,得到置亂密文的步驟具體為使用配置的初始密鑰與固定密鑰組共同置亂I幀第一個分片的頭信息密文與所述頭信息密文所處分片的數(shù)據(jù)信息明文;使用上一個分片的相關(guān)變量生成的密鑰與固定密鑰組共同加密非I幀以及I幀第一個分片以外的任一分片的頭信息密文與所述頭信息密文所處分片的數(shù)據(jù)信息明文。其中,該非I幀為視頻流中除I幀以外的幀,如P幀和B幀。本發(fā)明實施例中,在置亂I幀第一分片頭信息的密文與該頭信息密文所處分片的數(shù)據(jù)信息明文時,采用預(yù)先配置的Ctl以及固定密鑰組D^,k。2,. . .,kj 一起作為置亂頭信息密文與該頭信息密文所處分片的數(shù)據(jù)信息明文的密鑰,在置亂非I幀以及I幀第一分片以外任一分片f頭信息的密文時,則使用f分片的上一分片f-1的相關(guān)變量生成的密鑰cf_i,與固定密鑰組D^1, k。2,
k。n] —起作為置亂該f分片頭信息密文與該頭信息密文所處分片的數(shù)據(jù)信息明文的密鑰。 艮口,使用密鑰組[Cykc^km . . .,k。n]置亂I幀第一分片頭信息與該頭信息密文所處分片的數(shù)據(jù)信息明文的密文,使用密鑰組[cf_i,kcl, k。2,. . .,kj置亂非I幀以及I幀第一分片以外的任一分片f的頭信息密文與該頭信息密文所處分片的數(shù)據(jù)信息明文。其中,(V1可以使用上一個已編碼分片f-i的變量,如長度變量產(chǎn)生。為了更清楚地說明置亂頭信息密文與該頭信息密文所處分片的數(shù)據(jù)信息明文的過程,下面舉例進(jìn)行說明假設(shè)當(dāng)前分片的數(shù)據(jù)信息明文長度為η字節(jié),置亂頭信息密文與該頭信息密文所處分片的數(shù)據(jù)信息明文的密鑰組為[(^1,kcl, k。2],則將該頭信息密文插入到數(shù)據(jù)信息明文的第 d 個字節(jié)后,其中,d 為對式子[ηX (kcl+c% (kcl+kc2))^(kcl+kc2+c% (kcl+kc2))] 向下取整所得的數(shù),假設(shè)Ch = 20,kcl = 3,kc2 = 5, η = 525,則代入式子[ηX (kcl+c% (kcl+kc2)) + (kcl+kc2+c% (kcl+kc2))]后,所得結(jié)果為 306. 25,向下取整后,得到 d 為 306,即將該分片的頭信息密文插入到第306個字節(jié)之后的數(shù)據(jù)信息明文中,如圖3所示,該片的置亂密文中,前306個字節(jié)為數(shù)據(jù)信息明文,接著是頭信息密文,然后再是219個數(shù)據(jù)信息明文。作為本發(fā)明的又一個實施例,可以預(yù)先設(shè)定一個初始序列,該初始序列作為隨機序列生成器的初始變量,生成置亂當(dāng)前分片頭信息密文與該頭信息密文所處分片的數(shù)據(jù)信息明文的密鑰組,其中,該初始序列與上一分片的相關(guān)變量無關(guān)。在步驟S203中,對分片的起始碼以及加密下一分片起始碼的密鑰進(jìn)行加密處理,分別得到起始碼密文和密鑰密文;起始碼標(biāo)識一個NAL單元的開始或者結(jié)束。其中,對分片的起始碼以及加密該分片起始碼的密鑰進(jìn)行加密處理,分別得到起始碼密文和密鑰密文的步驟具體為使用配置的初始密鑰與固定密鑰組共同加密I幀第一個分片的起始碼;使用上一個分片的相關(guān)變量生成的密鑰與固定密鑰組共同加密下一個非I幀分片以及I幀第一個分片以外的任一分片的起始碼,并用固定密鑰組加密使用上一個分片的相關(guān)變量生成的密鑰。本發(fā)明實施例中,逐位或者逐字節(jié)加密起始碼的密鑰包括2部分一部分是預(yù)先配置的固定密鑰組Rsl,ks2,kj ;另一部分是根據(jù)上一個分片f-1的相關(guān)變量生成加密當(dāng)前分片f起始碼的密鑰sf_i,即使用密鑰組[Sf_i,ksl,ks2,ksn]加密非I幀以及I 幀第一個分片以外任一分片f的起始碼,該非I幀為視頻中流除I幀以外的幀,如P幀和B 幀。如果當(dāng)前分片為I幀的第一分片,則用密鑰組[S(1,ksl,ks2,.. .,ksn]加密I幀第一分片的起始碼,其中,%為預(yù)先配置的密鑰。作為本發(fā)明的又一個實施例,為了便于解密時從碼流中取出加密起始碼的密鑰 Sf^1的密文,可以固定密鑰Sg的長度。為了更清楚地說明加密非I幀以及I幀第一分片以外的任一分片起始碼的過程, 下面舉例進(jìn)行說明假設(shè)當(dāng)前分片f的起始碼明文,按字節(jié)依次用b1; b2,b3,比表示,加密后的起始碼密文按字節(jié)順序依次用bsl,bs2,bs3,bs4表示,起始碼所需的密鑰Sg仍為上一個已編碼分片的長度Lf_i與256取模,即,Sg = Lm% 256,對當(dāng)前碼流預(yù)先設(shè)定的起始碼加密密鑰組為 [ksl,ks2],加密運算法則G為:bsJ = G(bj; ksl,ks2) = (b,kslXj) % 256,其中 j = 2n_l,η 為非 0 自然數(shù);bSJ = GOv ,、,ks2) = (bJ+sf_1+ks2Xj)% 256,其中 j = 2η,η 為非 0 自然數(shù)。對于H. 264/AVC 標(biāo)準(zhǔn)的四字節(jié)起始碼 0x00000001,即 Id1 = 0,b2 = 0,b3 = 0,b4 =1,固定密鑰組Rsl,ks2]取為[3,9],上一分片f-Ι的長度為500字節(jié),則根據(jù)公式sf_i = Lf-:% 256,得到sf_i = 500% 256 = M4,使用上述加密法則G加密當(dāng)前分片f的起始碼,得到的密文如下bsl = (0+3X1) % 256 = 3,bs2 = (0+244+9X2) % 256 = 6,bs3 = (0+3X3) % 256 = 9,bs4 = (1+244+9X4) % 256 = 24即起始碼 0x00000001 的密文為 0x03060918。作為本發(fā)明的又一個實施例,加密當(dāng)前分片起始碼的密鑰組[S(l,ksl,ks2,ksn] 和[Sg,ksl,ks2,kj可以直接由一個偽隨機序列發(fā)生器產(chǎn)生,即密鑰Sm也可以使用其他變量生成,比如預(yù)先設(shè)定與上一個分片變量無關(guān)的變量,再將該初始變量作為混合光學(xué)雙穩(wěn)模型的初始變量迭代產(chǎn)生,該模型可以取為Xn+1 = Asin (Xn_XB),其中,A和Xb為該系統(tǒng)的系數(shù),在A = 4, Xb = 2. 5的情況下, 給定初始變量χη,則迭代產(chǎn)生的χη+1將進(jìn)入無序狀態(tài),因此可以利用該系統(tǒng)產(chǎn)生的毫無規(guī)則的Xn+1序列作為加密分片起始碼的密鑰組[SQ,ksl,ks2,... , ksn]和[Sf_i,ksl,ks2,... , ksn]。
為了更好地保護(hù)加密分片起始碼密鑰的安全,可以使用固定密鑰組對獲取的密鑰 Sf^1進(jìn)行加密,假定使用固定密鑰組D^bl,kb2,...,kbn]逐位或者逐字節(jié)地對加密起始碼的密鑰Sg加密,并得到相應(yīng)的密文。在步驟S204中,對置亂密文中與起始碼密文相同的密文,采取起始碼密文防競爭處理,得到中間密文;加密每一個分片起始碼可能采用的密鑰有2種,一種是加密I幀第一個分片起始碼的密鑰,另一種是加密非I幀以及I幀第一個分片以外的任一分片起始碼的密鑰,相應(yīng)地,將產(chǎn)生2種起始碼密文。其中,該非I幀為視頻流中除I幀以外的幀,如P幀和B幀。為了防止將出現(xiàn)在當(dāng)前分片的置亂密文中,且與下一個分片可能的2種起始碼密文相同的密文,錯誤地識別為下一個分片的起始碼密文,并識別為該分片的邊界,需要采取起始碼密文防競爭操作,即將出現(xiàn)在當(dāng)前分片的置亂密文中,且與下一個分片的1種或2種起始碼密文相同的密文,以另一種形式表示。為了更清楚地說明采取的起始碼密文防競爭操作的過程,下面舉例進(jìn)行說明假設(shè)分片f+Ι的一種4字節(jié)起始碼密文,按字節(jié)順序依次為yi,y2, y3,y4 ;另一種為Zl,z2, Z3, Z4;依次檢測當(dāng)前分片f中置亂密文的每個字節(jié),如果檢測到下面4種序列, y” y2' y3' y4 ;yi,y2,y3' y5 ;zi,z2, z3, z4 ;Z1, z2, z3, z5 ;則將上述 4 種序列分別轉(zhuǎn)換為,y” y2,
Y3' Z5' 5^4 ; Yl ‘ Υ2'又3,Ζ5' ?5 ;Z1' Z2' Z3' Z5' Z4 ;Z1' Z2' Z3' Z5' Z5
;即在序列的倒數(shù)第2位插入一個Z5,其中、興、且、興y4,這樣,f分片中就不存在與下一個分片f+Ι可能的2種起始碼密文完全一樣的密文。對出現(xiàn)在當(dāng)前分片f的置亂密文中且與下一個分片f+Ι的起始碼密文相同的密文,都采取起始碼密文防競爭操作,并得到處理后的中間密文。在本發(fā)明實施例中,對出現(xiàn)在當(dāng)前分片的置亂密文中且與下一個分片的起始碼密文相同的密文采取起始碼密文防競爭操作,確保當(dāng)前分片的置亂密文中不存在與下一個分片的起始碼密文相同的密文,因此不會錯誤地將出現(xiàn)與下一個分片的起始碼密文相同的密文的位置識別為下一個分片的起始位置。在步驟S205中,將中間密文、起始碼密文以及密鑰密文組合成碼流密文。將得到的中間密文、起始碼密文以及密鑰密文組合起來,并寫入碼流密文以便傳輸,如圖4所示。圖4示出了碼流密文中第f_l分片和第f分片的結(jié)構(gòu),其中,第f_l分片的碼流密文包含了該第分片的起始碼密文、加密該第分片的起始碼所用的密鑰Sg 的密文、以及對該第f-ι分片的置亂密文采取起始碼防競爭處理后得到的中間密文;第f分片的碼流密文包含了該第f分片的起始碼密文、加密該第f分片的起始碼所用的密鑰&的密文、以及對該第f分片的置亂密文采取起始碼防競爭處理后得到的中間密文。本發(fā)明實施例中,使用固定密鑰組以及利用預(yù)先配置的密鑰共同加密I幀第一分片的頭信息、起始碼、加密起始碼的密鑰以及執(zhí)行置亂頭信息密文、對置亂密文中與起始碼密文相同的密文采取起始碼密文防競爭處理等操作;在當(dāng)前分片為非I幀或者I幀第一分片以外的任一分片時,則使用固定密鑰組以及利用上一個已編碼分片的相關(guān)變量生成的密鑰,共同加密當(dāng)前非I幀或者I幀第一分片以外的任一分片的頭信息、起始碼、加密起始碼的密鑰以及執(zhí)行置亂頭信息密文、對置亂密文中與起始碼密文相同的密文采取起始碼密文防競爭處理等操作。其中,固定的加密頭信息的密鑰組Dchl,、,...,kto]、置亂頭信息的密
12鑰組Rca,k。2,...,k。n]、加密起始碼的密鑰組Rsl,ks2,...,ksn]以及加密起始碼密鑰的密鑰組[kbl,kb2,kbn]可以根據(jù)實際情況的要求選擇相同也可以不同,當(dāng)固定密鑰組都相同時,計算復(fù)雜度會降低,而固定密鑰組不同時,則可以提高該碼流抵抗攻擊的能力;同理, 預(yù)先配置的加密I幀第一個分片頭信息的密鑰%、置亂密鑰Ctl、加密起始碼的密鑰^也可以相同或者不同,加密非I幀以及I幀第一個以外的任一分片的頭信息的密鑰Iv1、置亂密鑰 Cf^1以及加密起始碼的密鑰Sg,可以利用上一個已編碼分片相關(guān)的相同變量或者不同變量生成,生成方法可以相同也可以不同,如都利用上一個已編碼分片的字節(jié)長度采用相同或者不同的方法生成,也可以利用相同或不同的混沌模型生成。對包含視頻碼流結(jié)構(gòu)和視頻編碼關(guān)鍵技術(shù)參數(shù)等重要信息的視頻碼流中頭信息、起始碼進(jìn)行逐字或逐字節(jié)的加密,并通過置亂頭信息密文,打亂頭信息密文在視頻碼流中的位置,有效地隱藏起始碼和頭信息, 保證了視頻碼流中頭信息和起始碼的安全;在對非I幀或者I幀第一分片以外的任一分片進(jìn)行加密時,采用不同的密鑰,進(jìn)一步提高該加密方法的可靠性,提高視頻碼流格式抵抗破解的能力,防止視頻內(nèi)容被非法篡改,從而保障視頻數(shù)據(jù)在存儲和傳輸過程中的安全性。而對置亂密文中與起始碼密文相同的密文,采取起始碼密文防競爭處理等操作,則能夠正確識別各分片的起始位置。由于頭信息和起始碼在視頻碼流中所占的比例很低,因此對頭信息和起始碼加密所需的數(shù)據(jù)量很小,對頭信息密文進(jìn)行置亂、對置亂密文采取起始碼防競爭處理所需的數(shù)據(jù)量也很小,因此本發(fā)明除了具有安全性之外,還具有計算低復(fù)雜度的特性,在對每一個分片進(jìn)行視頻編碼后,就可對編碼后的分片進(jìn)行加密操作,不需為該加密操作額外增加分片進(jìn)行緩存,降低傳輸視頻碼流的延遲。又由于本發(fā)明的加密方法沒有改變數(shù)據(jù)信息部分,因此不會影響視頻的壓縮效率,而加密過程僅增加下一分片起始碼加密所需密鑰的密文,增加的額外數(shù)據(jù)量很小,因此也不會對視頻的圖像質(zhì)量造成明顯影響。此外,由于在每個I幀的第一個分片都使用預(yù)設(shè)的密鑰加密頭信息、起始碼以及置亂頭信息密文,而不是采用與上一個已編碼分片的相關(guān)變量生成的密鑰,因此可以將發(fā)生錯誤的視頻碼流密文控制在一個I幀間隔周期內(nèi),較好地保持了碼流的容錯性和隨機訪問的特性。實施例二 圖5示出了本發(fā)明第二實施例提供的一種視頻碼流加密裝置的結(jié)構(gòu),為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分。該視頻碼流解密裝置可以是運行于通信終端或存儲終端內(nèi)的軟件單元、硬件單元或者軟硬件相結(jié)合的單元,也可以作為獨立的掛件集成到這些通信終端或存儲終端中或者運行于這些通信終端或存儲終端的應(yīng)用系統(tǒng)中。其中加密頭信息模塊501,用于對分片的頭信息進(jìn)行加密處理,得到頭信息密文;置亂模塊502,用于對加密頭信息模塊501得到的頭信息的密文與頭信息密文所處分片的數(shù)據(jù)信息明文執(zhí)行置亂操作,得到置亂密文;起始碼和加密起始碼密鑰加密模塊503,對分片的起始碼以及加密下一分片起始碼的密鑰進(jìn)行加密處理,分別得到起始碼密文和密鑰密文;起始碼防競爭模塊504,用于對置亂密文中與起始碼密文相同的密文,采取起始碼密文防競爭處理,得到中間密文;組合模塊505,用于將起始碼防競爭模塊504的中間密文、起始碼和加密起始碼密鑰加密模塊503的起始碼密文以及密鑰密文組合成碼流密文。本發(fā)明實施例中,對包含視頻碼流結(jié)構(gòu)和視頻編碼關(guān)鍵技術(shù)參數(shù)等重要信息的視頻碼流中頭信息、起始碼進(jìn)行逐字或逐字節(jié)的加密,并通過置亂頭信息密文,打亂頭信息密文在視頻碼流中的位置,有效地隱藏起始碼和頭信息,保證了視頻碼流中頭信息和起始碼的安全;在對非I幀或者I幀第一分片以外的任一分片進(jìn)行加密時,采用不同的密鑰,進(jìn)一步提高該加密方法的可靠性,提高視頻碼流格式抵抗破解的能力,防止視頻內(nèi)容被非法篡改,從而保障視頻數(shù)據(jù)在存儲和傳輸過程中的安全性。而對置亂密文中與起始碼密文相同的密文,采取起始碼密文防競爭處理等操作,則能夠正確識別各分片的起始位置。由于頭信息和起始碼在視頻碼流中所占的比例很低,因此對頭信息和起始碼加密所需的數(shù)據(jù)量很小,對頭信息密文進(jìn)行置亂、對置亂密文采取起始碼防競爭處理所需的數(shù)據(jù)量也很小,因此本發(fā)明除了具有安全性之外,還具有計算低復(fù)雜度的特性,在對每一個分片進(jìn)行視頻編碼后,就可對編碼后的分片進(jìn)行加密操作,不需為該加密操作額外增加分片進(jìn)行緩存,降低傳輸視頻碼流的延遲。又由于本發(fā)明的加密方法沒有改變數(shù)據(jù)信息部分,因此不會影響視頻的壓縮效率,而加密過程僅增加下一分片起始碼加密所需密鑰的密文,增加的額外數(shù)據(jù)量很小,因此也不會對視頻的圖像質(zhì)量造成明顯影響。此外,由于在每個I幀的第一個分片都使用預(yù)設(shè)的密鑰加密頭信息、起始碼以及置亂頭信息密文,而不是采用與上一個已編碼分片的相關(guān)變量生成的密鑰,因此可以將發(fā)生錯誤的視頻碼流密文控制在一個I幀間隔周期內(nèi),較好地保持了碼流的容錯性和隨機訪問的特性。作為本發(fā)明的另一個實施例,該視頻碼流加密裝置還包括生成密鑰模塊506,用于生成相同或不同的用于加密分片的頭信息、起始碼、對起始碼加密所用密鑰以及置亂頭信息密文的密鑰。作為本發(fā)明的另一個實施例,加密頭信息模塊501還包括加密第一分片頭信息單元5011,用于使用配置的初始密鑰與固定密鑰組共同加密I幀第一個分片的頭信息;力口密非第一分片頭信息單元5012,用于使用上一個分片的相關(guān)變量生成的密鑰與固定密鑰組共同加密非I幀以及I幀第一個分片以外的任一分片的頭信息。作為本發(fā)明的另一個實施例,置亂模塊502還包括置亂第一分片頭信息密文單元5021,用于使用配置的初始密鑰與固定密鑰組共同置亂I幀第一個分片的頭信息密文與所述頭信息密文所處分片的數(shù)據(jù)信息明文;置亂非第一分片頭信息密文單元5022,用于使用上一個分片的相關(guān)變量生成的密鑰與固定密鑰組共同加密非I幀以及I幀第一個分片以外的任一分片的頭信息密文與所述頭信息密文所處分片的數(shù)據(jù)信息明文。作為本發(fā)明的另一個實施例,起始碼和加密起始碼密鑰加密模塊503還包括力口密第一分片起始碼單元5031,用于使用配置的初始密鑰與固定密鑰組共同加密I幀第一個分片的起始碼;加密非第一分片起始碼以及密鑰單元5032,用于使用上一個分片的相關(guān)變量生成的密鑰與固定密鑰組共同加密下一個非I幀分片以及I幀第一個分片以外的任一分片的起始碼,并用固定密鑰組加密該使用上一個分片的相關(guān)變量生成的密鑰。實施例三圖6示出了本發(fā)明第三實施例提供的一種視頻碼流解密方法流程,詳述如下在步驟S601中,根據(jù)分片的起始碼密文以及解密上一分片時獲取的加密該分片起始碼的密鑰,解密以獲取起始碼明文以及用于加密下一分片起始碼的密鑰,并獲取該分片的中間密文;由于一個視頻流中各分片都采用相同的起始碼,因此該步驟在解碼端視頻流起始碼未知情況下執(zhí)行,例如解碼端接收到的第一個I幀的第一個分片時需要執(zhí)行該步驟獲取起始碼。此后就將該起始碼保存在解碼端,便于后續(xù)分片解密時使用。在已知起始碼情況下,可以不執(zhí)行該步驟,或者執(zhí)行該步驟作為驗證碼流正確性的一種手段。本發(fā)明實施例中,使用密鑰組[S(1,ksl,ks2,. . .,ksn]加密I幀第一個分片的起始碼, 使用密鑰組[Sg,ksl,ks2,ksn]加密非I幀以及I幀第一個分片以外的任一 f分片的起始碼,其中,該非I幀為視頻流中除I幀以外的幀,如P幀和B幀。因此,在獲取分片的起始碼明文之前,首先應(yīng)判斷起始碼密文是否為I幀第一個分片的起始碼密文,若當(dāng)前分片f 為I幀第一個分片,則采用密鑰組[Stl, ksl,ks2,ksn]對相應(yīng)的I幀第一個分片的起始碼密文執(zhí)行逆加密運算,解密出相應(yīng)的起始碼明文;否則,采用在f-ι分片解密時獲得的密鑰組[Sg,ksl,ks2,ksn]對f分片的起始碼密文執(zhí)行逆加密運算,解密出相應(yīng)的起始碼明文。在本發(fā)明實施例中,使用固定密鑰組[kbl,kb2,. . .,kbn]對&進(jìn)行加密,因此,使用同樣的固定密鑰組[kbl,kb2,kbn]對&的密文執(zhí)行解密操作,就可以得到加密下一分片f+1 起始碼的密鑰&。即,從已識別的當(dāng)前分片f的起始碼密文后,根據(jù)密鑰密文的固定長度取出Sg的密文,解密出f分片起始碼加密時采用的密鑰sf,所得到的&與固定密鑰組Rsl, ks2,. . .,ksn] 一起,即為加密下一分片f+Ι起始碼的密鑰。為了更清楚地說明解密起始碼明文的過程,下面舉例說明假設(shè)使用加密運算法則G、固定密鑰組Rsl,ks2]以及、=Lm% 256加密分片f 的起始碼,其中,Lf^1為上一個分片f_l編碼后字節(jié)的長度。加密運算法則G為bsJ = G(bj; ksl,ks2) = (b,kslXj) % 256,其中 j = 2n_l,η 為非 0 自然數(shù);bsJ = G(bj; Sm, ksl,ks2) = (bj+s^+k^Xj) % 256,其中 j = 2η,η 為非 0 自然數(shù)。固定密鑰組取為[3,9],字節(jié)長度1^_1取為500,對于!^64/^¥(標(biāo)準(zhǔn)的四字節(jié)起始碼密文0x03060918,即bsl = 3,bs2 = 6,bs3 = 9,bs4 = 24,假設(shè)上一分片f-1編碼后的字節(jié)長度為500,則根據(jù)公式,得到Sg = 500% 256 = M4,將起始碼密文、固定密鑰組[3, 9]、Sf^1等代入上述加密運算法則G中,解密當(dāng)前分片f的起始碼,得到的起始碼明文如下 bi = 0, b2 = 0, b3 = 0, b4 = 1,即所求起始碼為 0x00000001。根據(jù)得到的分片f+Ι起始碼加密的密鑰,按照與加密起始碼過程相同的方法就能生成下一個分片f+Ι的2種起始碼密文,一種為I幀第一個分片的起始碼密文,一種為非I 幀以及I幀第一個分片以外的任一分片的起始碼密文,再從密鑰密文之后開始查找這兩種起始碼密文,確定當(dāng)前分片f的結(jié)束位置,取出當(dāng)前分片f的中間密文,并確定下一個分片 f+Ι是否為I幀的第一個分片。在步驟S602中,對分片中采取起始碼密文防競爭操作的中間密文采用起始碼密文逆防競爭操作,解密出置亂密文;由于在加密時對置亂密文做了起始碼密文防競爭處理,因此解密時還需對中間密文進(jìn)行起始碼密文防競爭逆處理,以得到置亂密文。若要從分片中采取起始碼密文防競爭操作的中間密文中解密出置亂密文,需要對2種起始碼密文做防競爭逆操作。為了更清楚地說明解密采用了起始碼逆防競爭操作的中間密文,獲取包含頭信息密文與頭信息密文所處分片的數(shù)據(jù)信息明文的置亂密文的過程,下面舉例進(jìn)行說明
假設(shè)在分片f+Ι的一種4字節(jié)起始碼密文,按字節(jié)順序依次為yi,y2, y3,y4 ;另一種為Zl,z2, z3, Z4 ;對置亂密文進(jìn)行防競爭處理,將置亂密文中出現(xiàn)的4種序列,Y1, y2, y3,
;又1,又2,又3,^5 ^Z1 Z2, Z3, Z4 ; Z1 j Z2, Z3, Z5 分別轉(zhuǎn)換為,Y1, I2, y3,Z5, y4 ;Y1, Y2, y3, Z5, Z5 ;Z1, Z2, z3, z5, Z4 ;Zl,z2, z3, z5, Z5 ;即在序列的倒數(shù)第2位插入一個z5。在解密中間密文的過程中,如果檢測到下面2種序列yi,y2, y3, Z5 ;Zl,z2, z3, Z5 ;則丟棄Z5,恢復(fù)包含頭信息密文與頭信息密文所處分片的數(shù)據(jù)信息明文的置亂密文。在步驟S603中,解密分片的置亂密文,獲取頭信息的密文以及數(shù)據(jù)信息明文;根據(jù)置亂頭信息密文與頭信息密文所處分片的數(shù)據(jù)信息明文所用的密鑰以及置亂密文,解密出頭信息的密文以及頭信息密文所處分片的數(shù)據(jù)信息明文。在本發(fā)明實施例中,若當(dāng)前分片為I幀第一分片,置亂該分片頭信息的密文與該片數(shù)據(jù)信息明文所用的密鑰為[(Vkc^kci2,...,kj,其中,Ctl為預(yù)先配置的一個密鑰;否則, 置亂當(dāng)前分片f的頭信息密文與該片數(shù)據(jù)信息明文所用的密鑰為[(V1,kcl, k。2,. . .,kj, 其中(V1為根據(jù)分片f-ι的相關(guān)變量計算得到。根據(jù)分片是否為I幀第一分片,采取相應(yīng)的置亂密鑰組,從置亂密文中解密出頭信息密文以及頭信息密文所處分片的數(shù)據(jù)信息明文,該步驟與實施例一中置亂加密的步驟相似,為置亂加密的逆運算,此處不再贅述。在步驟S604中,解密分片的頭信息密文,獲取頭信息。根據(jù)從置亂密文中得到的頭信息密文以及加密該頭信息的密鑰,解密出相應(yīng)的頭 fn息ο本發(fā)明實施例中,若當(dāng)前分片f為I幀第一分片,則加密該分片的頭信息使用的密鑰組是Dvk1^kh2,... ,kj ;否則,加密該分片的頭信息使用的密鑰組是Dv1,v,、,..., kta],因此,在解密頭信息時,如果頭信息的密文為ι幀第一分片頭信息的密文,則使用密鑰組DvkhlAh2,... ,kj解密;如果頭信息的密文是非ι幀以及ι幀第一分片以外任一分片頭信息的密文,則使用密鑰組[hf_i,khl,、,...,kto]解密。其中hQ、[khl, kh2,. . .,kta]為預(yù)先配置的密鑰,而hf_i則是根據(jù)上一個分片f-1的相關(guān)變量得到,比如根據(jù)字節(jié)長度計算得到。本發(fā)明實施例中,根據(jù)對當(dāng)前分片的頭信息、起始碼、加密起始碼的密鑰進(jìn)行加密所用的密鑰,以及置亂頭信息密文與該頭信息密文所處分片的數(shù)據(jù)信息明文所用的密鑰, 從相應(yīng)的密文中解密出頭信息、起始碼、加密起始碼的密鑰以及數(shù)據(jù)信息明文。由于僅需對數(shù)據(jù)較少的頭信息密文、起始碼密文、中間密文、置亂密文以及密鑰密文執(zhí)行解密操作,而不用對分片中數(shù)據(jù)較多的數(shù)據(jù)信息執(zhí)行解密操作,因而大大降低了計算復(fù)雜度。實施例四圖7示出了本發(fā)明第四實施例提供的視頻碼流解密裝置結(jié)構(gòu),為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分。該視頻碼流解密裝置可以是運行于通信終端或存儲終端內(nèi)的軟件單元、硬件單元或者軟硬件相結(jié)合的單元,也可以作為獨立的掛件集成到這些通信終端或存儲終端中或者運行于這些通信終端或存儲終端的應(yīng)用系統(tǒng)中。其中 解密起始碼密文模塊701,用于根據(jù)分片的起始碼密文以及解密上一分片時獲取的加密該分片起始碼的密鑰,解密以獲取起始碼明文以及用于加密下一分片起始碼的密鑰,并獲取該分片的中間密文;解密中間密文模塊702,用于對分片中采取起始碼密文防競爭操作的中間密文采用起始碼密文逆防競爭操作,解密出置亂密文;解密置亂密文模塊703,用于解密分片的置亂密文,獲取頭信息的密文以及數(shù)據(jù)信息明文;解密頭信息密文模塊704,用于解密分片的頭信息密文,獲取頭信息。本發(fā)明實施例中,解密起始碼密文模塊701、解密中間密文模塊702,根據(jù)從碼流密文中取出的起始碼密文、密鑰密文以及中間密文分別解密出相應(yīng)的起始碼密鑰、起始碼明文以及置亂密文,再通過解密置亂密文模塊703解密該置亂密文,解密出頭信息密文、數(shù)據(jù)信息明文,最后由解密頭信息密文模塊704解密出頭信息。由于解密的過程中,計算的復(fù)雜度都較低,因此可以快速地從密文中解密出相應(yīng)的明文信息。本發(fā)明實施例,使用固定密鑰組以及利用預(yù)先配置的密鑰共同加密I幀第一分片的頭信息、起始碼、加密起始碼的密鑰以及執(zhí)行置亂頭信息密文、對置亂密文中與起始碼密文相同的密文采取起始碼密文防競爭處理等操作;在當(dāng)前分片為非I幀或者I幀第一分片以外的任一分片時,則使用固定密鑰組以及利用上一個已編碼分片的相關(guān)變量生成的密鑰,共同加密當(dāng)前非I幀或者I幀第一分片以外的任一分片的頭信息、起始碼、加密起始碼的密鑰以及執(zhí)行置亂頭信息密文、對置亂密文中與起始碼密文相同的密文采取起始碼密文防競爭處理等操作。其中,固定的加密頭信息的密鑰組Dchl,、,...,kto]、置亂頭信息的密鑰組Rca,k。2,...,k。n]、加密起始碼的密鑰組Rsl,ks2,...,ksn]以及加密起始碼密鑰的密鑰組[kbl,kb2,kbn]可以根據(jù)實際情況的要求選擇相同也可以不同,當(dāng)固定密鑰組都相同時,計算復(fù)雜度會降低,而固定密鑰組不同時,則可以提高該碼流抵抗攻擊的能力;同理, 預(yù)先配置的加密I幀第一個分片頭信息的密鑰Iv置亂密鑰Ctl、加密起始碼的密鑰%也可以相同或者不同,加密非I幀以及I幀第一個以外的任一分片的頭信息的密鑰Iv1、置亂密鑰 Cf^1以及加密起始碼的密鑰Sh,可以利用上一個已編碼分片相關(guān)的相同變量或者不同變量生成,生成方法可以相同也可以不同,如都利用上一個已編碼分片的字節(jié)長度采用相同或者不同的方法生成,也可以利用相同或不同的混沌模型生成。對包含視頻碼流結(jié)構(gòu)和視頻編碼關(guān)鍵技術(shù)參數(shù)等重要信息的視頻碼流中頭信息、起始碼進(jìn)行逐字或逐字節(jié)的加密,并通過置亂頭信息密文,打亂頭信息密文在視頻碼流中的位置,有效地隱藏起始碼和頭信息, 保證了視頻碼流中頭信息和起始碼的安全;在對非I幀或者I幀第一分片以外的任一分片進(jìn)行加密時,采用不同的密鑰,進(jìn)一步提高該加密方法的可靠性,提高視頻碼流格式抵抗破解的能力,防止視頻內(nèi)容被非法篡改,從而保障視頻數(shù)據(jù)在存儲和傳輸過程中的安全性。而對置亂密文中與起始碼密文相同的密文,采取起始碼密文防競爭處理等操作,則能夠正確識別各分片的起始位置。由于頭信息和起始碼在視頻碼流中所占的比例很低,因此對頭信息和起始碼加密所需的數(shù)據(jù)量很小,對頭信息密文進(jìn)行置亂、對置亂密文采取起始碼防競爭處理所需的數(shù)據(jù)量也很小,因此本發(fā)明除了具有安全性之外,還具有計算低復(fù)雜度的特性,在對每一個分片進(jìn)行視頻編碼后,就可對編碼后的分片進(jìn)行加密操作,不需為該加密操作額外增加分片進(jìn)行緩存,降低傳輸視頻碼流的延遲。又由于本發(fā)明的加密方法沒有改變數(shù)據(jù)信息部分,因此不會影響視頻的壓縮效率,而加密過程僅增加下一分片起始碼加密所需密鑰的密文,增加的額外數(shù)據(jù)量很小,因此也不會對視頻的圖像質(zhì)量造成明顯影響。此外,由于在每個I幀的第一個分片都使用預(yù)設(shè)的密鑰加密頭信息、起始碼以及置亂頭信息密文,而不是采用與上一個已編碼分片的相關(guān)變量生成的密鑰,因此可以將發(fā)生錯誤的視頻碼流密文控制在一個I幀間隔周期內(nèi),較好地保持了碼流的容錯性和隨機訪問的特性。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種視頻碼流加密方法,其特征在于,所述方法包括下述步驟 對分片的頭信息進(jìn)行加密處理,得到頭信息密文;對得到的頭信息密文與所述頭信息密文所處分片的數(shù)據(jù)信息明文進(jìn)行置亂加密,得到置亂密文;對分片的起始碼以及加密下一分片起始碼的密鑰進(jìn)行加密處理,分別得到起始碼密文和密鑰密文;對置亂密文中與起始碼密文相同的密文,采取起始碼密文防競爭處理,得到中間密文;將中間密文、起始碼密文以及密鑰密文組合成碼流密文。
2.如權(quán)利要求1所述的方法,其特征在于,所述對分片的頭信息進(jìn)行加密處理,得到頭信息密文的步驟具體為使用配置的初始密鑰與固定密鑰組共同加密I幀第一個分片的頭信息; 使用上一個分片的相關(guān)變量生成的密鑰與固定密鑰組共同加密非I幀以及I幀第一個分片以外的任一分片的頭信息。
3.如權(quán)利要求1所述的方法,其特征在于,所述對得到的頭信息密文與所述頭信息密文所處分片的數(shù)據(jù)信息明文進(jìn)行置亂加密,得到置亂密文的步驟具體為使用配置的初始密鑰與固定密鑰組共同置亂I幀第一個分片的頭信息密文與所述頭信息密文所處分片的數(shù)據(jù)信息明文;使用上一個分片的相關(guān)變量生成的密鑰與固定密鑰組共同加密非I幀以及I幀第一個分片以外的任一分片的頭信息密文與所述頭信息密文所處分片的數(shù)據(jù)信息明文。
4.如權(quán)利要求1所述的方法,其特征在于,所述對分片的起始碼以及加密下一分片起始碼的密鑰進(jìn)行加密處理,分別得到起始碼密文和密鑰密文的步驟具體為使用配置的初始密鑰與固定密鑰組共同加密I幀第一個分片的起始碼; 使用上一個分片的相關(guān)變量生成的密鑰與固定密鑰組共同加密下一個非I幀分片以及I幀第一個分片以外的任一分片的起始碼,并用固定密鑰組加密使用上一個分片的相關(guān)變量生成的密鑰。
5.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括下述步驟生成相同或不同的用于加密分片的頭信息、起始碼、對起始碼加密所用密鑰以及置亂頭信息密文的密鑰。
6.一種視頻碼流加密裝置,其特征在于,所述裝置包括加密頭信息模塊,用于對分片的頭信息進(jìn)行加密處理,得到頭信息密文; 置亂模塊,用于對得到頭信息密文與頭信息密文所處分片的數(shù)據(jù)信息明文進(jìn)行置亂加密,得到置亂密文;起始碼和加密起始碼密鑰加密模塊,用于對分片的起始碼以及加密下一分片起始碼的密鑰進(jìn)行加密處理,分別得到起始碼密文和密鑰密文;起始碼防競爭模塊,用于對置亂密文中與起始碼密文相同的密文,采取起始碼密文防競爭處理,得到中間密文;組合模塊,用于將中間密文、起始碼密文以及密鑰密文組合成碼流密文。
7.如權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括生成密鑰模塊,用于生成相同或不同的用于加密分片的頭信息、起始碼、對起始碼加密所用密鑰以及置亂頭信息密文的密鑰。
8.一種包含權(quán)利要求6至7任一項的視頻碼流加密裝置的通信終端。
9.一種包含權(quán)利要求6至7任一項的視頻碼流加密裝置的存儲終端。
10.一種視頻碼流解密方法,其特征在于,所述方法包括下述步驟根據(jù)分片的起始碼密文以及解密上一分片時獲取的加密所述分片起始碼的密鑰,解密以獲取起始碼明文以及用于加密下一分片起始碼的密鑰,并獲取所述分片的中間密文;對分片中采取起始碼密文防競爭操作的中間密文采用起始碼密文逆防競爭操作,解密出置亂密文;解密分片的置亂密文,獲取頭信息的密文以及數(shù)據(jù)信息明文; 解密分片的頭信息密文,獲取頭信息。
11.如權(quán)利要求10所述的方法,其特征在于,所述根據(jù)分片的起始碼密文以及解密上一分片時獲取的加密所述分片起始碼的密鑰,解密以獲取起始碼明文以及用于加密下一分片起始碼的密鑰,并獲取所述分片的中間密文的步驟具體為根據(jù)配置的初始密鑰和密鑰組以及起始碼密文解密出I幀第一分片的起始碼以及加密所述I幀第一分片的下一分片起始碼的密鑰,并獲取所述I幀第一分片的中間密文;根據(jù)獲得的密鑰組和起始碼密文解密出非I幀或I幀第一分片以外的任一分片的起始碼,以及加密所述非I幀或I幀第一分片以外的任一分片的下一分片起始碼的密鑰,并獲取所述非I幀或I幀第一分片以外的任一分片的中間密文。
12.一種視頻碼流解密裝置,其特征在于,所述裝置包括解密起始碼密文模塊,用于根據(jù)分片的起始碼密文以及解密上一分片時獲取的加密所述分片起始碼的密鑰,解密以獲取起始碼明文以及用于加密下一分片起始碼的密鑰,并獲取所述分片的中間密文;解密中間密文模塊,用于對分片中采取起始碼密文防競爭操作的中間密文采用起始碼密文逆防競爭操作,解密出置亂密文;解密置亂密文模塊,用于解密分片的置亂密文,獲取頭信息的密文以及數(shù)據(jù)信息明文;解密頭信息密文模塊,用于解密分片的頭信息密文,獲取頭信息。
13.一種包含權(quán)利要求12的視頻碼流解密裝置的通信終端。
14.一種包含權(quán)利要求12的視頻碼流解密裝置的存儲終端。
全文摘要
本發(fā)明適用于音視頻領(lǐng)域,尤其涉及一種視頻碼流加、解密方法、裝置及通信、存儲終端。該視頻流加密方法包括對分片的頭信息進(jìn)行加密處理,得到頭信息密文;對得到的頭信息密文與所述頭信息密文所處分片的數(shù)據(jù)信息明文進(jìn)行置亂加密,得到置亂密文;對分片的起始碼以及加密下一分片起始碼的密鑰進(jìn)行加密處理,分別得到起始碼密文和密鑰密文;對置亂密文中與起始碼密文相同的密文,采取起始碼密文防競爭處理,得到中間密文;將中間密文、起始碼密文以及密鑰密文組合成碼流密文。本發(fā)明大大降低了計算復(fù)雜度,而且不影響視頻的壓縮效率以及視頻的圖像質(zhì)量。
文檔編號H04N21/4405GK102469344SQ20101054886
公開日2012年5月23日 申請日期2010年11月16日 優(yōu)先權(quán)日2010年11月16日
發(fā)明者谷沉沉 申請人:騰訊科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
通海县| 永靖县| 成武县| 施甸县| 江都市| 商城县| 昭平县| 乌什县| 无为县| 大悟县| 巫山县| 株洲市| 渑池县| 宜丰县| 汤原县| 嵊泗县| 和静县| 阿拉善左旗| 宁远县| 崇明县| 西峡县| 开封县| 年辖:市辖区| 宿州市| 张家口市| 德化县| 平泉县| 砚山县| 华池县| 兰州市| 海安县| 竹溪县| 武川县| 双鸭山市| 柳林县| 崇左市| 晋中市| 临桂县| 冕宁县| 筠连县| 绩溪县|