2007年4月25日 星期三

Week 9: J. Fridrich's Method

本週的課程內容是論文指定閱讀, 請同學在第十一週上課前閱讀完本篇論文, 在上課前在 Homework Show @ IHC 中至少提出三個問題, 我們將在第十一週的課堂上進行討論。

A New Steganographic Method for Palette Images
Jessica Fridrich
IS&T PICS, Savannah, Georgia, April 25-28, 1999, pp. 285-289.

這篇論文針對 Machado's Embedding Method 中的錯誤假設改進。指出 "顏色相近的兩個色彩值, 亮度是相近的, 不過, 亮度相近的兩個顏色, 顏色卻不一定相近" 的看法, 並提出一個新的嵌入演算法。
 

2007年4月19日 星期四

Week 8: Machado' s Method

上週 我們介紹了針對調色盤類型影像, 將資訊嵌在像素顏色的索引值(index)中的隱藏技術, 希望同學課後將程式實作出來。一共有四位優秀的同學 - 兆廷, 佳玉, 卉妤, 可欣 - 將程式實作出來, 並完成了實驗。同學優秀的表現, 讓課堂上的討論可以延續下去, 真的很棒。

由同學們所模擬出來的調色盤我們可以觀察到: 調色盤中相鄰顏色的差異可能很大。因此, 直接在某個像素的索引值的最低位元嵌入資訊, 雖然在索引值的誤差僅僅為 1 的情況下, 像素的顏色可能改變很大, 使整張影像看起來不自然, 增加了曝露嵌入行為的風險。

為了改善這項缺失, 直覺的作法就是先將調色盤中的顏色排序, 使其相鄰的顏色差異縮小。但是, 更動調色盤中色彩的次序, 容易引起疑慮, 增加了曝露嵌入行為的可能性。所以, R. Machado 提出了另一種可行的方法, 其嵌入步驟如下:

 1. 複製一份調色盤, 依顏色的亮度做排序。使得新調色盤中, 相鄰顏色之間的色彩差異減至最低。
 2. 找出欲嵌入資訊的像素顏色值在新調色盤中的索引值。
 3. 取出一個位元的資訊, 將其嵌入至新索引值的最低位元。
 4. 取出嵌入資訊後的索引值之顏色 RGB 值。
 5. 找出這個 RGB 值在原始調色盤中的索引值。
 6. 將這個像素的索引值改成 步驟 5. 找到的索引值。

注意, 這個嵌入的方法並沒有改變原先的調色盤, 而且最後的索引值和原始的索引值之間的差異並不只是 1。然而, 這兩個索引值所代表的顏色在新調色盤中卻是相鄰的顏色, 因此差異不大。當接收者收到影像時, 取出資訊的步驟如下:

 1. 複製一份調色盤, 並對其顏色根據亮度做排序。
 2. 取出一個像素, 根據索引值在舊調色盤中, 取出其顏色 RGB 值。
 3. 找出這個 RGB 值在新調色盤中的索引值。
 4. 取出這個索引值的 LSB, 即是所要的資訊。

R. Machado 方法的優點是沒有改變調色盤的內容或次序;

2007年4月12日 星期四

Week 7: Index embedding

請同學試著撰寫一個模擬將機密訊息嵌入到調色盤類型影像的索引值中, 藉以分析原始掩護影像(cover-images)與偽裝影像(steg0-images)之間的變化。
步驟:
1. 將影像用 Photoshop 存成 GIF 格式, 使影像的色彩總數降成 256 色。
2. 再將影像用 Photoshop 存成 BMP 格式, 讓你的 BCB 程式可以讀取影像內容。
3. 撰寫一個程式讀入該 BMP 影像,
4. 掃描整張影像, 製作出 256色調色盤。
5. 宣告一個二維陣列, 將每個像素點的顏色, 查出該顏色在調色盤的索引值(index), 存到二維陣列中。
6. 用一個隨機變數模擬機密訊息的嵌入, 隨機更改每一個索引值的 LSB。
7. 用新的索引值產生一張影像, 即為偽裝影像(stego-image)。