国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

混合加密的宋詞載體文本信息隱藏技術

2018-01-23 07:14劉彥辰屈琪鋒
計算機技術與發(fā)展 2018年1期
關鍵詞:詞牌格律宋詞

劉彥辰,王 箭,屈琪鋒

(南京航空航天大學 計算機科學與技術學院,江蘇 南京 210016)

0 引 言

信息隱藏和加密作為保障信息安全的兩種重要技術,一個可以隱藏秘密信息的存在,而另一個則變換了消息本身,在國防軍事、隱私保護、電子商務等領域應用廣泛[1]。與圖像、視頻等大容量信息隱藏載體相比,文本載體可提供冗余很少,不便嵌入隱藏信息[2]。但由于文本具有應用廣泛、處理便捷等特點,如何設計出更好的文本信息隱藏方案則備受學界關注[3-4]。加密技術針對信息本身進行操作,其傳輸載體和傳輸信息是相同的[5]。加密后的密文在信道中以亂碼的形式存在并通過密文截取進行破譯或篡改[6-7]。信息隱藏處理的信息和傳輸載體是不同的,從傳輸載體的外觀看并不具有任何實際意義,隱藏在載體內的隱寫信息很難引起攻擊者注意,從而降低了被攻擊的風險。

現(xiàn)有的一些文本信息隱藏技術可分為基于文本排版[8-10]、語法內容[11-12]和語義生成[13]三類,尚未有將加密技術與文本信息隱藏相結合的方案。2009年余振山等[14]在同義詞替換基礎上提出了利用一首宋詞詞牌作為模板的信息隱藏算法“Ci-Steg”,生成了一篇符合該詞牌名的宋詞,但該方法使用單一模板并提取每個位置的詞語作為詞典庫,僅能在模板容量限度內嵌入很少信息?,F(xiàn)有的文本信息隱藏方法的安全性和載體隱蔽性較低,已不能滿足現(xiàn)今的應用需求。

傳統(tǒng)的文本信息隱藏系統(tǒng)很難隱藏大量的原始信息,幾種結合加密與信息隱藏的方案大多是以圖像為載體進行信息嵌入。王麗君等[15]提出基于DES加密與圖像載體信息隱藏的算法。程顯毅等[16]將DES加密與RSA公鑰加密算法相結合,應用在基于語義水印的數(shù)字簽名算法中。這兩種加密算法缺點較為明顯:一是加密系統(tǒng)安全性和加密效率有待提高,DES算法密鑰長度短,保存和分配困難,容易被攻擊并破解;RSA算法密鑰長度過長,運算代價高、速度慢。二是很難在文本載體中嵌入大量內容。

文中提出了一種基于“AES-ECC”混合加密的宋詞載體文本信息隱藏方案(SCSA)。將傳輸?shù)脑夹畔⑼ㄟ^混合加密工具進行加密后再將這些信息和加密密鑰通過宋詞文本信息隱藏系統(tǒng)進行隱藏。加密后的原始信息在宋詞載體文本信息隱藏中進行隱蔽傳輸,具有安全性和隱蔽性雙重安全保障。相比文獻[14],詞典容量進一步增大,設計的信息隱藏和提取方法更為靈活,進一步提升了信息嵌入率。相比文獻[15],在加密效率和加密信息安全性上更優(yōu)。相比文獻[16],本方案提供了更為適合進行隱藏信息嵌入的宋詞作為載體,嵌入率得到較大提升,并且從安全性和隱蔽性兩方面彌補了文獻[16]的不足。此外,針對較長的信息輸入,提出兩種宋詞載體下的隨機格律模板選擇算法和指定格律模板算法,使信息隱藏模式更加靈活多變,不容易被攻擊者找到規(guī)律。

1 宋詞載體文本信息隱藏簡介

國內外主流文本信息隱藏工具如Nicetext[17]、T-lex等,通過人工制定生成的風格模板和詞典生成的載體文本具有生硬、邏輯性差、詞典容量低和極易被識別和攻擊等缺點,嵌入率最高僅1.5%左右。對此,引入宋詞作為文本隱寫載體。

