2007年6月21日 星期四

Week 17: JPEG Compression & Steganography

今天是最後一次上課, 課程主題分成三個部份:

1. JPEG Compression

我們示範了 JPEG 壓縮的整個過程, 並以一個 Block 為例子,
a. 將原先的 RGB 色彩值轉換成 YCbCr 值,
b. 再分別轉換成 DCT 係數,
c. 使用一個量化參數(quantization factor) 來設定量化表 (quantization table),
d. 對 DCT 係數矩陣做量化處理
e. 將量化後係數 (quantized coefficients) 轉成一維的 Zigzag 序列。

2. JPEG Steganography

討論在JPEG壓縮過程中, 如何嵌入資訊, 並以 Jsteg 為例子。

3. 課程成效檢討

2007年6月13日 星期三

Week 16: JPEG Compression (2)

今天上午我要參加兒子的國小畢業典禮, 所以課程由黃老師代課。請大家延續上週的討論, 繼續探索 JPEG 壓縮標準。

請大家繼續思索的問題是:
1. 針對每一個經 DCT 轉換後所得到的 8*8 係數矩陣, 都要使用一個同樣是 8*8 大小的量化矩陣做量化壓縮程序。為什麼量化矩陣中, 不同位置的值大小不同, 代表的涵義為何?
2. 量化後的係數矩陣中, 存在許多個 0, 代表的涵義為何?
3. 用 Zigzag 的方式, 將二維矩陣轉換為一維矩陣的目的為何? 優點為何?
4. 為什麼 JPEG 壓縮的最後一個步驟必須使用無失真的壓縮技術?
5. 熵編碼(entropy coding)的熵所代表的意義為何?

同學們了解了整個 JPEG 壓縮過程後, 就可以自行思索如果想嵌入機密訊息到 JPEG 影像中, 可以放到哪個位置之中。

下星期請大家繳交一篇學期課程回顧與心得, 然後給自己打一個分數, 分享到 Homework Show @ IHC 中, 請同學務必繳交並出席下週的課程。
 

2007年6月7日 星期四

Week 15: JPEG Compression (1)

本週的討論主題為 JPEG Compression。
我們先請同學閱讀在中文維基百科中 JPEG 條目, 然後就同學提出的問題討論。

討論的內容包含:
1. 什麼是色彩空間? 為什麼有不同的色彩空間? 轉換的目的為何?
2. 什麼是量化? 好處是什麼?
3. 什麼是轉換? 為什麼要做 DCT 轉換?
4. DCT 轉換後的矩陣的意義為何? 何謂低頻? 何謂高頻? 對應到一張影像所呈現的意義是什麼?

這些都是同學應該思考的核心觀念, 觀念貫通了, 技術與程式就不會是問題! 請同學就上述問題, 多方搜尋資料, 解答自己的困惑, 整理自己的想法, 分享到 Homework Show @ IHC 中。

2007年6月3日 星期日

Week 14: Presentation (2)

今天的課程主要是讓同學上台說明自己投影片做了哪些修改。
從下週開始, 我們要開始介紹關於 JPEG 影像的隱藏技術。
請同學回家後, 先自行找些 JPEG 的相關資料研究一番, 閱讀時所遭遇的問題, 請記錄下來, 並整理到課程部落格中, 這樣子我們下週的討論就會進行的比較順利。

JPEG 相關網站:
1. Joint Photographic Experts Group
2. 規格書 ITU 11505 T.81
3. Wikipedia: JPEG
4. 維基百科正體中文: JPEG

2007年5月24日 星期四

Week 13: Presentation (1)

論文報告 (IHC Week 13)

課程進入第13週, 我們試著讓同學將研讀的論文內容做成投影片, 然後正式上台報告!最後, 我們引導同學討論, 試著回想今天的場景中, 哪些是讓你印象深刻的, 然後歸納出一個好的報告內容, 應該具備什麼特質。

1. 用例子或圖片說明。
2. 用動畫呈現
3. 應該將關鍵詞彙寫出即可, 不可以原文照抄。
4. 必須整理成條列式。
5. 聲音要宏亮。



兆廷 (IHC Week 13)
兆廷用圖片說明什麼是微點照片。

士華 (IHC Week 13)
小華用條列式整理讓學弟妹印象深刻。

可欣 (IHC Week 13)
可欣用心的做動畫呈現效果!

明格 (IHC Week 13)
明格的投影片令人賞心悅目。

政瑋 (IHC Week 13)
政瑋總結的很不錯, 條理分明, 聲音宏亮, 台風一級棒!

