龐明源,范貴進(jìn),孫容海
(廣西師范大學(xué)計(jì)算機(jī)科學(xué)與信息工程學(xué)院,桂林 541004)
隨著信息技術(shù)的飛速發(fā)展,通過(guò)互聯(lián)網(wǎng)進(jìn)行通信交流變得更加方便。與此同時(shí),在信息傳輸過(guò)程中存在隱私泄露、信息篡改、信息偽造等重大安全風(fēng)險(xiǎn)。因此,信息安全在過(guò)去的幾年里被越來(lái)越多的人們關(guān)注。可逆信息隱藏(RDH)[1-3]作為一門(mén)新興的數(shù)據(jù)保護(hù)技術(shù),它可以在圖像、視頻、音頻等多媒體載體中嵌入秘密信息,且不會(huì)改變載體的感知特性。秘密信息被正確提取后,還能將原始載體無(wú)損恢復(fù)。這些優(yōu)勢(shì)使得RDH技術(shù)被廣泛運(yùn)用于很多領(lǐng)域,如司法成像、隱私保護(hù)、醫(yī)療應(yīng)用和軍事通信等。隨著數(shù)字圖像在我們生活中的廣泛應(yīng)用,研究者們?cè)O(shè)計(jì)了許多基于數(shù)字圖像的RDH算法。根據(jù)載體圖像加密與否,這些基于數(shù)字圖像的RDH算法可以分為兩種:基于明文圖像的可逆信息隱藏(RDH)算法[4-5]和基于密文圖像的可逆信息隱藏(RDH-EI)算法[6-8]?;诿魑膱D像的可逆信息隱藏能保證載體圖像在嵌入秘密信息以后依然保持較高的視覺(jué)質(zhì)量,因此也就存在泄露載體圖像內(nèi)容的風(fēng)險(xiǎn)。而隨著云存儲(chǔ)技術(shù)的興起,針對(duì)云存儲(chǔ)場(chǎng)景的特點(diǎn),內(nèi)容所有者希望在將圖像上傳到云環(huán)境之前進(jìn)行加密,以實(shí)現(xiàn)圖像內(nèi)容保護(hù)。而云存儲(chǔ)服務(wù)提供商則希望在圖像中嵌入附加信息以便于實(shí)現(xiàn)圖像管理、圖像檢索、版權(quán)保護(hù)等需求。因此,在過(guò)去的幾年里,研究人員為密文圖像設(shè)計(jì)了多種RDH-EI算法?,F(xiàn)有的RDH-EI算法可以分為兩種:加密前騰出空間(RRBE)[9-18]、加密后騰出空間(RRAE)[19-27]。
本文首先介紹了圖像加密技術(shù),然后對(duì)不同類(lèi)型的密文圖像可逆信息隱藏算法進(jìn)行了分析和總結(jié),最后對(duì)加密圖像可逆信息隱藏算法的發(fā)展方向進(jìn)行了展望。
利用數(shù)字圖像具有二維矩陣模型的特點(diǎn),根據(jù)特定的變換規(guī)則將數(shù)字圖像像素的位置或者像素值進(jìn)行改變,將原來(lái)具有具體意義的明文圖像變?yōu)榕c信道隨機(jī)噪聲類(lèi)似的密文圖像,以此來(lái)達(dá)到掩蓋原始圖像意義的目的。當(dāng)前圖像加密領(lǐng)域已經(jīng)取得了豐富的成果,按照加密思路可以將其分成以下三種類(lèi)型。
此類(lèi)技術(shù)的基本原理是通過(guò)變換原始圖像的像素之間的位置關(guān)系,從而達(dá)到破壞像素之間相關(guān)性,以達(dá)到圖像加密目的。由于經(jīng)過(guò)像素置亂后的圖像變?yōu)闆](méi)有原始圖像意義的亂碼,所以圖像內(nèi)容的安全可以得到保障。目前流行的圖像置亂算法主要有:Arnold變換、仿射變換和基于Scan語(yǔ)言的置亂等。Arnold變換是通過(guò)對(duì)原始圖像像素進(jìn)行錯(cuò)切、模運(yùn)算等操作來(lái)破壞像素間的相關(guān)性,具有計(jì)算復(fù)雜度低和置亂效果好等優(yōu)點(diǎn)。仿射變換是通過(guò)對(duì)原始圖像進(jìn)行平移、縮放、旋轉(zhuǎn)、對(duì)稱(chēng)和錯(cuò)切中的一種或幾種操作來(lái)達(dá)到加密圖像的目的,具有良好的加密效果。Arnold變換和仿射變換都具有周期性,經(jīng)過(guò)相應(yīng)次數(shù)迭代或者反變換就能恢復(fù)原始圖像。
混沌現(xiàn)象是一種存在于非線性系統(tǒng)中的類(lèi)似于隨機(jī)的不規(guī)則運(yùn)動(dòng),而且這種運(yùn)動(dòng)沒(méi)有周期,不可被預(yù)測(cè)。它對(duì)于系統(tǒng)的初始狀態(tài)和控制參數(shù)具有很強(qiáng)的敏感性,任何一點(diǎn)細(xì)微的偏差都可能導(dǎo)致巨大的變化,所以非常適合應(yīng)用于圖像加密。當(dāng)前流行的混沌系統(tǒng)主要有:Henon映射、Cubic映射、Logistic混沌映射等。在圖像加密過(guò)程中,通常使用混沌系統(tǒng)的初始值和控制參數(shù)作為密鑰產(chǎn)生流密碼。將產(chǎn)生的流密碼與原始圖像的像素進(jìn)行某種可逆的運(yùn)算,如異或運(yùn)算,以達(dá)到圖像加密的目的。加密圖像的安全性完全由流密碼的隨機(jī)性決定,流密碼的隨機(jī)性越強(qiáng),則說(shuō)明算法的安全程度越高。
同態(tài)加密系統(tǒng)這個(gè)概念最初是由Rivest等人提出的,在圖像的加密操作中有廣泛的應(yīng)用。它的特點(diǎn)是可以直接在加密圖像中對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算,其運(yùn)算的結(jié)果與直接在明文圖像中運(yùn)算的結(jié)果完全相同,而且在這一過(guò)程中明文圖像的內(nèi)容不會(huì)被泄漏。目前的同態(tài)加密系統(tǒng)根據(jù)其滿(mǎn)足的同態(tài)運(yùn)算類(lèi)型可以分為全同態(tài)加密和特定同態(tài)加密。全同態(tài)加密算法能夠同時(shí)滿(mǎn)足加法同態(tài)和乘法同態(tài),如Gentry算法。特定同態(tài)加密只能滿(mǎn)足加法同態(tài)和乘法同態(tài)中的一種,如RSA算法只對(duì)乘法操作是同態(tài)的,而Paillier算法則只是滿(mǎn)足加法同態(tài)。傳統(tǒng)的同態(tài)加密系統(tǒng)不僅能保證安全性,而且還可以保護(hù)圖像像素之間的相關(guān)性。
目前流行的基于加密圖像的可逆信息隱藏算法根據(jù)加密階段的不同主要分為兩大類(lèi):一類(lèi)是在加密前騰出空間(RRBE)的算法,另一類(lèi)是在加密后騰出空間(RRAE)的算法。下面將詳細(xì)介紹這兩類(lèi)加密圖像可逆信息隱藏算法的流程以及典型算法。
基于RRBE的算法是在原始圖像加密之前在圖像中騰出嵌入秘密信息的空間,然后對(duì)圖像加密。當(dāng)信息嵌入者接收到加密的圖像后可以直接嵌入秘密信息。圖像接收者在接收到載密圖像后,可以根據(jù)圖像解密密鑰和信息解密密鑰來(lái)得到恢復(fù)后的圖像并提取秘密信息,如圖1所示。
圖1 基于RRBE的RDH方案
這類(lèi)算法早期是由Ma等人[9]提出的。他們首先將原始圖像劃分為粗糙區(qū)和平滑區(qū),再利用傳統(tǒng)的RDH算法將粗糙區(qū)多個(gè)LSB(Least Significant Bit)平面嵌入到平滑區(qū),并將粗糙區(qū)域空出的LSB平面用于秘密信息嵌入。在文獻(xiàn)[9]的啟發(fā)下,Mathew和Wilscy[10]提出了一種改進(jìn)的算法,將圖像分為更精細(xì)的粗糙塊和光滑塊。結(jié)果表明,改進(jìn)算法的嵌入容量?jī)?yōu)于Ma等人[9]算法。Zhang等人[11]提出在加密前預(yù)測(cè)一些像素,并通過(guò)移動(dòng)預(yù)測(cè)誤差直方圖來(lái)為嵌入秘密信息騰出空間。該RDH算法在恢復(fù)圖像和數(shù)據(jù)提取方面是無(wú)損的。為了獲得較高的嵌入容量,Yi和Zhou[12]改進(jìn)了Zhang等人[11]的RDH算法,提出利用圖像像素的一半進(jìn)行估計(jì)。在另一項(xiàng)工作中,Cao等人[13]將補(bǔ)丁級(jí)稀疏表示引入到RDH算法中,對(duì)載體圖像進(jìn)行壓縮來(lái)騰出空間嵌入秘密信息。該算法具有較高的嵌入容量。Li等人[14]充分利用了自然圖像的像素冗余性,通過(guò)對(duì)每個(gè)像素塊的像素均值與原始像素的做差來(lái)留出空間。Puteaux和Puech[15]提出了一種新的預(yù)測(cè)方法,利用相鄰像素的相關(guān)性將秘密信息嵌入到像素的MSB中。濮陽(yáng)等人[16]在文獻(xiàn)[15]的啟發(fā)下,改進(jìn)了預(yù)測(cè)方法,將秘密信息嵌入到兩個(gè)MSB中,有效地增加了嵌入容量。Wu等人[17]利用邊緣檢測(cè)器預(yù)測(cè)像素,利用原始像素和預(yù)測(cè)像素之間的像素差異為圖像加密前的嵌入留出空間。Mohanmmadi等人[18]提出將原始圖像分塊,使用像素差值預(yù)測(cè)器預(yù)留空間。
文獻(xiàn)[17]和[18]都充分利用了原始像素之間的空間相關(guān)性,具有較高的嵌入容量。表1對(duì)上述算法的可分離性、加密方式、圖像恢復(fù)與秘密信息提取的準(zhǔn)確性進(jìn)行了比較。
表1 基于RRBE算法的特性比較
基于RRAE的算法是先利用圖像加密密鑰對(duì)原始圖像進(jìn)行加密,信息嵌入者得到加密后的圖像后利用RDH算法將秘密信息嵌入加密圖像中生成載密圖像。圖像接收者得到載密圖像后,利用圖像解密密鑰和信息解密密鑰可以恢復(fù)原始圖像和提取秘密信息,如圖2所示。
圖2 基于RRAE的RDH方案
Zhang在2011年[19]設(shè)計(jì)了一個(gè)著名的基于RRAE的算法。該算法將加密圖像分成不重疊的塊,通過(guò)翻轉(zhuǎn)每個(gè)塊一半像素的3個(gè)最低有效位(LSB)將一位秘密信息嵌入到塊中。它利用波動(dòng)函數(shù)提取秘密信息,理論上不能避免提取誤差。分塊的大小決定了恢復(fù)圖像的質(zhì)量,分塊越大恢復(fù)圖像的視覺(jué)質(zhì)量就越高。受文獻(xiàn)[19]的啟發(fā),Hong等人[20]設(shè)計(jì)了一種新的有效的波動(dòng)函數(shù)來(lái)測(cè)量塊的平滑度,Hong等人的算法提取的錯(cuò)誤比特?cái)?shù)小于Zhang的算法[19]。Zhou等人[21]提出一種利用公鑰調(diào)制機(jī)制嵌入秘密信息的安全RDH算法。這種算法可以在一個(gè)加密塊中嵌入超過(guò)一比特的信息。Yu等人[22]利用二維排列和EMD設(shè)計(jì)了新的RDH方案。該方案構(gòu)建了相鄰加密像素誤差的直方圖,并通過(guò)EMD將秘密信息嵌入到直方圖中。為了保持加密域的空間相關(guān)性,Tang等人[23]利用加性同態(tài)方法對(duì)原始圖像加密,接著通過(guò)移動(dòng)塊內(nèi)像素差的直方圖來(lái)嵌入秘密數(shù)據(jù)。另外,Tang等人[24]使用基于塊的加密方案進(jìn)行圖像加密,并提出了一種名為差分壓縮的新算法,從加密圖像中騰出空間用于數(shù)據(jù)嵌入。Tang等人的兩種方法[23-24]都達(dá)到了較高的嵌入率。Zheng等人[25]使用混沌序列對(duì)原始圖像進(jìn)行加密,然后對(duì)加密后的圖像中像素的LSB進(jìn)行無(wú)損壓縮以騰出空間。Yin等人[26]將原始圖像分塊,采用多粒度加密方法對(duì)圖像進(jìn)行加密,利用直方圖平移方案嵌入秘密信息。Yi和Zhou[27]提出了一種新的參數(shù)二叉樹(shù)標(biāo)記技術(shù),通過(guò)對(duì)加密像素進(jìn)行分類(lèi)來(lái)實(shí)現(xiàn)加密域的空間預(yù)留。該方案也取得了較高的嵌入率。表2對(duì)上述算法的可分離性、加密方式、圖像恢復(fù)與秘密信息提取的準(zhǔn)確性進(jìn)行了比較。
表2 基于RRAE算法的特性比較
本文主要介紹了加密技術(shù)和基于加密圖像的可逆信息隱藏算法。根據(jù)加密階段的不同,加密圖像的可逆信息隱藏算法分為基于RRAE的RDH算法和基于RRBE的RDH算法兩大類(lèi)。通過(guò)對(duì)這兩類(lèi)算法進(jìn)行了分析和比較發(fā)現(xiàn)當(dāng)前研究的主要方向是在保證可以完全恢復(fù)原始圖像的前提下提升嵌入容量,且目前用于嵌入秘密信息的載體大多數(shù)是灰度圖像。利用彩色圖像不同顏色通道之間的關(guān)聯(lián)性,用彩色圖像作為載體圖像的RDH-EI算法研究可以作為下一步的研究方向。