• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種以文本內(nèi)容為載體的信息隱藏技術(shù)*

      2010-06-13 11:32:52鐘尚平
      微處理機(jī) 2010年3期
      關(guān)鍵詞:個字符字符秘密

      張 浩,鐘尚平

      (福州大學(xué)數(shù)學(xué)與計算機(jī)科學(xué)學(xué)院,福州350108)

      1 背景概述

      信息隱藏是將有意義的信息隱藏在另一個載體信息中得到隱蔽載體,未授權(quán)用戶不知道一個普通信息中是否隱藏了其他信息,即使知道也難以提取或去除隱藏的信息[1]。所用的載體可以是文字、圖像、聲音及視頻等。當(dāng)前使用和研究的信息隱藏技術(shù),多以多媒體數(shù)據(jù)為載體。其具有很大的冗余性,隱藏信息后對多媒體自身的影響很小;而且由于人眼或人耳的分辨能力有限,使得隱藏信息完全不被察覺[1]。但多媒體、圖像等信息的使用范圍具有一定的局限性,文本的應(yīng)用使其具有顯而易見的廣泛性。造字法字庫的修改,不利于信息的傳遞。文中將重點(diǎn)討論以文本內(nèi)容為載體的隱藏技術(shù)。

      2 以文本內(nèi)容為載體的隱藏信息技術(shù)

      2.1 主要分類[2]

      插入法:在文本內(nèi)容載體中尋找被文本軟件忽略或不顯示的文件位置,插入秘密信息后文件大小增加了,而不影響軟件對文件的讀取和人眼的識別。只增加數(shù)據(jù),不修改現(xiàn)有內(nèi)容。

      替代法:修改文本內(nèi)容載體中的某些信息,不顯著影響載體對信息的表達(dá)或?qū)τ脩糸喿x透明。

      直接生成法:秘密信息直接生成文本載體信息,文本載體沒有任何實際意義,它就是秘密信息本身。

      2.2 現(xiàn)有的隱藏技術(shù)

      采用符號的冗余編碼[3],實現(xiàn)秘密信息在文本隱秘載體中的隱藏。將原來的字符編碼,從一個字符對應(yīng)一個編碼轉(zhuǎn)換為一個字符對應(yīng)多個編碼。根據(jù)編碼的不同確定該字符當(dāng)前攜帶的秘密信息。如A的編碼原本為0x0041,現(xiàn)在定義為A字符對應(yīng)三種編碼:0x0041,0xE410,0xE411,三種編碼分別表示不攜帶秘密信息、攜帶秘密信息的二進(jìn)制為’0’、攜帶秘密信息的二進(jìn)制為’1’。這種信息隱藏技術(shù),必須使用特定的軟件以實現(xiàn)文本的編輯和閱讀,在通用的文本編輯和閱讀軟件中不能通用。

      字歸類與節(jié)歸類法[4],采用相鄰單詞間字母個數(shù)或者相鄰字符內(nèi)碼的大小關(guān)系來存儲隱秘信息。由于文本內(nèi)容載體是固定的,所以存儲的秘密信息其實也是隨載體而固定,必須采用其他方法如文本格式或顏色進(jìn)行輔助,才能準(zhǔn)確的隱藏信息。或者直接根據(jù)秘密信息直接生成一段文本信息。

      中英文標(biāo)點(diǎn)編碼算法[5],根據(jù)中英文標(biāo)點(diǎn)符號的相似性,結(jié)合標(biāo)點(diǎn)前后插入的空格,實現(xiàn)信息的隱藏。標(biāo)點(diǎn)符號在隱秘載體中個數(shù)有限且固定,每個標(biāo)點(diǎn)只能隱藏1、2個比特的秘密信息,其隱藏容量小;依照隱秘信息插入情況,各個標(biāo)點(diǎn)的顯示細(xì)節(jié)仍能通過肉眼區(qū)分,隱蔽性較差。類似的方法還有插入制表符。

      同義詞隱藏算法[6],根據(jù)預(yù)先建立的同義詞庫,通過對隱秘載體中的同義詞進(jìn)行替換,而得到信息隱藏的空間。這種方式中,每個同義詞的替換代表一個隱藏的比特,隱藏容量小;在提取隱秘信息時,必須提供隱秘載體的原文,不能實現(xiàn)盲隱藏。

      以文本內(nèi)容為載體的信息隱藏技術(shù),優(yōu)點(diǎn)在于通用性依賴于文字信息,只要有文字的地方都能隱藏信息,通用性極強(qiáng);安全性也依賴于文字信息本身,不受文件格式影響。已有的各類算法主要存在的缺點(diǎn)是透明性差和隱藏容量小。理論上相同的技術(shù)中,透明性和隱藏容量呈反比,即透明性降低則隱藏容量提升;透明性提高則隱藏容量減少。本設(shè)計提出一種新的以文本內(nèi)容為載體的信息隱藏技術(shù),不僅在透明性上進(jìn)行了提升,同時增大了隱藏容量。

      3 插入透明字符的信息隱藏

      3.1 幾個定義[7]

      為了便于描述,引入幾個定義。

      秘密信息:任何可以通過二進(jìn)制比特串表示的,需要隱藏在文本內(nèi)容中進(jìn)行傳輸?shù)臄?shù)據(jù)信息。

      文本內(nèi)容載體:任何只包含字符編碼標(biāo)準(zhǔn)中正??梢娮址奈谋緝?nèi)容,并用該文本內(nèi)容來隱藏數(shù)據(jù)進(jìn)行傳輸。在信息隱藏技術(shù)中,通稱為隱秘載體。

      隱秘對象:將秘密信息重新編碼后,嵌入到文本內(nèi)容載體中,而得到的新文本內(nèi)容。

      3.2 編碼知識

      ANSI編碼和Unicode編碼均可采用windows的記事本軟件進(jìn)行相互轉(zhuǎn)換,通過UltaEdit工具可直接查看各種編碼的二進(jìn)制表示。ANSI中以8bit表示ASCII碼,Unicode則統(tǒng)一使用16bit。這兩種編碼均可表示216個字符,共計217(128KB)個字節(jié)。這些編碼數(shù)字以整數(shù)形式固定下來,數(shù)字即使發(fā)生1位的變化,也會導(dǎo)致相關(guān)的文本處理程序不能正確表示出原始文字,引起文字錯誤,所以編碼替換或修改是不可能的。換個角度采用插入方式,這些字符并沒有完全在編碼中被使用,而是預(yù)留了大量的字符,實驗證明這些字符在各類文本文檔中均不顯示,這類字符可作為存儲信息的隱蔽信道。例如:Unicode編碼0xE4C6,在ANSI標(biāo)準(zhǔn)中編碼0x40A1,該字符在記事本、Adobe Acrobat、OFFICE等文本軟件中均不顯示。由于ANSI編碼標(biāo)準(zhǔn)是Windows預(yù)設(shè)標(biāo)準(zhǔn),以ANSI為例進(jìn)行描述隱藏方法,與基于Unicode編碼標(biāo)準(zhǔn)的實現(xiàn)基本相同。

      3.3 實現(xiàn)步驟

      主要流程如圖1所示,分為5個步驟:

      圖1 主要流程

      (1)定義預(yù)留編碼集合,在常用編碼庫中選擇不可見字符編碼的集合,假設(shè)集合中元素個數(shù)為L,L是2的r次冪;

      (2)定義L進(jìn)制編碼,根據(jù)L的值來定義L進(jìn)制編碼;

      (3)定義L進(jìn)制編碼到預(yù)留編碼集合的雙射函數(shù),L個L進(jìn)制編碼和預(yù)留編碼集合中的L個預(yù)留編碼實現(xiàn)一一對應(yīng);

      (4)定義字符嵌入方法,根據(jù)實際應(yīng)用環(huán)境和要求,選擇字符嵌入位置和方法;

      (5)秘密信息嵌入與提取,根據(jù)自定義的預(yù)留編碼集合、L進(jìn)制編碼、L進(jìn)制編碼和預(yù)留編碼集合的雙射關(guān)系、字符嵌入方法,實現(xiàn)在隱秘載體中隱藏秘密信息,或者從隱秘對象中獲取秘密信息。

      該技術(shù)遵循Kerckhoffs原則,雙射關(guān)系f、預(yù)留編碼集合、嵌入方法共同組成隱藏密鑰K,構(gòu)成對稱隱藏算法。

      3.4 具體實現(xiàn)與實例說明

      3.4.1 定義預(yù)留編碼集合

      在ANSI編碼標(biāo)準(zhǔn)所有的216個編碼中,篩選出不同文本軟件中不可見字符編碼的交集,剔除特殊用途的不可見編碼。通常一種文本軟件中的不可見字符編碼,在其他文本軟件中具有相同的不可見顯示特性,所以可操作性較強(qiáng)。將ANSI編碼標(biāo)準(zhǔn)中的不可見字符編碼,轉(zhuǎn)換為Unicode編碼格式后,通常仍具有相同的不可見顯示特性。以ANSI編碼標(biāo)準(zhǔn)為例,從ANSI編碼中篩選了1024個不可見字符編碼,并為每個編碼分配一個序號,構(gòu)成預(yù)留編碼集合。

      如圖2所示,預(yù)留編碼集合中,所有預(yù)留編碼并無規(guī)律,在建立預(yù)留編碼集合的同時為每個預(yù)留編碼分配一個整數(shù)型序號,以便檢索和標(biāo)識。

      圖2 L進(jìn)制編碼和預(yù)留編碼集合

      3.4.2 定義L進(jìn)制編碼

      預(yù)留編碼集合基數(shù)為1024,是2的r=10次冪。建立L進(jìn)制編碼,采用r位比特串進(jìn)行1024進(jìn)制編碼。如圖2所示,L進(jìn)制編碼采用整數(shù)和二進(jìn)制編碼兩種方式表示。

      3.4.3 定義雙射函數(shù)

      L進(jìn)制編碼的整數(shù)表示到預(yù)留編碼集合的整數(shù)型序號的雙射函數(shù)可任意選擇,以選擇f(x)=x函數(shù)為例,其逆函數(shù) f-1(x)=x。

      3.4.4 定義字符嵌入方法

      在文本內(nèi)容中可選擇的嵌入位置中有:單引號前后1個字符、雙引號前后1個字符、其他標(biāo)點(diǎn)后1個字符、段落后若干個字符、段首2個字符、文章結(jié)束后若干個字符等不顯眼位置。具體位置選擇,需根據(jù)實際情況選擇。選擇以下嵌入位置為例:

      (1)逗號后1個字符、分號后1個字符、句號后1個字符。

      (2)文章結(jié)束后若干個字符。

      具體實現(xiàn)時還需注意:若位置(1)數(shù)量超過需要插入預(yù)留編碼字符串的長度,則在剩余的位置中填充空格;若位置(1)數(shù)量小于需要嵌入預(yù)留編碼字符串的長度,則在位置(2)中插入剩余的預(yù)留編碼字符。

      3.4.5 秘密信息的嵌入與提取過程

      嵌入過程,如圖3所示,首先秘密信息表示為比特串形式,以r(r=10)位為單位進(jìn)行劃分,轉(zhuǎn)換為L進(jìn)制編碼串;根據(jù)雙射函數(shù)f和預(yù)留編碼集合,將L進(jìn)制編碼串映射為預(yù)留編碼字符串;根據(jù)字符在文本內(nèi)容中的嵌入方法,將預(yù)留編碼字符串嵌入到信息載體中,形成隱秘對象,得到的隱秘對象就可以通過各種方式進(jìn)行傳輸。

      圖3 秘密信息的嵌入與提取

      秘密信息:“信息隱藏方法”

      隱秘載體:“沿著荷塘,是一條曲折的小煤屑路。這是一條幽僻的路;白天也少人走,夜晚更加寂寞。荷塘四周,長著許多樹,蓊蓊郁郁的。路的一旁,是些楊柳,和一些不知道名字的樹。沒有月光的晚上,這路上陰森森的,有些怕人。今晚卻很好,雖然月光也還是淡淡的。”

      秘密信息的ANSI編碼串16進(jìn)制表示為:D0 C5 CF A2 D2 FE B2 D8 B7 BD B7 A8

      秘密信息的ANSI編碼串2進(jìn)制表示,以r位為單位進(jìn)行劃分得到的就是L進(jìn)制二進(jìn)制表示,$符號為分隔符,最后不足r位部分以0補(bǔ)足,括號中為補(bǔ)足的0:$1101000011$0001011100

      $1111101000$1011010010$1111111010

      $1100101101$1000101101$1110111101

      $1011011110$101000(0000)

      秘密信息的L進(jìn)制編碼整數(shù)表示:[835][92][1000][722][1018][813][557][957][734][640]

      根據(jù)雙射函數(shù)f計算每個L進(jìn)制編碼整數(shù)對應(yīng)的預(yù)留編碼集合的整數(shù)型序號。

      秘密信息的預(yù)留編碼集合的整數(shù)序號序列為:[835][92][1000][722][1018][813][557][957][734][640]

      通過查找預(yù)留編碼集合得出整數(shù)型序號對應(yīng)的預(yù)留編碼。

      秘密信息的預(yù)留編碼字符串的16進(jìn)制表示:[ABE5][A19D][ADCE][AAD2][ADE0][ABCF][A68D][ADA3][AADE][A780],其中每16位表示一個字符,這里就有10個字符需要插入到隱秘載體中。

      根據(jù)預(yù)留編碼字符串在文本內(nèi)容中嵌入的方法,在隱秘載體中找出嵌入位置。

      插入后得到的隱秘對象:“沿著荷塘,是一條曲折的小煤屑路。這是一條幽僻的路;白天也少人走,夜晚更加寂寞。荷塘四周,長著許多樹,蓊蓊郁郁的。路的一旁,是些楊柳,和一些不知道名字的樹。沒有月光的晚上,這路上陰森森的,有些怕人。今晚卻很好,雖然月光也還是淡淡的?!?/p>

      從隱秘對象中提取秘密信息是嵌入過程的逆過程:

      從傳輸系統(tǒng)得到隱秘對象,根據(jù)字符在文本內(nèi)容中的嵌入方法,從隱秘對象中分別提取出隱秘載體和預(yù)留編碼字符串,根據(jù)預(yù)留編碼集合和雙射函數(shù)f-1,將預(yù)留編碼字符串映射為L進(jìn)制編碼串,將L進(jìn)制編碼串轉(zhuǎn)換為二進(jìn)制比特串形式就是需要得到的秘密信息。

      實現(xiàn)過程主要采用移位操作,r位L進(jìn)制仍使用雙字節(jié)表示,高位補(bǔ)零。L進(jìn)制編碼中,需r位對齊,尾部填充0;提取信息時要去除。

      4 性能分析與特點(diǎn)

      對照現(xiàn)有的以文本為載體的信息隱藏技術(shù),提出的隱藏方法有以下特點(diǎn):

      (1)透明性與隱藏容量:用于存儲秘密信息的編碼,是ANSI編碼或Unicode編碼中的預(yù)留編碼。這些編碼不僅數(shù)量多(3k字節(jié)以上),而且完全不影響文本的正常顯示。秘密信息隱藏前后的編碼利用率高,本例中采用了16比特編碼表示r比特信息。較強(qiáng)的透明性,也使得隱藏容量大,且不受隱秘載體內(nèi)容多少的限制。

      (2)安全性:本技術(shù)采用插入法,在文本內(nèi)容中直接增加冗余空間。對文件格式的修改、文本排版的修改、以及文本內(nèi)容在不同格式文件中的拷貝,都不會影響到隱秘信息,具有較強(qiáng)的安全性。

      (3)魯棒性:魯棒性弱是基于文本載體的信息隱藏技術(shù)不可避免的問題。當(dāng)文本內(nèi)容中的不可見字符遭到刪除或篡改攻擊,都會影響到隱秘信息的恢復(fù)。該方法適合應(yīng)用于實現(xiàn)易損水印來保護(hù)隱秘載體C,在特定條件下適合作為隱秘通道。

      (4)通用性:本方法能以任何文本文件格式為載體,如.txt、.doc、.pdf等格式。即便有個別差異,只需要對不可見預(yù)留編碼集合重新篩選。秘密信息可為任何類型數(shù)據(jù),如各種格式的文本信息、圖片信息、音視頻信息等,只需轉(zhuǎn)換為二進(jìn)制編碼進(jìn)行插入即可。本方法具有很強(qiáng)的通用性和兼容性。

      5 結(jié)束語

      提出的信息隱藏方法,是以文本內(nèi)容為載體,著眼于文字本身的編碼,完全獨(dú)立于文件格式之上。能夠在任何文本文件格式中,在文本內(nèi)容的數(shù)據(jù)中隱藏不限制大小和類型的秘密數(shù)據(jù)。可以提供一種易損的盲隱藏技術(shù),其中未包含對秘密信息的加密,可通過其他加密算法加強(qiáng)。結(jié)合非對稱加密算法,可實現(xiàn)文本內(nèi)容的不可抵賴性和完整性,主要應(yīng)用領(lǐng)域是電子簽章。也可以在特定環(huán)境下,結(jié)合加密算法,用作隱蔽通道。本技術(shù)已申請國家發(fā)明專利。

      [1]王麗娜,張煥國.信息隱藏技術(shù)與應(yīng)用[M].武昌:武漢大學(xué)出版社,2003.

      [2]徐迎暉.文本載體信息隱藏技術(shù)研究[D].北京:北京郵電大學(xué),2006.

      [3]劉東.以符號的冗余編碼攜帶隱藏信息的文本數(shù)字水印技術(shù)[P]:中國:200410040307.0,2005-3-23.

      [4]耿紅琴.基于文本的信息隱藏技術(shù)研究[J].科學(xué)技術(shù)與工程,2007,7(6):1070 -1073.

      [5]張學(xué)鋒.基于文本載體的數(shù)字水印算法探究[J].計算機(jī)與現(xiàn)代化,2009(3):84-87.

      [6]眭新光,羅慧.一種安全的基于文本的信息隱藏技術(shù)[J].計算機(jī)工程,2004,30(19):104 -105.

      [7]戴躍偉.信息隱藏技術(shù)的理論與應(yīng)用研究[D].南京:南京理工大學(xué),2002.

      猜你喜歡
      個字符字符秘密
      尋找更強(qiáng)的字符映射管理器
      字符代表幾
      一種USB接口字符液晶控制器設(shè)計
      電子制作(2019年19期)2019-11-23 08:41:50
      消失的殖民村莊和神秘字符
      愿望樹的秘密(二)
      手心里有秘密
      我心中的秘密
      第十三章 進(jìn)化的秘密!
      不讓長文件名成為“絆腳石”
      電腦迷(2014年8期)2014-04-29 07:37:40
      工資報表計算機(jī)軟件論述
      卷宗(2011年9期)2011-05-14 17:51:19
      灵丘县| 崇信县| 惠来县| 宁津县| 额敏县| 浦县| 巴楚县| 万全县| 保德县| 长春市| 达拉特旗| 龙江县| 灵武市| 吉木萨尔县| 吉林市| 宜良县| 永善县| 仪陇县| 方正县| 赞皇县| 积石山| 称多县| 德保县| 武鸣县| 滨海县| 长武县| 雷波县| 那坡县| 磴口县| 彭州市| 湖州市| 福贡县| 如皋市| 汉阴县| 建阳市| 巴中市| 靖宇县| 叙永县| 贡山| 泰宁县| 平舆县|