有些低年級學弟妹還是第一次上台報告, 第一次做投影片, 自然改進空間很大。不過, 我個人覺得這份投影片很有紀念價值, 同學應該好好保存!將來同學學會了如何做好一份投影片時, 再回過頭來看自己第一次上台的投影片, 就會感受到自己的成長!

本週同學回去將今天的課程感想寫到 Homework Show @ IHC 中, 然後將自己的投影片改版, 再次放到 Homework Show @ IHC 中, 然後在下週向同學報告你這次做了哪些修改。

2007年5月19日 星期六

Week 12: Paper Reading & Discussion (2)

本週的主題是檢視同學針對自己的問題去回覆!小華的表現很不錯, 不但跟上了進度, 也對自己的問題有所釐清。

為了讓同學體驗讀完一篇論文後, 用 Powerpoint 做投影片做報告的過程, 我們將 J. Fridrich 論文 A New Steganographic Method for Palette Images 分成四部份, 請同學練習做投影片, 分享在 Homework Show @ IHC 中。

下週我們會從實驗室搬來投影機, 讓同學上台報告, 真實模擬一位研究生上台做報告的情境, 讓同學直接感受一位研究生所必須面對的事情。

2007年5月11日 星期五

Week 11: Paper Reading & Discussion (1)

本週課程主題是討論 J. Fridrich 論文 A New Steganographic Method for Palette Images 的核心觀念!我們從本篇論文的摘要(abstract)開始討論, 希望讓同學體認到一篇論文的菁華, 其實都在這邊了!

Abstract
In this paper, we present a new steganographic technique for embedding messages in palette-based images, such as GIF files. The new technique embeds one message bit into one pixel (its pointer to the palette). The pixels for message embedding are chosen randomly using a pseudo-random number generator seeded with a secret key. For each pixel at which one message bit is to be embedded, the palette is searched for closest colors. The closest color with the same parity as the message bit is then used instead of the original color. This has the advantage that both the overall change due to message embedding and the maximal change in colors of pixels is smaller than in methods that perturb the least significant bit of indices to a luminance-sorted palette, such as EZ Stego. Indeed, numerical experiments indicate that the new technique introduces approximately four times less distortion to the carrier image than EZ Stego. The maximal color change is 45 times smaller for the new technique than that of EZ Stego. A technique that introduces less distortion to the carrier image will generally cause changes that are more difficult to detect, and will therefore provide more security.

在了解核心觀念之後, 請同學重新思考上週在 Homework Show @ IHC 所提出的問題, 看看是否已經可以解答自己的問題了。本週的作業是重新在閱讀一次本篇論文, 然後請同學針對自己與同學們提出的問題去回應。
 

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)。

2007年3月28日 星期三

Week 5: S-Tools Steganalysis

本週課程主題有二:
1. 探討如何寫程式判斷一張黑白影像是屬於 random pattern。

 基本上, 位元平面(bit-plane) 如果看起來是 random 的, 兩兩相鄰的值為相同的機率之期望值為 0.5。

2. 探討 S-Tools 的破解方式。

關於 S-Tools 的破解, 延伸閱讀資料為:
針對調色盤影像的快速隱藏分析技術

S-Tools 最大的缺點就是將調色盤修改的非常不自然, 而露出破綻。因此, 下週我們將探討不修改調色盤的嵌入技術。請同學先思考如何將訊息嵌入到索引值中。

2007年3月21日 星期三

Week 4: Visual Attack

不少同學討論到是否可以將影像的最後一個位元抽取出來, 拼湊成一張黑白影像, 如果這張影像看起來有些不尋常, 就可以斷定這是一張嵌有機密訊息的偽裝影像(stego-image)了。因此, 我們介紹了 Andres Westfeld 在 IHW99 論文 "Attacks on Steganographic System" 所提出的視覺攻擊法(visual attack)。

所謂的視覺攻擊法乃是將機密訊息可能隱藏的位置的二元值抽取出來, 依其相關位置組成一個位元平面, 然後是用人類視覺來判斷是否有機密訊息隱藏其中。

2007年3月14日 星期三

Week 3: S-Tools Steganalysis

今天的主題延續上週關於 S-Tools 隱藏軟體的討論, 探討如何從修改過後的調色盤破解這個隱藏軟體(steganographic tool)。我們提供一個可以讀取 GIF 影像調色盤的工具給同學, 讓同學可以自行去分析S-Tools 所產生的 GIF 偽裝影像(stego-images), 希望同學可以找出一個演算法, 破解 S-Tools。
A Steganalytic Tool for S-Tools

