LSB(Least Significant Bit),最低有效位元,是二進制的第 0 位,也就是最低位,在 Big Endian(大端序)中,LSB 就是最右邊的位元
LSB 隱寫可以用在影像和音訊等,以圖片來舉例,常見的圖檔如 JPG 和 PNG 都是由像素構成的,並且分成 RGB 三個元素
R:255
G:255
B:255
R:255
G:255
B:254
以上面兩張圖來舉例,只是改變其中一個通道,且只更動 1 用人眼是看不出來的。
如果用二進制來看的話,每個像素的 RGB 值最後一位都可以拿來隱藏訊息。
R:11111111
G:11111111
B:11111111
其中的最後一位可以根據我們要隱藏的訊息去做修改,例如可以在裡面隱藏圖片或是文字
由於 LSB 的改變只會造成像素顏色的微小變化,人眼通常難以分辨,因此我們可以把訊息藏在這些最低位元裡。例如:
假設要藏「A」(ASCII: 65 = 01000001
):
將圖片中 8 個像素的 LSB 改為這 8 個位元。
這樣就能把字母 A 藏在圖片中。
準備一張圖片。
將要隱藏的訊息轉換成二進位。
根據每個像素修改 LSB,把訊息的位元嵌入。
得到一張「外觀看起來幾乎一毛一樣」的圖片。
假設有三個像素(僅紅色通道示意):
原始像素:10010010, 01101101, 11001000
欲藏訊息:1, 0, 1
結果像素:10010011, 01101100, 11001001
可以看到,改變只發生在最後一個位元,人眼幾乎無法察覺差異。
LSB 隱寫可以將要藏起來的訊息放到載體如圖片或音訊裡,操作簡單且人眼不易辨識,但是如果圖片太小的話就沒辦法藏太多訊息,且利用 StegSolve 等可以看見隱藏的訊息。
今天是妮可老師!