Detecting LSB Steganography in Color and Gray-Scale Images
Jessica Fridrich, Miroslav Goljan, Rui Du
Magazine of IEEE Multimedia, Special Issue on Security,
October-November 2001, pp. 22-28.
這篇論文將一張影像中的連續像素切割成一個一個的 pixel group G = (x1, x2, ... xn)。
假設每一個 pixel group 的大小為 2*2, 那麼一張 384*256 大小的影像, 就會有 (384/2)*(256/2) = 24576 個 pixel groups。
針對每個 group, 根據其特性將會被分成 Regular, Singular, Unusable 等三類。用來分類的特性由兩個因素決定:
1. discrimination function f
discrimination function 的目的是評量一個 pixel group 的平坦性(smoothness) 或規則性(regularity)。一般來說, 如果 group 所包含的 noise 愈多, f(G) 就會越大。論文中舉了一個例子, 用相鄰兩個像素值差的總和, 當作 discrimination function 所得到值。
2. flipping: invertible operation F。
flipping 基本上是針對灰階值的一種排列方式(permutation), 且連坐兩次就會回復成原來的灰階值(2-cycles), 即 F(F(x)) = x。論文中定義了三種 flipping operation, 分別為 F1, F-1 及 F0。
The permutation F1: 0←→1, 2←→3, 4←→5, ..., 254 ←→ 255。
The permutation F-1: -1←→0, 1←→2, 3←→4, ..., 255←→256。
F-1(x) = F1(x+1) -1 , for all x
The identity permutation F0:
F0(x) = x, for all x
針對每一個 pixel group G, 首先計算 discrimination function f(G) 的值, 然後對 G 做 flipping operation F, 得到 F(G), 然後計算 f(F(G)), 藉由比較 f(G) 與 f(F(G)) 的大小關係, 就可以對 G 進行分類。
Regular groups: G 屬於 R <=> f(F(G)) > f(G)
Singular groups: G 屬於 R <=> f(F(G)) < f(G)
Unusable groups: G 屬於 U <=> f(F(G)) = f(G)
F(G) 所代表的意思是針對 pixel group G = (x1, x2, ... xn) 中的每一個 xi, 都分別使用相同的 flipping operation F。要針對不同的 xi, 使用不同的 flipping operation F, 必須再提供一個 mask M 來指明。M 是一個 n-tuple 的向量, 每個值都由 -1, 0, 1 所組成。假設 n=4, M=( 0, 1, -1, 0),
FM(G) 所代表的意思就是:
對 x1 做 F0 的 flipping operation;
對 x2 做 F1 的 flipping operation;
對 x3 做 F-1 的 flipping operation;
對 x4 做 F0 的 flipping operation。
使用 FM 的用意是模擬不可逆雜訊干擾行為(invertible noise adding) 對 pixel values 的影響。
RM 表示在針對 FM , 影像中 regular group 數量所佔的百分比 (percent of all group);
SM 則是 singular group 數量所佔的百分比。因此,
RM + SM ≤ 1 and R-M + S-M ≤ 1 ( -M: negative mask )
針對作者所提出的方法, 有一個統計假設前提(statistical hypothesis)是:
RM ~= R-M and SM ~= S-M
(未完待續)
No comments:
Post a Comment