宋詞作為我國古代一種新體詩歌,具有代表音樂性的詞牌,如《滿江紅》《沁園春》《水調歌頭》等。宋詞提供天然的生成模板供信息嵌入使用。該方案首先對全部宋詞進行預處理,根據(jù)不同詞牌韻律特點制定對應的格律模板,并依據(jù)模板對某一詞牌下的全部宋詞進行拆分處理得到詞典,詞典容量超過30 000詞。

1.1 宋詞格律模板制定

宋詞詞牌都有固定韻律劃分,分為“平”“仄”“中”三聲,“平”聲調長,“仄”分為“上、入、去”三聲,聲調短,“中”則代表平仄均可。根據(jù)每篇詞牌的平仄規(guī)律和分句特點,通過人工的方式進行模板制定,將宋詞中的詞語結合詩詞韻律進行劃分,劃成二詞或者三詞的韻律塊,對應原句保留標點符號,生成宋詞詞牌對應的格律模板。以《虞美人》為例,人工制定的模板與原始宋詞對照見表1。

表1 宋詞格律模板制定表

1.2 宋詞的拆分與韻律詞典生成

根據(jù)格律模板集合,將一篇詞牌下符合指定格律模板Ti的宋詞記為CTi,每個詞牌下有多首宋詞符合該模板,符合該模板的宋詞集合記為CTi={Ak|k=1,2,…,poemsnum}。如《虞美人》中包含113首宋詞,poemsnum=113。從表1知,符號“/”將宋詞的每一句劃分成長度為二詞和三詞的韻律塊,使用blocknum表示韻律塊劃分數(shù)量。根據(jù)宋詞的韻律規(guī)律,將每個二詞或三詞的韻律塊如“中平”、“中仄”、“平平仄”用韻律塊集合R={Rj|j=1,2,…,rhythmnum}表示,Rj表示任意韻律塊。通過宋詞拆分算法,將宋詞集合CTi中的每一首宋詞Ak拆分成詞語序列(wkR1,wkR2,…,wkRrhythmnum),將符合同一韻律塊Rj的詞語wkRj存入韻律詞典Dj中,拆分得到韻律詞典。以《虞美人》為例,對poemsnum=113首宋詞進行拆分,可以得到“中平”、“平仄”等韻律塊。宋詞拆分與詞典生成的算法描述如下:

算法1:宋詞拆分與詞典生成算法。

步驟1:將140篇宋詞詞牌對應的全部首宋詞進行格式處理,去除標點符號和換行符以便機器讀取。

步驟2:初始化位置參數(shù)k為零,以及詞典集合D。對每首宋詞和對應格調模板進行操作,如果第i個模板的詞牌名與待處理宋詞詞牌名相同,則將位置信息i存入k中。

步驟3:依次對格律模板的每個位置進行處理,如位置為j的詞語word[j]對應格律模板中同一位置的韻律為rhythm,則將該詞語存入詞典D[rhythm]中。

步驟4:依次處理其余宋詞,將劃分得到的詞語存入詞典,運行并集運算去除重復詞語,按照詞典序排列得到完整詞典,得到“平平”等36個韻律塊。

步驟5:使用哈希函數(shù)對詞典內全部詞語進行散列處理,以文件流形式寫入到詞典的每個位置。

2 基于混合加密的宋詞載體文本信息隱藏算法

2.1 系統(tǒng)工作原理

傳輸雙方共同持有格律模板T和詞典D,傳輸方將原始信息通過混合加密工具AES進行加密,使用ECC對AES密鑰進行加密,生成數(shù)字信封與密文通過隱寫器以隨機生成模板或者指定模板方式進行隱藏,隱藏后的隱寫信息在隱蔽信道中傳輸。接收方首先使用提取器進行還原操作,得到數(shù)字信封和密文兩個文件。在解密過程中,使用ECC私鑰解密數(shù)字信封得到的AES密鑰,進行AES解密操作后得到原始信息。

