一種利用全宋詞實現(xiàn)文本信息隱藏的技術(shù)的制作方法
【專利摘要】本發(fā)明提供了一種利用全宋詞來實現(xiàn)文本信息隱藏的技術(shù),屬于計算機領(lǐng)域中信息隱藏與數(shù)據(jù)安全方向。本發(fā)明首先利用宋詞這一特殊體裁文本,對全宋詞145個詞牌中的2538首長度適中的宋詞進行拆分和處理,生成了可用于隱蔽通訊的詞典庫。并在此基礎(chǔ)上,構(gòu)造出一套包括生成模板、詞典、隱寫器、解碼器的信息隱藏系統(tǒng)。設(shè)計出可以針對不同語種的文本信息隱藏算法——“Song?Steg”。算法可以對傳輸方輸入的秘密信息進行隱寫處理,使得秘密信息隱藏在格調(diào)句式、字數(shù)韻腳完全符合該詞牌的一首隱寫宋詞中。本發(fā)明公開的方法可以解決信道中傳輸數(shù)據(jù)的安全性問題,可將秘密信息進行隱寫處理轉(zhuǎn)換為一首與正常宋詞無異的宋詞進行傳輸,具有很強的實際應(yīng)用價值。
【專利說明】
一種利用全宋詞實現(xiàn)文本信息隱藏的技術(shù)
技術(shù)領(lǐng)域
[0001] 本發(fā)明公開了一種利用全宋詞實現(xiàn)文本信息隱藏的技術(shù),具體涉及一種使用宋詞 作為文本信息載體來嵌入秘密信息,在公開信道中進行隱蔽通信的一種技術(shù),屬于計算機 領(lǐng)域中信息隱藏與數(shù)據(jù)安全領(lǐng)域。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)和信息技術(shù)的飛速發(fā)展和日益普及,線上信息交流達到了前所未有的 深度和廣度。當(dāng)今社會,電子郵件、微信等聊天軟件以及微博、博客等軟件因其方便可靠、BP 時快捷的特點,已經(jīng)深深改變了當(dāng)今人們的生活方式。由于人們每天通過互聯(lián)網(wǎng)傳遞大量 文本數(shù)據(jù),使得利用文本數(shù)據(jù)進行信息隱藏成為一種非常重要的秘密通信渠道,其私密信 息在傳輸過程中的安全性越來越引起重視。雖然加密技術(shù)可使得秘密信息在加密后傳輸, 但是監(jiān)測者或者攔截者仍可以通過截取密文進行破譯,從而影響秘密信息的安全。相比下, 使用文本信息隱藏方法使攻擊者很難發(fā)現(xiàn)隱藏信息,既保證了信息的隱蔽性,又通過一定 的加密算法確保在網(wǎng)絡(luò)中的安全傳輸,故而在軍用信息、法律、知識產(chǎn)權(quán)保護和隱私保護中 得到了大量應(yīng)用。與圖像、視頻等載體相比,文本可提供冗余數(shù)據(jù)量很少,不便嵌入隱藏信 息。但因為其在互聯(lián)網(wǎng)中存儲傳輸方便,占用空間少,用群體眾多等特點,文本依然是信息 隱藏方案的首選。
[0003] 傳統(tǒng)的基于文本的信息隱藏算法基本上集中在幾個方向,分別是基于文本排版、 基于語法內(nèi)容、基于語義生成三種方法。從隱藏的方式來看,可以概括為以下三種情況:
[0004] 1.用文本字符在排版中的字間距、行間距、標(biāo)點符號混用和字符大小寫等編碼位 置信息,來達到隱藏秘密信息的目的,文本主體含義不會有變化。它主要是利用人類視覺系 統(tǒng)(HVS,human vision System)的特點,很難通過肉眼進行辨別。行間距信息編碼,即將文 本的每一個段落進行輕微的上移或下移,上移代表編碼"1",下移代表"〇"。字間距信息編 碼,是將文本中某個或多個字符進行細微的水平移位,達到嵌入秘密信息的目的。
[0005] 2.將需要隱藏的信息,按照一定的規(guī)則將一段文本通過隱藏算法替換成另一端正 常的語言文字,又稱之為同義詞替換法。很多語言都存在同義詞和同音詞,把兩個同義詞相 互替換不會導(dǎo)致文本主旨信息改變。同時,一旦增加同義詞庫容量,可供替換的意義相近同 義詞越多,就越不容易引起攻擊者懷疑,隱寫生成的文本更加通順而自然。
[0006] 3.在保持整體文本語義不變的前提下,通過詞匯和短語的替換以及句法變換、句 子結(jié)構(gòu)改變來嵌入隱藏信息。代表性的軟件以Nicetext為首,通過隱藏算法控制文本風(fēng)格 模板和詞典使得生成文本更加自然。
[0007] 上述問題可以概括為:文本排版方法雖然不改變文本內(nèi)容,但缺點是嵌入率很低, 嵌入方式單調(diào)且容易被機器檢測,甚至可以通過逆向還原出隱藏信息,其魯棒性和安全性 很差。語法內(nèi)容和語義生成方法生成的隱寫文本通常沒有完整意義,可讀性差,很容易令攻 擊者覺察到異?!,F(xiàn)有的幾款嵌入工具嵌入率低,通用性差,不足以進行推廣和應(yīng)用。
[0008] 本發(fā)明專利關(guān)注如何安全、高效的實現(xiàn)秘密信息的隱蔽傳輸,針對現(xiàn)有的一些文 本信息隱藏算法,綜合嵌入率和隱匿性的雙重考慮,提供了一種借用全宋詞為載體,實現(xiàn)一 種秘密信息安全傳輸?shù)碾[藏算法,簡稱為"Song-Steg"。主要概括如下:首先對大量宋詞進 行拆分處理并生成詞典。使用宋詞的格調(diào)作為生成模板,選定《全宋詞》中145首篇幅長短適 中的詞牌,對詞牌中符合格調(diào)的2538首宋詞進行拆分,選用符合平仄韻律的詞語作為詞典, 詞典庫容量超過3萬詞。其次設(shè)計出效率較高、可靠性強的隱寫算法,可對不同語種的語言 進行隱寫處理。通過隱寫器可以將秘密信息經(jīng)隱寫處理,生成的載體文本是一篇詞牌、格調(diào) 以及長度符合任一指定詞牌的宋詞,接收方可經(jīng)提取器還原秘密信息。最終生成出以一篇 和正常宋詞毫無區(qū)別的隱寫宋詞。由于宋詞填詞和行文方法多變,生成的宋詞格調(diào)和句子 長短、字數(shù)等同于正常宋詞,讀起來朗朗上口,非常具有迷惑性,很難通過機器來進行檢測 識別。經(jīng)測試,本方法的格調(diào)模板制定更加靈活多變,詞典庫容量大幅提高,在隱匿性以及 嵌入率有了大幅提升,信息嵌入率因格調(diào)模板不同,維持在20.6%-27.1%左右。
【發(fā)明內(nèi)容】
[0009] 本發(fā)明從現(xiàn)實應(yīng)用中秘密信息的安全隱蔽傳輸?shù)慕嵌瘸霭l(fā),進而發(fā)現(xiàn)了最為廣泛 應(yīng)用的文本信息隱藏技術(shù)中,往往存在著安全性差,嵌入率低,容易被逆向還原等問題。為 了克服傳統(tǒng)文本信息隱藏技術(shù)在解決該問題時的不足,本發(fā)明專利提供了一種利用全宋詞 來實現(xiàn)文本信息隱藏的方法,該方法可以高效且安全的對需要隱寫的秘密信息進行加工處 理,并可以使接收方很容易的對隱寫宋詞進行還原從而得到秘密信息,可以滿足用戶對數(shù) 據(jù)安全的需求。
[0010] 本發(fā)明專利為解決其技術(shù)問題采用如下技術(shù)方案:
[0011] -種利用全宋詞實現(xiàn)文本信息隱藏的技術(shù),其特征在于,包括以下步驟:
[0012] 步驟一、首先針對不同詞牌的全部宋詞,制定其格調(diào)模板集合T,使用宋詞拆分算 法對輸入的全部宋詞依據(jù)格調(diào)模板進行拆分,初步建立韻律詞典D,以供后續(xù)編碼、解碼時 使用。
[0013] 步驟二、對生成的韻律詞典進行編碼生成,以及哈希重置,通過此方法刪除了每個 韻律詞典中重復(fù)的詞語,加快了編碼時的查找速度,提高了效率并增加了安全性。
[0014] 步驟三、采用隱藏算法Song-Steg(),針對輸入的不同語種的秘密信息,在信息隱 藏的過程中將信息轉(zhuǎn)換為二進制串的形式,根據(jù)格調(diào)模板在不同位置的劃分規(guī)定,將二進 制串劃分成長度不同的串并將其轉(zhuǎn)換成十進制數(shù),后將十進制數(shù)作為索引號于韻律詞典中 找到對應(yīng)的詞語,按照對應(yīng)詞牌的格調(diào)模板位置填入,生成一篇完整的宋詞。
[0015] 步驟四、采用提取算法,對收到帶有隱寫信息的宋詞按照格調(diào)模板T進行劃分得到 每個位置的詞語,對照詞典找出對應(yīng)詞語的位置信息,將十進制的位置信息轉(zhuǎn)換為二進制 串,并進一步整合得到二進制下的秘密信息,最后轉(zhuǎn)換得到原始的秘密信息。
[0016] 如所述步驟一中,對于選取的宋詞庫,其韻律模板的制定方法是:首先選取宋詞這 種詩歌體裁中固有的格調(diào)模板作為文本生成模板,從《全宋詞》中選取長短適中的宋詞集合 記為C,使該集合含有2538首宋詞。將每首宋詞按詞牌進行分類,得到詞牌對應(yīng)的格調(diào)模板 集合T= {Ti | i = l,2,L n},對于符合指定格調(diào)Ti的宋詞集合記為Cj;。對于符合該格調(diào)模板 的宋詞集合記為=h|A = l,2,L 卜根據(jù)宋詞韻律特征,將"中灰"、"平平"、"中 平K"等韻律塊用集合R表示,即R= {Rj I j = l,2,L rhythmnum}。為便于使用機器進行格調(diào) 模板制定和詞語拆分,我們使用數(shù)字來代替韻律,令韻律"平" =1,"仄" =2, "中" =3,每個 韻律塊之間用符號7"隔開,得到某個詞牌對應(yīng)格調(diào)模板,同時將待拆分的宋詞Ak去除全部 標(biāo)點符號及換行符。將處理過的詩詞輸入"IN.txt"文件內(nèi),將全部數(shù)字化處理過的格調(diào)模 板T輸入"FORMAT. txt"內(nèi)。對于已經(jīng)生成好的模板,宋詞拆分的方法是:使用詞語拆分算法 WordSplit()結(jié)合格調(diào)模板對全部宋詞進行處理,將Cf.中的每一首宋詞A k劃分為詞語序列 (WkRl,WkR2,L WkRrhythmum),將符合同一韻律塊Rj的詞語WkRj放入詞典Dj中,初步形成韻律詞 典Dj = (wkRj |k=lL poemsnum),其中poemsnum代表某個詞牌下的宋詞數(shù)量,rhythmnum代表 類似"平平"等韻律塊的數(shù)量。
[0017] 如所述步驟二中,對于經(jīng)拆分得到的宋詞庫,使用機器生成韻律詞典并進行哈希 重置的過程和方法是:將詞典D按照每個韻律塊包含的全部詞語占據(jù)詞典一行進行存儲,Dj 代表韻律詞庫的一行,詞典h每行以詞語集合p 〇em[Wd來表示(W」代表韻律詞典第j行的詞 語個數(shù))。將詞典文檔全部內(nèi)容以文件流的形式讀入,寫入到詞典D的每個位置,以完成詞典 生成。設(shè)哈希函數(shù)為H0,針對詞典中的每詞進行哈希重置,將每個詞語的MD5值進行哈希處 理,并使用哈希值H(w 0rd)進行排序,已完成詞典的重置。經(jīng)哈希處理后的詞典,在調(diào)用查找 時效率將大幅提高,便于隱寫和提取過程中對詞語的查找。
[0018] 如所述步驟三中,在對用戶輸入的秘密信息進行隱寫操作時,本發(fā)明采用分塊隱 藏的方式對隱寫過程進行優(yōu)化,對宋詞格調(diào)模板中不用長度的劃分塊進行分別編碼,確保 不同劃分塊可隱藏不同長度的密文,不會造成空間的浪費。得到詞典D和格調(diào)模板T之后,就 可以由秘密信息m經(jīng)隱寫處理生成一篇宋詞。對于一個指定模板Ti,共有blocknum個韻律塊 劃分,對于劃分的每個位置K= {1L blocknum},與之對應(yīng)的韻律詞典行Dj中共有Wj個詞語, 那么每個位置K至少能嵌入位比特信息,每個劃分塊可以容納的信息容量表達為 6/ocAra/^ =|jog^J。由于每個詞典行Dj詞語數(shù)量多少不一,則整首詞容量即為每個劃分位 置K的各自容量之和,可以表示為:
[0020] 上述公式表明,一篇隱藏宋詞可隱藏的秘密信息容量capacity等于各個劃分位置 K包含的信息容量之和,一篇宋詞可隱藏的秘密信息容量capacity與這篇宋詞的文本長度 的比值即為秘密信息的嵌入率。算法在執(zhí)行過程中,首先是將輸入的秘密消息m,全部轉(zhuǎn)換 為二進制編碼n/,如果二進制編碼n/長度不夠一篇隱寫宋詞的容量capacity的話,則在n/ 的末尾補零。對于每個劃分塊的信息量長度編以對應(yīng)長度Len的二進制編碼,令下個劃分塊 的長度Len所表示的二進制串為B,將B由二進制轉(zhuǎn)換成十進制n表示,令在韻律詞典第i個詞 word[ i]為n。最后將每個對應(yīng)位置的詞語word[ i]填入宋詞S中,最終輸出得到隱寫宋詞。
[0021] 如所述步驟四中,生成的隱寫宋詞S經(jīng)信道傳輸?shù)浇邮辗胶?,需要使用和傳輸方?樣的詞典D和格調(diào)模板T才能通過提取器和還原算法ExtractionO還原出秘密信息,由于詞 典生成中的去重操作,不會在因詞語重復(fù)而產(chǎn)生歧義。算法在執(zhí)行過程中,首先對于收到的 隱寫宋詞S,對每個屬于韻律詞典D[rhythm]的詞語word進行操作,如果隱寫宋詞某個位置 的詞語blockword在詞典里面對應(yīng)第i個詞word[i],則將i賦值給k。將k轉(zhuǎn)換為一串對應(yīng)該 位置信息容量長度的二進制串k',并通過迭代生成二進制秘密信息n/。最后將二進制下的 秘密信息n/進行還原并輸出,得到原始秘密信息m。
[0022] 本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下有益效果:
[0023] (1)本發(fā)明從解決文本信息隱藏技術(shù)的隱匿性和嵌入率雙重角度出發(fā),進而提出 了利用宋詞實現(xiàn)文本信息隱藏技術(shù)。在此基礎(chǔ)上,本發(fā)明提出了一種新的利用中華宋詞庫 的文本隱藏算法,選取了全宋詞中145個詞牌中的2538首長度適中的宋詞,構(gòu)造了一套包括 生成模板、詞典、隱寫器、解碼器的系統(tǒng),以實現(xiàn)信息傳輸雙方的隱蔽通信。
[0024] (2)本發(fā)明提出了一種可靠高效的詞典拆分算法,有效的將選取的2538首宋詞按 照格律模板進行拆分,劃分成不同的韻律詞典,通過哈希重置刪除了重復(fù)詞語,提高了詞典 查找速度。
[0025] (3)本發(fā)明提供了 一種高效文本信息隱藏算法--SongSteg算法。算法的實施過 程中,設(shè)計了秘密信息隱寫算法和提取算法,可通過隱寫器可以將秘密信息經(jīng)隱寫處理,生 成的載體文本是一篇詞牌、格調(diào)以及長度符合任一指定詞牌的宋詞,接收方可經(jīng)提取器還 原秘密信息。最終生成出以一篇和正常宋詞毫無區(qū)別的隱寫宋詞。
[0026] (4)本發(fā)明提出了詞典建立的方法以及設(shè)計格調(diào)模板作為生成模板,詞典容量達 到30279詞,依據(jù)不同的格調(diào)模板,嵌入率最高達27.1%,超過了現(xiàn)有的一些文本信息隱藏 方法。
【附圖說明】
[0027]圖1是本發(fā)明的整體結(jié)構(gòu)圖。
[0028]圖2是宋詞拆分與韻律詞典生成過程示意圖。
[0029]圖3是韻律詞典編碼示例圖。
[0030]圖4是秘密信息隱寫過程的流程圖。
[0031 ]圖5是秘密信息提取過程的流程圖。
【具體實施方式】
[0032]為了解決文本信息隱藏嵌入秘密信息量少且隱匿性不高的問題,本發(fā)明提供了一 種利用全宋詞實現(xiàn)文本信息隱藏的方法,其整體流程如圖1所示。
[0033]以下結(jié)合附圖和實施例對本發(fā)明的技術(shù)方案做進一步詳細說明:
[0034] 實施例一
[0035] 本發(fā)明的實施例一介紹了通過宋詞格調(diào)模板來劃分宋詞并生成韻律詞典的過程, 該詞典保證了后續(xù)算法的有效執(zhí)行,具體步驟流程如圖2所示,包括:
[0036] (1)初始化全部宋詞庫記為集合C,不同詞牌下的格調(diào)模板記為集合T,韻律詞典集 合D
[0037] (2)對于每首在宋詞集合C中的宋詞poem和對應(yīng)的格調(diào)木板temp le進行操作,
[0038] (3)如果第i個格調(diào)模板的詞牌名name和宋詞詞庫的某首宋詞詞牌名 poem.name相同,則將對應(yīng)的位置信息k進行記錄。
[0039] (4)對于模板中的每一個位置劃分^,將這首宋詞位置為j的詞語w〇rd[j]添加入 韻律詞典D [ rhy thm ]中,rhy thm為這首宋詞在位置j對應(yīng)的韻律。
[0040] (5)將上述計算得到的韻律詞典D作為結(jié)果返回。
[0041] 例如,對于15首詞牌為《滿江紅》的宋詞,根據(jù)上述方法所描述的過程,算法將每首 宋詞對照《滿江紅》的格律模板進行拆分,隨后對每個韻律詞典進行編碼,具體如圖3所示。 該算法在輸入全部宋詞詞牌的格調(diào)模板和宋詞庫之后,可以一次對全部宋詞根據(jù)模板進行 拆分而得到韻律詞庫。
[0042] 實施例二
[0043] 本發(fā)明的實施例二如圖4所示,介紹了在一首給定詞牌的宋詞中,對秘密信息進行 隱寫的過程。采用哈希重置過的詞典,在編碼提取中提高了效率,具體實現(xiàn)過程包括:
[0044] (1)初始化需要隱寫的秘密信息為m,宋詞格調(diào)模板T,將每個位置需要填寫詞語的 韻律塊Rj存進模板T中。
[0045] (2)將輸入的秘密消息m全部轉(zhuǎn)換為二進制編碼m'。如果m'的長度不夠的話則在最 后一位補零。
[0046] (3)對于格調(diào)模板中每一個劃分塊,輸出該劃分塊對應(yīng)韻律詞典個數(shù)下的二進制 位數(shù),將結(jié)果存入Len。
[0047] (4)將秘密信息下一個位置的信息容量長度Len所表示的二進制串存入B中。
[0048] (5)將二進制串B轉(zhuǎn)化為十進制數(shù)n。找到韻律詞典下序號為n的詞語w〇rd[i]。
[OO49 ] (6)將每個詞語word [ i ]填入宋詞S的每個位置。
[0050] (7)將上述計算得到的宋詞S作為結(jié)果返回。
[0051 ] 實施例三
[0052]本發(fā)明的實施例三如圖5所示,描述了生成的隱寫宋詞S經(jīng)過信道傳輸?shù)浇邮辗?后,使用和傳輸方同樣的詞典D和格調(diào)模板T進行還原并提取秘密信息。具體實現(xiàn)過程包括:
[0053] (1)初始化宋詞模板T,包含秘密信息的隱寫宋詞S,經(jīng)還原得到的秘密信息m為空。
[0054] (2)對于在格調(diào)模板T下的每個劃分塊block和韻律詞典D[rhythm]下的詞語word, 如果詞典內(nèi)第i個詞語word[i]和生成宋詞這個位置的詞blockword-致,則輸出位置信息i 至Ijk中。
[0055] (3)將韻律詞典在位置j對應(yīng)的詞語個數(shù)對應(yīng)的二進制編碼長度輸出到Len中。
[0056] (4)將十進制k轉(zhuǎn)換成一串長度為該位置信息容量的二進制串k'。
[0057] (5)迭代生產(chǎn)二進制秘密信息m'。
[0058] (6)將二進制下的秘密信息m'進行還原得到原始秘密信息m。
[0059] (7)將上述計算得到的秘密信息m作為結(jié)果返回。
[0060] 例如,輸入隱藏的秘密信息為"夏日消溶,江河橫溢,人或為魚鱉。千秋功罪,誰人 曾與評說? "時,使用詞牌《永遇樂》作為模板生成的隱寫宋詞為:
[0062]當(dāng)輸入的隱私信息為:"when i was young i/d listen to the radio waiting for my favorite songs"的時候,選用詞牌《滿江紅》生成的隱寫宋詞為:
[0064]以上結(jié)合附圖以及三個實施例對本發(fā)明的實施方式作了詳細說明,但是本發(fā)明并 不限于上述實施方式,在本領(lǐng)域普通技術(shù)人員所具備的知識范圍內(nèi),還可以在不脫離本發(fā) 明宗旨的前提下做出各種變化。
【主權(quán)項】
1. 一種利用全宋詞實現(xiàn)文本信息隱藏的技術(shù),其特征在于,包括以下步驟: 步驟一、首先針對不同詞牌的全部宋詞,制定其格調(diào)模板集合T,使用宋詞拆分算法對 輸入的全部宋詞依據(jù)格調(diào)模板進行拆分,初步建立韻律詞典D,以供后續(xù)編碼、解碼時使用。 步驟二、對生成的韻律詞典進行編碼生成,以及哈希重置,通過此方法刪除了每個韻律 詞典中重復(fù)的詞語,加快了編碼時的查找速度,提高了效率并增加了安全性。 步驟三、采用隱藏算法Song-Steg(),針對輸入的不同語種的秘密信息,在信息隱藏的 過程中將信息轉(zhuǎn)換為二進制串的形式,根據(jù)格調(diào)模板在不同位置的劃分規(guī)定,將二進制串 劃分成長度不同的串并將其轉(zhuǎn)換成十進制數(shù),后將十進制數(shù)作為索引號于韻律詞典中找到 對應(yīng)的詞語,按照對應(yīng)詞牌的格調(diào)模板位置填入,生成一篇完整的宋詞。 步驟四、采用提取算法,對收到帶有隱寫信息的宋詞按照格調(diào)模板T進行劃分得到每個 位置的詞語,對照詞典找出對應(yīng)詞語的位置信息,將十進制的位置信息轉(zhuǎn)換為二進制串,并 進一步整合得到二進制下的秘密信息,最后轉(zhuǎn)換得到原始的秘密信息。2. 如權(quán)利要求1所述的一種利用全宋詞實現(xiàn)文本信息隱藏的技術(shù),其特征在于使用機 器對全宋詞庫中選用宋詞進行拆分和制定不同詞牌的格調(diào)模板時,包括: 對于選取的宋詞庫,其韻律模板的制定方法是:首先選取宋詞這種詩歌體裁中固有的 格調(diào)模板作為文本生成模板,從《全宋詞》中選取長短適中的宋詞集合記為C,使該集合含有 2538首宋詞。將每首宋詞按詞牌進行分類,得到詞牌對應(yīng)的格調(diào)模板集合T= {T」i = l,2, L n },對于符合指定格調(diào)T i的宋詞集合記為q。對于符合該格調(diào)模板的宋詞集合記為 q = ?[為=1,2,L 卜根據(jù)宋詞韻律特征,將"中仄"、"平平"、"中平灰"等韻律塊 用集合R表示,即R= {Rj I j = 1,2,L rhythmnum}。為便于使用機器進行格調(diào)模板制定和詞語 拆分,我們使用數(shù)字來代替韻律,令韻律"平" =1,"仄" =2, "中" =3,每個韻律塊之間用符 號7"隔開,得到某個詞牌對應(yīng)格調(diào)模板,同時將待拆分的宋詞Ak去除全部標(biāo)點符號及換行 符。將處理過的詩詞輸入"IN. txt"文件內(nèi),將全部數(shù)字化處理過的格調(diào)模板Ti輸入 "FORMAT.txt"內(nèi)。對于已經(jīng)生成好的模板,宋詞拆分的方法是:使用詞語拆分算法 WordSplit()結(jié)合格調(diào)模板對全部宋詞進行處理,將中的每一首宋詞Ak劃分為詞語序列 (WkRl,WkR2,L WkRrhythMum),,將符合同一韻律塊Rj的詞語WkRj放入詞典Dj中,初步形成韻律詞 典Dj = (wkRj |k=lL poemsnum),其中poemsnum代表某個詞牌下的宋詞數(shù)量,rhythmnum代表 類似"平平"等韻律塊的數(shù)量。3. 如權(quán)利要求1所述的一種利用全宋詞實現(xiàn)文本信息隱藏的技術(shù),其特征在于韻律詞 典的哈希重置與生成過程,包括: 對于經(jīng)拆分得到的宋詞庫,使用機器生成韻律詞典并進行哈希重置的過程和方法是: 將詞典D按照每個韻律塊包含的全部詞語占據(jù)詞典一行進行存儲,D」代表韻律詞庫的一行, 詞典h每行以詞語集合poemtWd來表示(W」代表韻律詞典第j行的詞語個數(shù))。將詞典文檔全 部內(nèi)容以文件流的形式讀入,寫入到詞典D的每個位置,以完成詞典生成。設(shè)哈希函數(shù)為H (),針對詞典中的每詞進行哈希重置,將每個詞語的MD5值進行哈希處理,并使用哈希值H (word)進行排序,已完成詞典的重置。經(jīng)哈希處理后的詞典,在調(diào)用查找時效率將大幅提 高,便于隱寫和提取過程中對詞語的查找。4. 如權(quán)利要求1所述的一種利用全宋詞實現(xiàn)文本信息隱藏的技術(shù),其特征在于秘密信 息隱寫過程的實施,包括: 在對用戶輸入的秘密信息進行隱寫操作時,本發(fā)明采用分塊隱藏的方式對隱寫過程進 行優(yōu)化,對宋詞格調(diào)模板中不用長度的劃分塊進行分別編碼,確保不同劃分塊可隱藏不同 長度的密文,不會造成空間的浪費。得到詞典D和格調(diào)模板T之后,就可以由秘密信息m經(jīng)隱 寫處理生成一篇宋詞。對于一個指定模板Ti,共有blocknum個韻律塊劃分,對于劃分的每個 位置K = {1L b 1 ocknum},與之對應(yīng)的韻律詞典行Dj中共有Wj個詞語,那么每個位置K至少能 嵌人位比特信息,每個劃分塊可以容納的信息容量表達為= [logU。由于 每個詞典行h詞語數(shù)量多少不一,則整首詞容量即為每個劃分位置K的各自容量之和,可以 表示為:上述公式表明,一篇隱藏宋詞可隱藏的秘密信息容量capacity等于各個劃分位置K包 含的信息容量之和,一篇宋詞可隱藏的秘密信息容量capacity與這篇宋詞的文本長度的比 值即為秘密信息的嵌入率。算法在執(zhí)行過程中,首先是將輸入的秘密消息m,全部轉(zhuǎn)換為二 進制編碼n/,如果二進制編碼n/長度不夠一篇隱寫宋詞的容量capacity的話,則在n/的末 尾補零。對于每個劃分塊的信息量長度編以對應(yīng)長度Len的二進制編碼,令下個劃分塊的長 度Len所表示的二進制串為B,將B由二進制轉(zhuǎn)換成十進制n表示,令在韻律詞典第i個詞word [i]為n。最后將每個對應(yīng)位置的詞語w〇rd[i]填入宋詞S中,最終輸出得到隱寫宋詞。5.如權(quán)利要求1所述的一種利用全宋詞實現(xiàn)文本信息隱藏的技術(shù),其特征在于對收到 含有秘密信息的隱寫宋詞進行提取過程的實施,包括: 生成的隱寫宋詞S經(jīng)信道傳輸?shù)浇邮辗胶?,需要使用和傳輸方同樣的詞典D和格調(diào)模板 T才能通過提取器和還原算法EXtracti〇n()還原出秘密信息,由于詞典生成中的去重操 作,不會在因詞語重復(fù)而產(chǎn)生歧義。算法在執(zhí)行過程中,首先對于收到的隱寫宋詞S,對每個 屬于韻律詞典D [rhythm]的詞語word進行操作,如果隱寫宋詞某個位置的詞語blockword在 詞典里面對應(yīng)第i個詞word[i],則將i賦值給k。將k轉(zhuǎn)換為一串對應(yīng)該位置信息容量長度的 二進制串k',并通過迭代生成二進制秘密信息n/。最后將二進制下的秘密信息n/進行還原 并輸出,得到原始秘密信息m。
【文檔編號】G06F17/27GK106055531SQ201610333285
【公開日】2016年10月26日
【申請日】2016年5月17日
【發(fā)明人】王箭, 劉彥辰, 王智彬, 屈琪鋒, 于順
【申請人】南京航空航天大學(xué)