左祥建,楊曉莉
(陜西師范大學 計算機科學學院,陜西 西安 710119)
基于雅克比符號的文本信息隱藏
左祥建,楊曉莉
(陜西師范大學 計算機科學學院,陜西 西安 710119)
文本信息隱藏是版權維護的一種重要手段。通過輕微縮放字符大小比例來實現信息隱藏的方法魯棒性差,不能抵抗格式攻擊。結合密碼學中大整數因子分解困難性假設,提出了基于雅克比符號的改進算法,通過用雅克比符號判斷文本載體中的元素是否為二次剩余。若為二次剩余,即雅克比符號為“1”,將秘密信息每個字節的ASCII碼值,分別替換該字符的縮放比例值;若為非二次剩余,則將文本載體元素的縮放比例保持標準型。該方法能將秘密信息分散到文本載體中。改進后的算法具有更好的隱藏性,提高了抵抗添加和刪除攻擊的能力,增強了文本信息隱藏的魯棒性。與傳統的文本信息隱藏算法相比具有更好的可靠性,而且算法的實現簡單,具有靈活性,可以適用于各種不同語言文本。
文本載體;信息隱藏;雅克比符號;二次剩余;秘密鑰
隨著Internet的日益普及,多媒體信息的交流已經達到前所未有的深度和廣度。人們可以在互聯網上進行網絡資源的共享和信息的交互,但互聯網給人們帶來便利的同時,也面臨著信息在傳輸過程中的安全問題。當要傳輸一些機密資料信息時,通常將這些信息進行加密再傳輸。但加密的信息會形成一堆激發非法者破解機密資料動機的亂碼[1]。為了保證信息的安全傳輸,在選擇信息安全加密算法的同時,也可以將信息隱藏在文本中進行傳輸。這樣非法攻擊者很難發現信息的存在,也很難猜出信息是以何種方式被隱藏的。因此文本信息隱藏技術是保證信源和信道均安全的信息安全技術[2]。如何安全地隱藏文本信息是文中研究的目的。
相對于視頻信息隱藏、圖像信息隱藏、音頻信息隱藏等領域的研究[3-5],文本信息隱藏起步較晚、成果少,這和文本的特征有關系。文本相對于其他多媒體來說,具有冗余空間少、嵌入率低、文本的修改容易檢測等缺點。但也有自身的優點,人們的很多創意和表達都是以文本的方式進行存儲和傳輸的,其應用大大超過了視頻、圖像、音頻的適用范圍,它潛在的價值仍然不可低估。在未來的信息安全保障體系中仍將發揮著重要的作用。目前文本信息隱藏主要有以下幾種方法:
(1)基于文本格式的信息隱藏[6]。文本格式的信息隱藏就是對文本的內容不進行改變,只是對文本格式進行微弱的調整,如微調文本的顯示格式和文字間距,改變字體顏色和增加格式標記符號等。美國貝爾實驗室最早提出過基于字移、行移的信息隱藏方法[7],該方法的優點是隱藏的內容沒有發生改變,缺點是一旦文本的格式發生改變,隱藏的信息也會消失。
(2)基于語義的文本信息隱藏[8]。語義信息隱藏的基本原理就是將一段正常的語言文字修改成另一段正常語言的過程中將秘密的信息隱藏進去。該方法主要是利用同義詞或同音詞替換嵌入秘密消息。目前相對成熟的算法有基于同義詞替換算法[9]、基于等價規則替換算法[10]等。該方法的優點是具有很好的不可察覺性,算法簡單。缺點是通信雙方必須事先約定好替換規則,一旦遇到文本的部分的刪除或篡改,會影響秘密信息的恢復。
(3)基于語法的文本信息隱藏[11]。語法文本信息隱藏的基本原理是利用概率統計理論和自然語言生成技術,根據語法規則,在句法模板和字典等資源的支持下,將私密的信息編碼成類似自然語言的文本內容。為了生成更安全的隱寫文本,Chapman和Davida利用概率上下文文法和同義詞替換策略,開發出一款基于語法隱藏的隱寫軟件Nicetext[12]。該方法生成的文本在意義上雜亂無章,很難躲過人眼的檢查,一般只用于對安全性要求不高的地方。
針對將秘密信息隱藏到文本格式中,文獻[13]通過輕微縮放字符大小比例來實現信息隱藏。在一篇正常的文檔中,字符的縮放比例通常是標準形,即100%,對需要嵌入秘密信息的字符采用縮放的比例分別設為101%、102%、103%和104%來進行編碼,從而使得每個載體文本的字符可實現2位二進制碼的隱藏而不易被發覺。此算法在隱蔽性和隱藏容量方面比直接改變字體有很大的提高,但魯棒性很差,不能抵抗格式攻擊。
文中在該算法的基礎上,結合密碼學中大整數因子分解困難性假設,提出一種基于雅克比符號判斷的文本信息隱藏方法。該方法具有更好的隱藏性,提高了抵抗添加和刪除攻擊的能力,增強了文本信息隱藏的魯棒性。
該方法的基本思想是利用雅克比符號判斷二次剩余問題的基本原理實現在文本中安全地隱藏秘密信息。通過用雅克比符號判斷文本載體中的元素是否為二次剩余。若為二次剩余,即雅克比符號為“1”,將秘密信息每個字節的ASCII碼值,分別替換該字符的縮放比例值。如將秘密信息轉化為二進制比特流,若比特數為1,則將文本載體元素的比例縮放為101%;若比特數為0,則將文本載體元素的縮放比例保持標準型100%。若為非二次剩余,則將文本載體元素的縮放比例保持標準型100%。該方法能將秘密信息分散到文本載體中,而且具有很好的不可察覺性。
定義1:設n是正整數,若同余式有解,則a叫模n的二次剩余;否則a叫模n的非二次剩余。
x2≡a(modn),(a,n)=1