2.2 生成模板選擇

在格律模板集合T={Ti|i=1,2,…,n}中,共有140個模板可用于生成宋詞,用戶可以根據(jù)實際情況,選擇單一模板生成多篇宋詞和隨機選擇多個模板生成多篇宋詞兩種方案。由1.2節(jié)可知,不同的格律模板Ti包含了blocknum個劃分塊,以《虞美人》為例,共有24個劃分塊。將劃分塊按讀寫順序編號,對于每一個劃分塊Kp,其集合可以表示為:{Kp|p=1,2,…,blocknum}。

其位置上的韻律塊Rj對應的詞典行Dj內共有Wj個詞語,計算得到每個劃分塊位置Kp可以容納的二進制信息長度計算公式:

(1)

在格律模板《虞美人》中,整首詞可容納的信息量可表示為:

(2)

由詞典D內的韻律詞庫Dj容量知,“中平”包含2 712個詞(11 bit),“中仄”包含5 328個詞(12 bit),“平平仄”包含1 567個詞(10 bit),“仄平平”包含2 711個詞(11 bit),“仄平”包含2 253個詞(11 bit),經計算整首詞容量達到270 bit。

2.2.1 指定格律模板生成

選擇格律模板庫中任一詞牌模板Ti進行隱寫生成。模板庫中模板可嵌入信息量與模板對應的宋詞風格各不相同,長度較短的模板如“搗練子”、“瀟湘神”,通篇僅35字,模板容量分別為119 bit和115 bit。較長的模板如“重樓疊月”,通篇有390字,模板容量可達1 537 bit。設傳輸數(shù)據(jù)量長度L為1 000 bit,需要用到4篇長度為270 bit的《虞美人》進行生成,多余的模板位置進行補零操作以增加冗余。算法2對此過程進行了簡要描述。

算法2:指定格律模板生成算法。

輸入:需要隱寫的秘密信息長度L,隱藏信息的模板Ti;

輸出:倍增的模板放在TEMPLETE.txt。

While(L>0)

L=L-T.length;

put T into template;

end while;

return S;

算法優(yōu)點在于通信雙方可根據(jù)傳輸信息長短進行人工選擇,選取嵌入率高的模板進行生成,在遇到緊急情況時可以更換傳輸模板,從而避免被敵手攻擊。

2.2.2 隨機選擇不同格律模板生成

算法3:隨機格律模板選擇算法。

輸入:需要隱寫的秘密信息長度L,140篇已經預處理(按容量升序排序)的模板Ti;

輸出:生成的模板文件TEMPLETE.txt。

while(L>500)//如果超過500則可以至少放兩個模板,隨機選一個新的模板放入

k=rand(T.length);//從T.length首詞的模板中隨機選一個

put T[k] into template;

L=L-k;//除去對應編號

end while;

l=1;//二分查找下界是1

r=T.length;//二分查找上界為模板的數(shù)量