在課程中, 我們曾經聊到一位攝影大師的故事, 這是我從下列文章看來的: 為何你的相機不重要 - 給想要拍出好作品的攝影同好。這篇文章雖然和課程不太相關, 不過文章主題倒是值得一讀, 同學可以作為延伸閱讀的題材。

2007年3月7日 星期三

Week 2: S-Tools

S-Tools
今天的課程主題是 S-Tools Exploring, 請同學自行探索 S-Tools 這個軟體, 然後將探索結果寫到部落格中, 第三節課則是分享大家的探索結果。

S-Tools 可以將訊息嵌入到儲存為 GIF 格式的影像之中。GIF 格式屬於調色盤類型(palette-based format)影像資料。一張高品質的全彩影像其顏色總數與像素總數的比例, 通常至少為1:2。這麼多的顏色要轉換成 GIF 調色盤影像模式, 必須從中選出 256 個代表顏色出來, 採用分群法(clustering) 的技術, 將這些顏色分成不同的 256 群, 然後在每一群估算一個顏色為代表。將這 256 個代表色放到調色盤中, 每個像素的顏色被轉換成調色盤的索引值 (index)。最後, 再針對這些索引值, 使用 LZW 壓縮演算法進行壓縮, 達到影像壓縮的目的。

調色盤類型的影像, 機密訊息最早是藏在調色盤本身的色彩值或其次序上, 但受限於所能隱藏的資訊量有限, 因此許多研究者便陸續發展出容量更高, 偽裝影像品質更好的隱藏技術。

S-Tools 是最早被開發出來, 針對調色盤類型影像所開發出來的軟體, 最新版本為V4.00。早期的版本採用的嵌入技術非常簡單。首先, 將影像從 256 色降到 32 色, 然後將二元機密訊息嵌入影像中每個像素 R, G, B 三個顏色的最低位元, 所以一個像素可嵌入 3 個位元。由於調色盤中每個色彩的 R, G, B 最低位元可能因為嵌入機密訊息而改變, 因此每個色彩最多會衍生出 8 個相近的色彩, 原本為 32 色的調色盤, 最多將衍生出 256 個色彩總數, 滿足了調色盤類型影像色彩總數不可超過 256的限制。

這個方法的缺點就是影像的調色盤被修改的非常不自然, N. Johnson 與 S. Jajodia 發表在 1998 年IHW 的論文中指出, 透過對每張影像的調色盤色彩亮度(luminance) 做簡單的排序分析, 被嵌入機密訊息的影像, 調色盤的色彩會形成 32 個群集, 這是一般自然影像所沒有的特徵。

S-Tools 降低影像的顏色總數, 也同時降低了影像品質。為了改善這項缺失, S-Tools 的作者根據 P. Heckbert 的論文, 在S-Tools V4.0 提供了進階選項, 讓使用者設定降低顏色的參數設定, 可以多少彌補一些這方面的缺憾。由於因嵌入產生的顏色是和所嵌入機密訊息為何息息相關的, 8 種色彩並不一定會完全出現在偽裝影像中。換句話說, 偽裝影像的顏色總數(以 Cs 表示), 會少於 256。這種情況在嵌入少量的機密訊息時, 尤其明顯 (Cs << 256)。因此, S-Tools V4.00 版本並不會直接將顏色降到 32 色, 而是會隨著機密訊息量而調整出一個最理想的顏色數, 整個調整過程會顯示在 S-Tools 的 Actions 視窗中。當然, 這樣做會增加嵌入程序的執行時間, 不過卻可以改善為偽裝影像的品質。值得一提的是執行時間並不是使用者所最關切的, 一般使用者所關心的是所產生出來的偽裝影像品質是否可以接受。

2007年3月1日 星期四

Week 1: What's Information Hiding?

第一週的課程主題我設定的是讓同學對 Information Hiding 領域有初步的概念。因此, 第一節課說明完課程進行方式後, 我請同學自己上網查看看這們課有沒有合適的教科書可以用, 然後在第二節課進行討論。

第二堂課, 我們用 information hiding 當關鍵字, 從 Google 搜尋Fabien A. P. Petitcolas 的網頁中提到 The first book on information hiding techniques..., 因此, 我們就從這個網頁為起點, 開始探討什麼是 Information Hiding ?

