徐暢凱 徐文華
摘 ?要:針對(duì)公眾在網(wǎng)上交流時(shí)文字信息被竊取的問(wèn)題,提出一種文字加密并隱藏于彩色圖像的方法。將文字信息的Unicode碼編碼為20位二進(jìn)制,并以7位以下的數(shù)字作為密碼,以此為參數(shù)構(gòu)造可逆運(yùn)算置亂信息二進(jìn)制編碼,實(shí)現(xiàn)加密,利用LSB算法將加密二進(jìn)制數(shù)據(jù)嵌入藍(lán)光通道,實(shí)現(xiàn)信息隱藏。經(jīng)實(shí)驗(yàn)仿真和數(shù)據(jù)分析表明,該方法易于實(shí)現(xiàn),采用本方法能在彩色圖像中隱藏大量文字信息而不顯著影響圖像的質(zhì)量,且密圖有一定的抗破解能力。
關(guān)鍵詞:彩色圖像;Unicode碼;隱藏;加密
中圖分類號(hào):TP391.41 ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
Abstract:Aiming at the problem of information theft when the public communicates online,a method of information encryption and transmission hidden in color images is proposed.The Unicode of text information is extended to 20-bit binary coding,then enter the number less than 7 bits as the key,and the keys binary value is used to construct an invertible function to scramble the information binary coding for the encryption.Then the encrypted binary data is added to the blue-light channel based on LSB algorithm to realize information hiding.With the experiment and data analysis,this paper reveals that this method is easy to implement and the scheme can hide lots of sound information in color images without significantly affecting the quality of the imagery,and the secret image has certain anti-cracking ability.
Keywords:color image;Unicode;hiding;encryption
1 ? 引言(Introduction)
隨著信息技術(shù)特別是網(wǎng)絡(luò)技術(shù)的發(fā)展,各種信息的交換與傳輸變得越來(lái)越便捷,尤其隨著智能手機(jī)的普及,人們的各種需要都可以通過(guò)手機(jī)終端的APP得到幫助,但在信息傳遞的過(guò)程中,傳輸?shù)男畔㈦S時(shí)面臨被竊取,篡改的危險(xiǎn),因此,如何保證網(wǎng)絡(luò)中信息傳輸?shù)陌踩呀?jīng)成為人們關(guān)注的焦點(diǎn)。信息隱藏和加密技術(shù)是解決信息安全傳輸?shù)囊环N有效途徑。將信息隱藏在圖像中也是近20年來(lái)最常見的技術(shù)之一,在版權(quán)保護(hù)、認(rèn)證等方面有著廣泛的應(yīng)用[1-3]。
目前,國(guó)內(nèi)外的信息隱藏術(shù)發(fā)展為可逆數(shù)據(jù)隱藏方法和非可逆數(shù)據(jù)隱藏方法[4,5]。根據(jù)載體是否可恢復(fù),在信息隱藏的過(guò)程中,若秘密信息通過(guò)載體發(fā)送給接受者以后,可以還原載體的過(guò)程稱為可逆數(shù)據(jù)隱藏。對(duì)于可逆數(shù)據(jù)隱藏目前主要有四種方法,即基于量化的方法、基于直方圖修正的方法、基于壓縮的方法、雙圖像的方法。雙圖像可逆數(shù)據(jù)隱藏是最近很多學(xué)者提出的方法[6],即在嵌入隱藏?cái)?shù)據(jù)的過(guò)程中生成兩個(gè)相似的密圖,該方法和之前的方法相比具較高的數(shù)據(jù)嵌入能力和較低的圖像失真率。
LSB圖像隱藏算法是一種量化的方法。由于圖像一般由像素構(gòu)成的,每個(gè)像素有8位,通常最后幾位的變化,通過(guò)肉眼是無(wú)法察覺(jué)到。LSB算法就是利用視覺(jué)的這一特征,通過(guò)對(duì)圖像二進(jìn)制低位進(jìn)行量化達(dá)到嵌入數(shù)據(jù)的目的。文獻(xiàn)[7]的論證表明該方法易于實(shí)現(xiàn),不可感知性好,且隱藏容量較大。由于LSB算法對(duì)載體的不可逆性,且易檢測(cè)、攻擊和破解等問(wèn)題,很多學(xué)者提出了改進(jìn)的方法,如文獻(xiàn)[8]—文獻(xiàn)[15]。其中文獻(xiàn)[8]提出基于相鄰灰度值對(duì)互補(bǔ)嵌入的LSB匹配隱寫改進(jìn)算法。文獻(xiàn)[9]提出了利用差值擴(kuò)展和直方圖平移的思想給出了一種可逆數(shù)據(jù)隱藏的方法,文獻(xiàn)[10]利用離散余弦變換和JPEG圖像編碼特征給出一種在JPEG圖像中的可逆數(shù)據(jù)隱藏方法。文獻(xiàn)[11]—文獻(xiàn)[15]針對(duì)嵌入效率和嵌入容量提出了改進(jìn)的可逆數(shù)據(jù)隱藏方法。
由于現(xiàn)有的數(shù)據(jù)隱藏方法都是已經(jīng)公開發(fā)表的,因此,若這些方法被竊密者了解和掌握其思想或算法,那么,這些數(shù)據(jù)隱藏方法都是不安全的,針對(duì)這個(gè)問(wèn)題,學(xué)者們提出了結(jié)合密碼學(xué)進(jìn)行加密隱藏的方法。這樣即使竊密者能夠檢測(cè)出該圖像是載密圖像,若不能夠給出正確的密鑰也將無(wú)法提取正確的信息。文獻(xiàn)[16]—文獻(xiàn)[19]給出了利用密鑰加密圖像的方法。其中文獻(xiàn)[18]利用密鑰和混沌模型產(chǎn)生一種混沌嵌入模式,使隱藏的數(shù)據(jù)有較高的安全性,能夠抵抗大多數(shù)常規(guī)攻擊,文獻(xiàn)[19]中,Ke等人提出利用公鑰加密過(guò)程中產(chǎn)生的冗余嵌入數(shù)據(jù)的方法,通過(guò)LWE算法加密后產(chǎn)生的信息冗余設(shè)計(jì)了一種多層加密隱藏方案,可以實(shí)現(xiàn)在載體圖像中嵌入多重隱藏信息并且?guī)в卸嘀財(cái)?shù)據(jù)隱藏密鑰,實(shí)現(xiàn)在特定層次的密鑰只能解開特定層次的隱藏信息。
盡管已經(jīng)有了很多的數(shù)據(jù)隱藏技術(shù),但是將這些技術(shù)具體應(yīng)用在保護(hù)文字安全的不多,大多數(shù)數(shù)據(jù)隱藏技術(shù)都應(yīng)用在數(shù)字水印、數(shù)字認(rèn)證和版權(quán)保護(hù)等方面。人們?cè)诶眉磿r(shí)通訊工具或網(wǎng)絡(luò)上發(fā)送私密文字消息時(shí)候總是擔(dān)心信息被第三方偷窺和利用。比如家庭住址、身份證號(hào)、銀行賬號(hào)、賬戶號(hào)和密碼等等。針對(duì)這個(gè)問(wèn)題,本文給出了一種利用LSB算法結(jié)合密碼將文字信息加密隱藏于彩色圖像中并通過(guò)密碼解密隱藏信息的方法。其中密碼是用戶任意設(shè)定的6位的數(shù)字密碼,文字是Unicode庫(kù)中對(duì)應(yīng)的文字,其中包括漢字及外國(guó)文字,標(biāo)點(diǎn)符號(hào),數(shù)字和英文字母等。利用該方法,當(dāng)用戶在傳輸私密信息時(shí),任選一種彩色圖像作為偽裝,然后設(shè)定一組密碼將該信息隱藏在圖像中,將該圖像傳輸給另一方以后,對(duì)方用該密碼便可解密其中的信息,文本給出的算法具體內(nèi)容如下文所述。
2 ? 算法理論基礎(chǔ)(Theoretical basis of algorithm)
2.1 ? 彩色圖像
由于彩色是由多種光譜合成的,因此彩色圖像也稱為多光譜圖像。人的視覺(jué)系統(tǒng)中存在著桿狀細(xì)胞和錐狀細(xì)胞兩種感光細(xì)胞。桿狀細(xì)胞為暗視器官,主要功能是辨識(shí)高亮度信息;錐狀細(xì)胞是明視器官,主要功能是在一定的亮度下分辨顏色。因此錐狀細(xì)胞是負(fù)責(zé)彩色視覺(jué)的傳感器,其可分為三個(gè)主要的類別。第一類是大約65%的對(duì)紅光敏感的錐狀細(xì)胞,第二類是大約33%的對(duì)綠光敏感的錐狀細(xì)胞,第三類是大約2%對(duì)藍(lán)光敏感的錐狀細(xì)胞。由于人眼對(duì)光線的這些吸收特性,所以我們??吹降牟噬捅徽J(rèn)為是紅色(Red)、綠色(Green)和藍(lán)色(Blue)的各種組合,即三基色。根據(jù)不同的應(yīng)用,彩色圖像常用的顏色模型有RGB、CMY、HSV、HIS、YUV、YIQ等。本文以RGB顏色模型為研究基礎(chǔ)。RGB模型采用三基色構(gòu)成表色系統(tǒng),也就用紅綠藍(lán)三色混成自然界的任一顏色。顏色傳感器把數(shù)字圖像上的一個(gè)像素編碼成(R,G,B),每個(gè)分量量化分為256級(jí),因此RGB模型可表示約1670萬(wàn)種顏色。假設(shè)有一副像素的彩色圖像,可將該彩色圖像表示為二維空間變量和光譜變量的函數(shù),其中為像素位置,為光譜分量。分別代表像素紅、綠、藍(lán)分量。
2.2 ? 文字編碼
目前,我們記錄信息的文字主要是由26個(gè)英文字母、十個(gè)數(shù)字、標(biāo)點(diǎn)符號(hào)和約7萬(wàn)個(gè)漢字組成。這些文字在國(guó)際上有統(tǒng)一的Unicode編碼,也是一種國(guó)際標(biāo)準(zhǔn)編碼,每一個(gè)文字都用一個(gè)16進(jìn)制數(shù)進(jìn)行編碼。編碼采用的是UCS-2,即用兩個(gè)字節(jié)來(lái)編碼一個(gè)字符,兩個(gè)字節(jié)就是16位二進(jìn)制,2的16次方等于65536,所以UCS-2最多能編碼65536個(gè)字符,它的前128個(gè)字符和ASCII碼一致,中、日、韓的三種文字占用了Unicode中0x3000到0x9FFF的部分,目前絕大多數(shù)常用漢字已經(jīng)有了對(duì)應(yīng)Unicode編碼。假設(shè)輸入文字信息的長(zhǎng)度為N,則其對(duì)應(yīng)的Unicode編碼可以看作空域變量的函數(shù),其中代表文字順序,,代表第個(gè)字符編碼的位置,,為編碼值,其值為0或1。
3 ?文字加密隱藏算法(Text encryption and hiding algorithm)
為了實(shí)現(xiàn)文字信息的加密和隱藏,其基本思路是先將文字轉(zhuǎn)化為對(duì)應(yīng)的Unicode碼,然后將Unicode碼轉(zhuǎn)為20位的二進(jìn)制編碼,利用密碼對(duì)編碼加密,最后將加密的編碼嵌入到圖像。解密則是先讀取像素中特定編碼,然后利用密碼將編碼解碼,并將解出的編碼轉(zhuǎn)化為Unicode碼,最后將Unicode碼轉(zhuǎn)換為對(duì)應(yīng)的文字,其過(guò)程如圖1所示,其關(guān)鍵技術(shù)如下所述。
3.1 ? 文字加密
文字加密是對(duì)其Unicode編碼加密,密碼是其加密參數(shù)。設(shè)定加密信息所用密鑰為1—6位的自然數(shù),則其數(shù)值范圍為0—999999,共100萬(wàn)個(gè)組合,其對(duì)應(yīng)數(shù)字的二進(jìn)值長(zhǎng)度最大為20位。如999999的二進(jìn)制數(shù)為11110100001000111111。由于輸入字符信息和國(guó)際通用的16位Unicode編碼是一一對(duì)應(yīng)的,因此加密文字信息可以通過(guò)密碼與Unicode編碼建立一一映射,以此給出加密文字的編碼,從而達(dá)到加密的目的。文字加密算法如下:
(1)輸入個(gè)文字。
(2)獲取個(gè)文字的Unicode碼。
(3)將(2)Unicode碼編碼為20位二進(jìn)制,可將其二進(jìn)制編碼看作空間變量的函數(shù),其中,代表文字序號(hào),,代表第個(gè)字符編碼位,,為編碼值,其值為0或1。
(4)輸入一個(gè)6位及以下的數(shù)字,作為密碼。
(5)將編碼為20位2進(jìn)制,記的編碼為函數(shù),其中為編碼位,為編碼值0或1。
其中,為隱藏的總比特位,H、W同上,為單位bit per pixel的簡(jiǎn)稱,即每個(gè)像素隱藏的位數(shù)。經(jīng)計(jì)算。即每個(gè)像素隱藏一個(gè)比特位的信息,保持了LSB算法較大容量的特性。根據(jù)LSB算法的特點(diǎn),若只利用低位上的一位隱藏信息,也可以將隱藏信息拓展到圖像另外兩個(gè)顏色灰度值的低位上,同樣可以保持很高的隱蔽性,從而達(dá)到載荷量。通常,人們?nèi)粘J褂檬謾C(jī)相機(jī)的像素都是千萬(wàn)像素的,對(duì)一張手機(jī)拍攝的彩色照片來(lái)說(shuō),其單一通道隱藏的文字?jǐn)?shù)為60萬(wàn)字,就是說(shuō)一張照片可以隱藏一篇180萬(wàn)字的長(zhǎng)篇小說(shuō)。實(shí)驗(yàn)仿真也進(jìn)一步驗(yàn)證了該算法在圖片中的確可以隱藏大量文字,隱藏容量遠(yuǎn)遠(yuǎn)滿足日常的需要。
考慮到方便和實(shí)用,算法沒(méi)有設(shè)計(jì)復(fù)雜的密碼,采用跟銀行卡密碼一樣純6位數(shù)字的密碼作為密鑰加密信息,其密鑰空間為,與文獻(xiàn)[20]加密算法相比,密鑰空間很小,不能抵御窮舉攻擊,對(duì)于日常應(yīng)用,該密碼空間可能足夠,但若需要保密級(jí)別更高的話,需要拓展更多的密鑰空間。從表3可以看出密鑰對(duì)信息的影響是敏感的,密鑰相差一個(gè)值,解密信息差之千里。因此,對(duì)于在網(wǎng)絡(luò)上傳輸敏感信息或記錄個(gè)人私密信息時(shí),通過(guò)此算法將信息隱藏于彩色圖像中,就不用擔(dān)心信息泄露。因?yàn)椴噬珗D像本身就是一種偽裝,我們無(wú)法通過(guò)視覺(jué)來(lái)辨識(shí)一張圖像有沒(méi)有隱藏信息,即使知道某張圖像隱藏了信息,要解密只有試探出100萬(wàn)個(gè)密鑰中的唯一正確密碼才能解密出真實(shí)信息。
5 ? 結(jié)論(Conclusion)
本文針對(duì)網(wǎng)絡(luò)信息傳輸?shù)陌踩珕?wèn)題,提出了一種將文字信息加密隱藏于彩色圖像的方法。該方法利用6位自然數(shù)的密鑰,構(gòu)造了一種可逆運(yùn)算,對(duì)文字的Unicode編碼進(jìn)行加密,然后將加密信息隱藏于彩色圖像中。解密信息則是通過(guò)特定算法提取照片中加密的Unicode編碼,然后利用加密運(yùn)算的逆運(yùn)算解碼出原文的Unicode編碼,從而實(shí)現(xiàn)解密信息。通過(guò)仿真及數(shù)據(jù)分析可以得出,本文方法可以實(shí)現(xiàn)在彩色圖像中隱藏大量文字而不影響原圖的質(zhì)量,具有很強(qiáng)的隱蔽性,抗直方圖檢測(cè)和統(tǒng)計(jì)監(jiān)測(cè),而且解密的可能性是百萬(wàn)分之一。因此,該算法可以有效解決文字信息通過(guò)QQ、微信和郵件等方式傳輸泄密的風(fēng)險(xiǎn),不足之處是密圖不能抗攻擊、抗噪,以及任何形式的圖像更改都能破環(huán)加密信息,從而無(wú)法解密,后續(xù)可以繼續(xù)研究密文的抗攻擊能力。
參考文獻(xiàn)(References)
[1] Bender W,Gruhl D,Morimoto N,et al.Techniques for data hiding[J].IBM System Journal,1996,35(3,4):313-336.
[2] Subhedar M S,Mankar V H.Current status and key issues in image steganography:A survey[M].Elsevier Science Publishers B.V.2014.
[3] Ni Z C,Shi Y Q,Ansari N,et al.Reversible data hiding[J].IEEE Transactions on Circuits Systems Video Technology,2006,16(3):354-362.
[4] Arooj Nissar,A.H.Mir.Classification of steganalysis techniques:A study[J].Digital Signal Processing,2010,20(6):1758-1770.
[5] Zhang Tao,Zhang Hao,Wang Ran,Wu Yun da.A new JPEG image steganalysis technique combining rich model features and convolutional neural networks[J].Mathematical biosciences and engineering:MBE,2019,16(5):4069-4081.
[6] Ki-Hyun Jung.A Survey of Reversible Data Hiding Methods in Dual Images[J].IETE Technical Review,2016,33(4):1-12.
[7] Chang C C,Lin M H,Hu Y C.A FAST AND SECURE IMAGE HIDING SCHEME BASED ON LSB SUBSTITUTION[J].International Journal of Pattern Recognition and Artificial Intelligence,2002,16(04):399-416.
[8] 奚玲,平西建,張濤.基于相鄰灰度值對(duì)互補(bǔ)嵌入的LSB匹配隱寫改進(jìn)算法[J].計(jì)算機(jī)科學(xué),2010,37(09):101-104.
[9] 王繼軍.利用差值擴(kuò)展和直方圖平移的可逆數(shù)字水印算法[J].小型微型計(jì)算機(jī)系統(tǒng),2014,35(05):1192-1195.
[10] Huang F,Qu X,Kim H J,et al.Reversible Data Hiding in JPEG Images[J].IEEE Transactions on Circuits and Systems for Video Technology,2016,26(9):1610-1621.
[11] Wedaj F T,Kim S,Kim H J,et al.Improved reversible data hiding in JPEG images based on new coefficient selection strategy[J].EURASIP Journal on Image and Video Processing,2017,2017(1):63.
[12] Weng S W,Zhang G H,Jeng-Shyang Pan et al.Optimal PPVO-based reversible data hiding[J].Journal of Visual Communication and Image Representation,2017(48):317-? ? ? ?328.
[13] Li X L,Li J,Li B,et al.High-fidelity reversible data hiding scheme based on pixel-value-ordering and prediction-error expansion[J].Signal Processing,2013,93(1):198-205.
[14] 李桂蕓,鄧桂英,趙逢禹.一種基于LSB圖像信息隱藏的改進(jìn)算法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012,21(04):156-160.
[15] 任克強(qiáng),肖璐瑤.融合CFT和LSB的高容量可逆數(shù)據(jù)隱藏[J].液晶與顯示,2019,34(04):410-416.
[16] Hamidreza Rashidy Kanan,Bahram Nazeri.A novel image steganography scheme with high embedding capacity and tunable visual image quality based on a genetic algorithm[J].Expert Systems With Applications,2014,41(14):6123-6130.
[17] Gyan Singh Yadav,Aparajita Ojha.Secure data hiding scheme using shape generation algorithm:a key based approach[J].Multimedia Tools and Applications,2018,77(13):16319-16345.
[18] Gyan Singh Yadav,Aparajita Ojha.Chaotic system-based secure data hiding scheme with high embedding capacity[J].Computers and Electrical Engineering,2018(69):447-460.
[19] Ke Y,Zhang M Q,Liu J,et al.A multilevel reversible data hiding scheme in encrypted domain based on LWE[J].Journal of Visual Communication and Image Representation,2018(54):133-144.
[20] 陳善學(xué),唐義嫄.基于混沌系統(tǒng)的RGB彩色圖像三重置亂算法[J].重慶郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2018,30(06):812-818.
作者簡(jiǎn)介:
徐暢凱(1983-),男,碩士,講師.研究領(lǐng)域:計(jì)算機(jī)圖形圖像處理.
徐文華(1984-),女,碩士,講師.研究領(lǐng)域:應(yīng)用數(shù)值代數(shù).