設n=p1p2…pr是奇數pi的乘積。對任意的整數a,定義雅克比(Jacobi)符號(記做J(a,n))為:


4.1 文本載體的生成
在網絡上隨機下載一份文本,將其轉化為一個s×t的文本載體矩陣D。
D中元素的下標值代表該元素進行雅克比符號判斷的數值,即元素aij(1≤i≤s,1≤j≤t)的雅克比符號為J(ij,n),其中ij都是十進制數。
4.2 密鑰的產生
隨機選擇兩個大素數p和q,滿足p≡q≡3mod4,即這兩個素數形式為4k+3。計算n=p×q,此時的p,q就是秘密鑰。
4.3 嵌入算法
輸入秘密信息M,文本載體D,秘密鑰p。將秘密信息M隱藏在文本載體D中的算法如下:
(1)將要隱藏的秘密信息轉化成二進制比特流mi(i=1,2,…)。
(2)在文本載體矩陣D中順序讀取其中的元素aij的下標值ij,運用秘密鑰p和q,判斷元素aij的雅克比符號J(ij,n),其中n=p×q。
(3)若aij的雅克比符號為“-1”或“0”,則將文本載體元素的縮放比例保持標準型100%。
(4)若aij的雅克比符號為“1”,由J(ij,n)=J(ij,p)×J(ij,q),判斷J(ij,p)和J(ij,q)的符號,若J(ij,p)和J(ij,q)的符號都為“-1”,則將文本載體元素的縮放比例保持標準型100%;若J(ij,p)和J(ij,q)的符號都為“1”,則ij為模n的二次剩余,將秘密信息每個字節的二進制值,分別替換該字符的縮放比例值。若比特數為1,則將文本載體元素的比例縮放為101%,若比特數為0,則將文本載體元素的縮放比例保持標準型100%。
(5)重復上述步驟,直到將秘密信息的比特流mi依次隱藏到D中,生成一個隱藏秘密信息的文本D'。
4.4 提取算法
輸入隱藏信息的文本載體D',秘密鑰p和q。將秘密信息M從文本載體D'提取出來的算法如下:
(1)在D'中順序讀取元素aij'的下標值ij,運用秘密鑰p和q,判斷元素aij'雅克比符號J(ij,n)。
(2)若aij'的雅克比符號為“-1”或“0”,則不用對該元素進行任何處理。
(3)若aij'的雅克比符號為“1”,由J(ij,n)=J(ij,p)×J(ij,q),判斷J(ij,p)和J(ij,q)的符號,若J(ij,p)和J(ij,q)的符號都為“-1”,則不用對該元素進行任何處理;若J(ij,p)和J(ij,q)的符號都為“1”,則ij為模n的二次剩余,則讓該元素的縮放比例與J(ij,n)=-1的元素縮放比例進行比較,若比例增大,則得到比特1,若比例保持不變,則得到比特0。
(4)重復上述步驟,順序取出秘密信息的比特流mi,恢復秘密信息M。
4.5 改進提取算法
上述方案在隱藏秘密信息和提取秘密信息時,需要對文本載體矩陣D中的元素依次作雅克比符號的判斷,時間復雜度為O(n2),現可對以上算法作如下改變:



文中算法的安全性主要體現在以下幾個方面:
(1)隱蔽性:字符縮放比例的選取是關鍵,文獻[14]中的改變文字大小法中,載體文本中每個字符的字號大小改變量為0.5磅(word文檔中字號的最小變化量為0.5磅)。在這種情況下,對于較大的字體,如四號(14磅)字以上的文本文檔,其大小改變比例小于0.5/14≈3.57%,人的視覺對此改變感覺不明顯;但是對于較小的字體,如小五號(9磅)字以下的文本文檔,其大小改變比例大于0.5/9≈5.56%,人的視覺對此改變感覺較為明顯。對于任意字號大小的字體,其縱向高度沒有改變,橫向大小改變比例都小于或等于4%,人的視覺對此改變感覺不明顯。文中字符縮放的比例為1%,具有更好的隱蔽性。
(2)安全性:文中算法的安全性是基于密碼學中大整數因子分解困難性難題。在不知道密鑰p、q的情況下,無法用雅克比符號判斷二次剩余問題,即使攻擊者知道了字符的縮放比例,也無法將秘密信息從文本載體中提取出來。
從這個意義上來說,文中提出的基于雅克比符號文本信息隱藏算法是非常安全的,具有很好的不可察覺性和抗分析能力。
由于文本的特殊性,魯棒性弱是基于文本載體的信息隱藏技術不可避免的問題。當文本的內容遭到刪除或篡改攻擊,都會影響到隱秘信息的恢復。文中基于對雅克比符號的判斷隱藏信息,使得秘密信息均勻分散在整篇文檔中,大大減少了被刪除的秘密信息量,提高了秘密信息的抗攻擊性和自恢復性。對于在文本中增加字符或更改文本格式的攻擊,也是基于雅克比符號的判斷提取信息,只要發現文本中某個元素的雅克比符號和縮放比例不一致,就能發現文本載體被篡改,接收者可以終止算法。對于字符替換攻擊,由于文檔具有繼承性,替換后的字符仍然具有秘密信息的特征,所以可以正確提取秘密信息。
文中在輕微縮放字符大小比例來實現信息隱藏的基礎上,提出了基于雅克比符號的判斷實現信息隱藏的算法。該算法具有很好的隱蔽性、安全性,增強了文本信息隱藏的魯棒性。與傳統的文本信息隱藏算法相比具有更好的可靠性,而且算法的實現簡單。在實際的使用中還需要對密鑰的分發和管理作進一步研究。
[1] 李順東,王道順.現代密碼學:理論,方法與研究前沿[M].北京:科學出版社,2009.
[2]PetitcolasFAP,AndersonRJ,KuhnMG.Informationhiding-asurvey[J].ProceedingsoftheIEEE,1999,87(7):1062-1078.
[3] 胡 洋,張春田,蘇育挺.基于H.264/AVC的視頻信息隱藏算法[J].電子學報,2008,36(4):690-694.
[4]WuDC,TsaiWH.Asteganographicmethodforimagesbypixel-valuedifferencing[J].PatternRecognitionLetters,2003,24(9):1613-1626.
[5]AvcibaI.Audiosteganalysiswithcontent-independentdistortionmeasures[J].IEEESignalProcessingLetters,2006,13(2):92-95.
[6] 曹衛兵,戴冠中,夏 煜,等.基于文本的信息隱藏技術[J].計算機應用研究,2003,20(10):39-41.
[7]LowSH,MaxemchukNF,BrassilJT,etal.Documentmarkingandidentificationusingbothlineandwordshifting[C]//ProcoffourteenthannualjointconferenceoftheIEEEcomputerandcommunicationssocieties.[s.l.]:IEEE,1995:853-860.
[8] 徐迎暉,楊 榆,鈕心忻,等.基于語義的文本隱藏方法[J].計算機系統應用,2006(6):91-94.
[9]TopkaraU,TopkaraM,AtallahMJ.Thehidingvirtuesofambiguity:quantifiablyresilientwatermarkingofnaturallanguagetextthroughsynonymsubstitutions[C]//Proceedingsofthe8thworkshoponmultimediaandsecurity.Geneva:ACM,2006:164-174.
[10]LucenaNB,PeaseJ,YadollahpourP,etal.Syntaxandsemantics-preservingapplication-layerprotocolsteganography[C]//Informationhiding.Berlin:Springer,2005:164-179.
[11] 趙敏之,孫星明,向華政.基于虛詞變換的自然語言信息隱藏算法研究[J].計算機工程與應用,2006,42(3):158-160.
[12]ChapmanM,DavidaG.Hidingthehidden:asoftwaresystemforconcealingciphertextasinnocuoustext[J].InformationandCommunicationsSecurity,1997,1(1):335-345.
[13] 李向輝.基于Word文本文檔的信息隱藏方法研究[D].南寧:廣西大學,2006.
[14] 劉玉玲,孫星明.通過改變文字大小在Word文檔中加載數字水印的設計與實現[J].計算機工程與應用,2005,41(12):110-112.
Text Information Hiding Based on Jacobi Symbol
ZUO Xiang-jian,YANG Xiao-li
(School of Computer Science,Shaanxi Normal University,Xi’an 710119,China)
Text information hiding is an important way of copyright maintenance.Text information hiding algorithms that hide information through slightly zooming in or zooming out the characters are not robust,and nor can they resist reformat attacks.In this paper,based on the assumption that factoring a large integer is hard,propose an improved algorithm which hides or not hides text information by determining whether a number is a quadratic residue module a big integer or not.Judging by Jacobi symbol text vector element is quadratic residue.If a quadratic residue,which Jacobi symbol is "1",the secret information of each byte ASCII code value,scaling values are replaced with the characters.If the non-quadratic residue,scaling text vector elements will keep the standard.This method can disperse into the text secret information carrier.The improved algorithm can better hide text information and can resist adding or deleting attack.It is simple and flexible,and can be applied to different language texts.
text carrier;information hiding;Jacobi symbol;quadratic residue;secret key
2015-05-22
2015-08-25
時間:2016-01-26
國家中央高校基本科研業務費專項資金項目(GK201504017);包頭市科技局項目(2014S2004-2-1-15)作者簡介:左祥建(1990-),男,碩士研究生,研究方向為密碼學與信息安全。
http://www.cnki.net/kcms/detail/61.1450.TP.20160126.1521.064.html
TP301
A
1673-629X(2016)02-0073-04
10.3969/j.issn.1673-629X.2016.02.017