在查詢的過程中, 我發現 Google 也提供了網頁翻譯的服務, 因此我們也嘗試讓 Google 直接翻譯網頁, 然後再對照下列原文, 並解釋真正的意涵給同學聽。
Until recently, information hiding techniques received very much less attention from the research community and from industry than cryptography. This situation is, however, changing rapidly and the first academic conference on this topic was organized in 1996. The main driving force is concern over protecting copyright; as audio, video and other works become available in digital form, the ease with which perfect copies can be made may lead to large-scale unauthorized copying, and this is of great concern to the music, film, book and software publishing industries. At the same time, moves by various governments to restrict the availability of encryption services have motivated people to study methods by which private messages can be embedded in seemingly innocuous cover messages.
同學必須體認要學習新科技、新技術, 就一定要讓自己習慣閱讀原文, 剛開始起頭一定很痛苦, 但只要堅持下去, 痛苦就會慢慢舒緩, 甚至消失!

從上述的文章中, 我們延伸討論到的專有名詞如下:
1. cryptography & encryption
2. copyright protection
3. digital form
4. perfect copy
5. embedding
6. innocuous cover message
7. steganography

除此, 我們還聊到預計 3 月 9 日在台灣上映的 "300壯士: 斯巴達的逆襲" 電影, 就是歷史上記載最早使用隱藏技術來傳遞訊息的史實


 

2007年2月28日 星期三

INFORMATION HIDING techniques for steganography and digital watermarking



Editors: Stefan Katzenbeisser & Fabien A. P. Petitcolas
ARTECH HOUSE, Computer Security Series
ISBN 1-58053-035-4
(Available on Amazon.com)

This book surveys recent research results in the fields of watermarking and steganography, two disciplines generally referred to as information hiding. Included are chapters about the following topics:

* Chapter 1: Introduction to information hiding
(Fabien A. P. Petitcolas) gives an introduction to the field of information hiding, thereby discussing the history of steganography and watermarking and possible applications to modern communication systems.
* Chapter 2: Principles of steganography
(Stefan Katzenbeisser) introduces a model for steganographic communication (the ‘prisoners problem") and discusses various steganographic protocols (such as pure steganography, secret key steganography, public key steganography and supraliminal channels).
* Chapter 3: A survey of steganographic techniques
(Neil F. Johnson and Stefan Katzenbeisser) discusses several information hiding methods useable for steganographic communication, among them substitution systems, hiding methods in two-colour images, transform domain techniques, statistical steganography, distortion and cover generation techniques.
* Chapter 4: Steganalysis
(Neil F. Johnson) introduces the concepts of steganalysis – the task of detecting and possibly removing steganographic information. Included is also an analysis of common steganographic tools.
* Chapter 5: Introduction to watermarking techniques
(Martin Kutter and Frank Hartung) introduces the requirements and design issues for watermarking software. The authors also present possible applications for watermarks and discuss methods for evaluating watermarking systems.
* Chapter 6: A survey of current watermarking techniques
(Jean-Luc Dugelay and Stéphane Roche) presents several design principles for watermarking systems, among them the choice of host locations, psychovisual aspects, the choice of a workspace (DFT, DCT, wavelet), the format of the watermark bits (spread spectrum, low-frequency watermark design), the watermark insertion operator and optimizations of the watermark receiver.
* Chapter 7: Robustness of copyright marking systems
(Scott Craver, Adrian Perrig and Fabien A. P. Petitcolas) discusses the crucial issue of watermark robustness to intentional attacks. The chapter includes a taxonomy of possible attacks against watermarking systems, among them protocol attacks like inversion, oracle attacks, limitations of WWW spiders and system architecture issues.
* Chapter 8: Fingerprinting
(Jong-Hyeon Lee) discusses principles and applications of fingerprinting to the traitor tracing problem, among them statistical fingerprinting, asymmetric fingerprinting and anonymous fingerprinting.
* Chapter 9: Copyright on the Internet and watermarking
(Stanley Lai and Fabrizio Marongiu Buonaiuti) finally discusses watermarking systems from a legal point of view and addresses various other aspects of copyright law on the Internet.
  

修課同學名單

91360276 吳政瑋
91360675 苗本泰
92160105 廖翊婷
92160380 吳巧韻
92160494 蔡明格
92360186 蕭兆廷
92360195 魏玉雯
92360364 楊順安
92360736 鄭可欣
92361075 粘嘉菖
92361103 林明慧
92361164 王士華
93360256 洪子軒
93360265 黃培瀅
93360363 彭書涵
93360400 林俊淵
93360550 蔣昌叡
93360612 李宗翰
93360621 蔡峻宇
93360655 陳誌翔
93360780 羅隆晉
93361031 陳映如
93363641 甘懷誠
93364060 王雲青
94360184 邱怡瑄
94360725 陳佳玉
94361180 蕭卉妤