while(l

mid=(l+r)/2;//二分查找中間模板的長度

if(mid==L) {l=mid;break};//如果長度剛好,則選取中間值

if(mid>L) r=mid+1;//如長度較短,則選取較大的一段區(qū)間

if(mid

end if;

end if;

end if;

end while;

put T[l] into template;//將編號為l的模板存入模板文件

2.3 加密信息隱寫

通過信息隱藏算法對加密后的信息進行隱藏以生成隱寫宋詞。以1.2節(jié)給出的《虞美人》為例,格律模板第一行為“中平/中仄/平平仄?/中仄/平平仄。/”,結合韻律詞庫Dj對詞典進行編碼。為方便舉例,對選詞數(shù)量取2的整數(shù)倍進行表示,假設“中仄”含有16個詞,即可以表示4位。詞典編碼如表2所示。

表2 詞典編碼

接收到的加密信息轉換成二進制編碼:“01101011011001010”,將這段編碼按照格律模板中每個位置的容量劃分為“3/4/3,4/3”后,將編碼按照位置容量進行劃分,得到劃分后的編碼串“011”、“0101”、“101”、“1001”、“010”。在韻律詞典中找到對應的詞語,分別是“青枝”、“柳雨”、“何人見”、“細雨”、“煙云起”。將詞語填入格律模板對應的位置,就可以得到改寫的《虞美人》第一句:“青枝柳雨和人見?細雨煙云起”。在這句中嵌入了17 bit信息,若使用已生成的完整詞庫,可嵌入的容量可表示為:

(3)

設詞典庫容量進一步擴大,可嵌入的信息量會進一步增大。算法4對加密信息隱藏過程進行了描述。

算法4:加密信息隱寫算法。

輸入:待隱寫的加密信息,宋詞模板庫文件TEMPLETE.txt;

輸出:包含隱寫信息的多篇完整宋詞S。

m’=0;

Len=0;

m’=strToBinstr(m);

For the input secret message m, all converted to binary coded m;’//對于輸入秘密消息m,全部轉換為二進制編碼m’

if(m’.getLength()

rsta();//重新生成模板

end if;

if(m’.getLength( )

end if;

for each block∈tido

Len=log(Wj);

B=the next Len binary number in m’;

n=binToDec(B);//將B由二進制編碼轉換成十進制編碼存入n;

word[i]=n;//word[i];表示這個韻律下詞典里面的第i個詞

S.add(word[i]); //將每個詞填入宋詞S的每個位置

end for;

return S;

2.4 隱寫信息提取

接收方收到含有隱藏信息的宋詞后,通過詞典D和宋詞格律模板庫T,以提取算法經還原得到秘密信息m'。由上一節(jié)所示,接收到的隱寫宋詞一句為“青枝柳雨和人見?細雨煙云起?!备鶕?jù)這句對應的詞牌《虞美人》在對應位置的格律模板“中平/中仄/平平仄?/中仄/平平仄。/”將這句詞劃分為“青枝”、“柳雨”、“何人見”、“細雨”、“煙云起”的詞語序列,由表3可以進一步得到秘密信息m'=“01101011011 001010”。算法5對隱寫信息提取過程進行了描述。

算法5:秘密信息提取算法(Extract)。

輸入:宋詞模板T,生成的包含秘密信息的隱寫宋詞S;

輸出:加密消息m。

m’=null;for eachblock∈tido //對多篇宋詞每篇按照格律的劃分進行操作

for each word∈D[rhythm] do //對于每個劃分塊進行操作

if(word[i]==blockword) //第i個詞和這個位置的詞對應

k=i; 將位置信息i記錄為k

break;

end if;

end for;

Len=log(Wj);

k’=decToBin(k);

m’=m’.add(k’);//迭代生成二進制秘密信息m’

end for;

m=binToStr(m’);//將二進制下的秘密信息m’進行還原returnm;

3 安全性分析與性能分析

3.1 安全性分析

該方案提出的隱藏算法使用了宋詞這種天然生成模板進行生成,隱寫宋詞在長短、句式、韻律以及詞牌等語言要素上與原始宋詞毫無區(qū)別,攻擊者得到了隱寫宋詞后無法通過機器進行檢測和分析。同時,由于經混合加密操作后生成的密文信息是一串不具有任何意義的亂碼,相當于對原始信息人為地加入了隨機噪聲,無形中為原始信息增加了另一重安全。

3.2 性能分析

該系統(tǒng)使用的AES-ECC混合加密工具和隱寫提取算法,選取10個長度為100字的中文文本樣本,對加密、隱藏、提取和解密過程時長進行測試,采用的實驗平臺為Visual Stdio2013,運行環(huán)境為Windows 10,64位操作系統(tǒng),基于Core(TM) i5-3230 M,2.6 GHz的處理器,4 GB內存。時耗對比如圖1所示。

圖1 SCSA運行過程耗時對比

4 實 驗

4.1 實驗結果

在對宋詞的預處理中,得到了《暗香》等140個格律模板作為生成模板以及來自《全宋詞》2 538首宋詞經拆分后,刪除了生僻漢字且經過去重和哈希重置后容量達30 278詞的詞典。混合加密工具和隱寫算法對輸入的信息語種無要求,在隱寫過程中會將加密信息轉換為二進制來表示。當輸入的待傳信息為1 024 bit的毛澤東七律詩《長征》時,使用隨機選擇模板算法密文文件和數(shù)字信封進行隱寫,生成的隱寫宋詞如圖2所示。

《夜游宮》夢燕均歡見也,慶歲歲懶攜相繼。掛也山亭算未有。酒消磨謾贏得欺賀晏。歸魂年華占,料帶角飄紅無覓。盡了柔條幾心酌。六千場紀今辰想當時。《鷓鴣天》更祝論長翠巖屏,寒猿睡魂怕春知。年時天竺漂流處,風骨歡離何處嬌。唱新詞,更何疑。骨清番做步溪橋。風寒暮暮流云碎,相和回惶度管弦?!锻h行》葡萄夢驚,江南雨,歸路林泉入覲。晚蟬鎮(zhèn)護,樹色桃源,夢去星橫橋畔。獨步瓊珠,開口屢更深掩,消得茂林凝皓。滿疏籬,林表葡萄每臨。清和,宮女影凝日下,瞻圣主,陽臺俄頃。何遜身世,屢更稱少,歡伯宴游政爾。啟母楊花,張緒弄涼如人道,恨遠慧刀臨流。步月來爇白,璿樞爇白。

圖2 生成的隱寫宋詞

當輸入1 024 bit信息經混合加密工具處理后,生成AES加密后的1 024 bit密文和長為160 bit的AES密鑰文件(數(shù)字信封),使用隨機模板選擇算法將生成4篇不同詞牌宋詞??梢娀旌霞用懿⑽磶磉^高的通信壓力,反之對系統(tǒng)安全性的提升非常顯著,也避免了通信雙方進行密鑰協(xié)商所帶來的不便。

4.2 對比分析

本節(jié)將對文中方案的兩種隱寫宋詞生成方法嵌入率進行分析以及和當前Nicetext以及Ci-steg等主流文本信息隱藏方案進行對比。

使用的140篇宋詞格律模板長短不一,較長的模板如298個字的《鶯啼序》,244字的《哨遍》;較短的模板如43字的《相見歡》。經實驗得知,模板提供的信息嵌入率與模板長度無關,較短的模板也可以提供很高的嵌入率。如138字的《過秦樓》,嵌入率可達到28.13%,60字的《河瀆神》,嵌入率也達到了27.5%,反之《鶯啼序》只有26.5%,嵌入率最低的模板《漁歌子》也達到了20.15%。故而模板的嵌入率與每個劃分塊的韻律詞典容量相關,包含大容量韻律詞典的模板可以提供較高的嵌入率,進一步增大詞典容量是提高嵌入率的一種途徑。在實驗中,當輸入1 024 bit的10個加密信息樣本后,使用隨機模板生成算法與指定單一模板(《念奴嬌》等)算法生成隱寫宋詞,得到的嵌入率對比如圖3所示。

由圖3可見,隨機模板生成算法在運行10次時得到的平均嵌入率達到了24.2%,雖然不如一些指定模板,但因其每次均能生成不同詞牌宋詞,可以動態(tài)找尋長短較為匹配的模板,模板利用率較高,生成方式更為靈活,令攻擊者無規(guī)律可尋,安全性較強。

同時,將本方案SCSA(單一模板STSA與隨機模板RTSA)和Ci-steg[14]、Nicetext的信息嵌入率進行比較,分別輸入1 024 bit的10個不同樣本數(shù)據(jù)。不同方案的嵌入率對比如圖4所示。

圖3 SCSA兩種生成方案的嵌入率對比

圖4 SCSA方案與其他方案的嵌入率對比

由圖4可見,STSA因選擇模板不同,嵌入率保持在20.15%~28.13%;RTSA嵌入率平均在24.2%,Ci-steg維持在16.1%,而Nicetext僅為1.5%左右。相比現(xiàn)有方案,文中方案在嵌入率和安全性上有了大幅提升,且性能更好。

5 結束語

文中提出了一種全新的文本信息隱藏算法,結合AES算法和ECC算法設計了一種混合加密工具,應用于宋詞載體文本信息隱藏系統(tǒng)中。與現(xiàn)有隱寫工具相比,具有嵌入率高、隱蔽性強的特點。后期將加以改進,如將唐詩、現(xiàn)代題材詩詞中符合平仄韻律的詞語加入詞典庫以提高詞典容量,提高載體的嵌入率;對詞典進行處理,將不同詞性的詞語進行分類,在生成宋詞時按照詞性加以區(qū)分,可使生成的宋詞連貫性更強,從而提高信息隱藏系統(tǒng)的隱蔽性。

[1] 付 敏,戴祖旭,胡文濤.一種文本信息隱藏中的語法檢測算法[J].科學技術與工程,2015,15(21):142-145.

[2] 周繼軍,楊 著,鈕心忻,等.文本信息隱藏檢測算法研究[J].通信學報,2004,25(12):97-101.

[3] COX I J,KALKER T,PAKURA G,et al.Information transmission and steganography[M]//Digital watermarking.Berlin:Springer,2005.

[4] COX I J,MILLER M L.The first 50 years of electronic watermarking[J].EURASIP Journal on Advances in Signal Processing,2002,2002(2):126-132.

[5] 李麗娟,熊淑華.基于文本的信息隱藏技術研究[J].現(xiàn)代電子技術,2006,29(5):67-69.

[6] PETITCOLAS F A P,ANDERSON R J,KUHN M G.Information hiding-a survey[J].Proceedings of the IEEE,1999,87(7):1062-1078.

[7] KATZENBEISSER S,PETITCOLAS F A.Information hiding techniques for steganography and digital watermarking[M].Norwood,MA,USA:Artech House,Inc,2000.

[8] MAXEMCHUK N F.Electronic document distribution[J].AT&T Technical Journal,1994,73(5):73-80.

[9] BRASSIL J,O’GORMAN L.Watermarking document images with bounding box expansion[C]//Information hiding.London,UK:Springer-Verlag,1996:227-235.

[10] 崔光明,洪 星,袁 翔,等.基于不可見字符替換的信息隱藏方法研究[J].計算機應用與軟件,2016,33(4):277-280.

[11] ATALLAH M J,RASKIN V,HEMPELMANN C F,et al.Natural language watermarking and tamperproofing[C]//Information hiding.London,UK:Springer-Verlag,2002:196-212.

[12] CHAPMAN M,DAVIDA G I,RENNHARD M.A practical and effective approach to large-scale automated linguistic steganography[M]//Information security.Berlin:Springer,2001.

[13] LIU Yuling,SUN Xingming,GEN Can,et al.An efficient linguistic steganography for Chinese text[C]//IEEE international conference on multimedia and expo.[s.l.]:IEEE,2007:2094-2097.

[14] 余振山,黃劉生,陳志立,等.用宋詞實現(xiàn)高嵌入率文本信息隱藏[J].中文信息學報,2009,23(4):55-62.

[15] 王麗君,周萍萍.基于真彩色圖像的信息隱藏算法[J].光電子技術與信息,2005,18(6):44-48.

[16] 程顯毅,張啟杰,耿 飆.基于語義水印的數(shù)字簽名算法[J].計算機應用研究,2009,26(10):3914-3917.

[17] CHIANG Y L,CHANG L P,HSIEH W T,et al.Natural language watermarking using semantic substitution for Chinese text[C]//International workshop on digital watermarking.Berlin:Springer,2003:129-140.

猜你喜歡
詞牌格律宋詞
論詞樂“均拍”對詞體格律之投影
半小時漫畫宋詞
詞牌里的故事
半小時漫畫宋詞
品讀宋詞
格律詩詞中散文化句式小議
宮毯:所謂禮儀盡在腳下方寸格律間
談詩詞格律的極端化
住進詞牌里
住進詞牌里