隐写术
隱寫術是一門關於信息隱藏的技巧與科學,所謂信息隱藏指的是不讓除預期的接收者之外的任何人知曉信息的傳遞事件或者信息的內容。隱寫術的英文叫做,來源於特裡特米烏斯的一本講述密碼學與隱寫術的著作,該書書名源於希臘語,意為「隱秘書寫」。
概要
一般來說,隱寫的信息看起來像一些其他的東西,例如一張購物清單,一篇文章,一篇圖畫或者其他「偽裝」(cover)的消息。
隱寫的信息通常用一些傳統的方法進行加密,然後用某種方法修改一個「偽裝文本」(covertext),使其包含被加密過的消息,形成所謂的「隱秘文本」(stegotext)。例如,文字的大小、間距、字體,或者掩飾文本的其他特性可以被修改來包含隱藏的信息。只有接收者知道所使用的隱藏技術,才能夠恢覆信息,然後對其進行解密。
隱寫術與電子水印
首先在概述隱寫術時必須提到它的近親兄弟電子水印(Watermarking),水印用於識別物品的真偽(比如:新台幣上面翻轉隱約可見到梅花、人民幣上面的隱約可見的毛澤東頭像),或者作為著作權聲明的標誌,或者加入作品屬性信息。電子水印與隱寫術的相同點是,二者都是將一個文件隱寫至另一個文件當中,而兩者的區別在於使用目的與處理算法的不同。電子隱寫側重將秘密文件隱藏,而電子水印則較重視著作權的聲明與維護,防止多媒體作品被非法複製等等。電子隱寫術一旦被識破,則秘密文件十分容易被讀取,相反,電子水印不隱藏及隱寫文件的隱蔽性,而在乎加強(Robustness)除去算法的攻擊。
現代隱寫術
載體文件(cover file)相對隱秘文件的大小(指數據含量,以比特計)越大,隱藏後者就越加容易。
因為這個原因,數字圖像(包含有大量的數據)在網際網路和其他傳媒上被廣泛用於隱藏消息。這種方法使用的廣泛程度無從查考。例如:一個24位的位圖中的每個像素的三個顏色份量(紅,綠和藍)各使用8個比特來表示。如果我們只考慮藍色的話,就是說有28種不同的數值來表示深淺不同的藍色。而像11111111和11111110這兩個值所表示的藍色,人眼幾乎無法區分。因此,這個最低有效位就可以用來存儲顏色之外的信息,而且在某種程度上幾乎是檢測不到的。如果對紅色和綠色進行同樣的操作,就可以在差不多三個像素中存儲一個字節的信息。
更正式一點地說,使隱寫的信息難以探測的,也就是保證「有效載荷」(需要被隱蔽的信號)對「載體」(即原始的信號)的調製對載體的影響看起來(理想狀況下甚至在統計上)可以忽略。這就是說,這種改變應該無法與載體中的噪聲加以區別。
(從信息論的觀點來看,這就是說信道的容量必須大於傳輸「表面上」的信號的需求。這就叫做信道的冗餘。對於一幅數字圖像,這種冗餘可能是成像單元的雜訊;對於數字音頻,可能是錄音或者放大設備所產生的噪聲。任何有著模擬放大級的系統都會有所謂的熱噪聲(或稱「1/f」噪聲),這可以用作掩飾。另外,有損壓縮技術(如JPEG)會在解壓後的數據中引入一些誤差,利用這些誤差作隱寫術用途也是可能的。)
隱寫術也可以用作數字水印,這裡一條消息(往往只是一個標識符)被隱藏到一幅圖像中,使得其來源能夠被跟蹤或校驗。但往往隱寫術不具有良好的強健性,當圖像被稍微修改後,隱入的消息就無法提取校驗了。
應用電腦的字型設計的隱寫術,如:
全选本行文字,可以看得見隱藏的文字。歡迎來到中文維基百科。