Chair Professor Chin-Chen Chang Feng Chia University Aug. 2008 A High Payload Steganographic Scheme Based on (7, 4) Hamming Code for Digital Images Chair Professor Chin-Chen Chang Feng Chia University Aug. 2008
Data Hiding Hiding system Stego image Cover image 1 0 1 0 1 0 0 1 0 1 1 1 1 0 0 Secret message
Cover Carriers Image Video Sound Text
VQ Encoding Index table Original Image Codebook … (120,155,…,80) 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 (90,135,…,120) (100,125,…,150) … Index table Original Image (49,117,…,25) (50,42,…,98) (20,65,…,110) Codebook
Previous Work of Steganography on VQ To find the closest pairs
d(CW0, CW8) > TH d(CW13, CW14) > TH Unused CW0, CW8, CW13, CW14
Encode Index Table CW0, CW8, CW13, CW14 Unused Index Table Original Image Index Table Unused CW0, CW8, CW13, CW14
A secret message: 1 0 1 0 1 0 0 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 Index Table Secret bits CW1, CW2, CW4, CW5 CW6, CW7 CW11, CW3 CW15, CW10 CW12, CW9 1
A secret message: 1 0 1 0 1 0 0 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 Index Table Secret bits CW1, CW2, CW4, CW5 CW6, CW7 CW11, CW3 CW15, CW10 CW12, CW9 1
A secret message: 1 0 1 0 1 0 0 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 Index Table Secret bits
Zhang and Wang’s Method (Embedding) 8 7 9 4 79 54 55 11 20 21 12 24 10 Secret data: 1000 1011… p2 255 1 2 3 4 1 2 3 4 1 : : : : : : : : : : : : : 10002 1 35 … 11 2 3 4 1 2 3 4 1 2 3 2 … 10 1 2 3 4 1 2 3 4 1 Cover image … 9 3 4 1 2 3 4 1 2 3 4 3 … 8 1 2 3 4 1 2 3 4 1 2 1 … 7 4 1 2 3 4 1 2 3 4 4 … 6 2 3 4 1 2 3 4 1 2 3 2 … 5 1 2 3 4 1 2 3 4 1 7 10 4 … 4 3 4 1 2 3 4 1 2 3 4 3 … 3 1 2 3 4 1 2 3 4 1 2 1 … 2 4 1 2 3 4 1 2 3 4 4 … 1 2 3 4 1 2 3 4 1 2 3 2 … 1 2 3 4 1 2 3 4 1 Stego image 1 2 3 4 5 6 7 8 9 10 11 … 255 p1 Magic Matrix
Zhang and Wang’s Method (Extracting) p2 7 10 4 255 1 2 3 4 1 2 3 4 1 : : : : : : : : : : : : : … 11 2 3 4 1 2 3 4 1 2 3 2 … 10 1 2 3 4 1 2 3 4 1 … 9 3 4 1 2 3 4 1 2 3 4 3 … 8 1 2 3 4 1 2 3 4 1 2 1 Stego image … 7 4 1 2 3 4 1 2 3 4 4 … 6 2 3 4 1 2 3 4 1 2 3 2 … 5 1 2 3 4 1 2 3 4 1 … 4 3 4 1 2 3 4 1 2 3 4 3 … 3 1 2 3 4 1 2 3 4 1 2 1 … 2 4 1 2 3 4 1 2 3 4 4 1 35 … 1 2 3 4 1 2 3 4 1 2 3 2 … 1 2 3 4 1 2 3 4 1 p1 1 2 3 4 5 6 7 8 9 10 11 … 255 Extracted secret data: 10002 Magic Matrix
Sudoku A logic-based number placement puzzle
Sudoku (Cont.) Property A Sudoku grid contains nine 3 × 3 matrices, each contains different digits from 1 to 9. Each row and each column of a Sudoku grid also contain different digits from 1 to 9. Possible solutions: 6,670,903,752,021,072,936,960 (i.e. ≈ 6.671×1021)
Data Hiding Using Sudoku - 1 Reference Matrix M
Data Hiding Using Sudoku (Embedding) (Cont.) 8 7 11 12 79 54 55 20 21 24 10 9 Secret data: 011 001 10… 279 Cover Image min. d( , ) = ((8-8)2+(4-7)2)1/2=3 d( , ) = ((9-8)2+(7-7)2)1/2=1 d( , ) = ((6-8)2+(8-7)2)1/2=2.24 9 7 Stego Image
Data Hiding Using Sudoku (Embedding) (Cont.) 8 7 11 12 79 54 55 20 21 24 10 9 Secret data: 011 001 10… 279 Cover Image d( , ) = ((11-11)2+(15-12)2)1/2=3 d( , ) = ((15-11)2+(12-12)2)1/2=4 d( , ) = ((9-11)2+(14-12)2)1/2=2.83 min. 9 7 14 Stego Image
Data Hiding Using Sudoku (Extracting) (Cont.) 9 7 14 Stego Image Extracted data: 279 = 011 0012
Experimental Results
Experimental Results (Cont.) The results of visual quality and Embedding capacity comparisons
(7, 4) Hamming Coding Encoding p1 p2 d1 p3 d2 d3 d4 Encoding d1 d2 d3 d4 Encoding Data: 1 1 0 12 d2 d3 d4 = p3 1 0 1 = 0 d1 d2 d4 = p1 1 1 1 = 1 d1 d3 d4 = p2 1 0 1 = 0 1 0 1 0 1 0 1 p1 p2 d1 p3 d2 d3 d4 Encoded data
(7, 4) Hamming Coding (Cont.) Error Detection Error bit Received data: 1 0 1 0 1 1 1 Correcting Corrected data: 1 0 1 0 1 0 1 Error Position Parity check matrix H
Matrix Coding Method Embedding Secret data: 1 1 0 0… 11 10 9 6 3 4 12 00001011 00001010 00001001 00000110 00000011 00000100 00001100 00001010 00001001 00000110 00000011 00000100 00001100 00001011 Cover Image 10 9 6 3 4 12 11 (1010100)T = (1 1 1)T Stego Image 0 0 1 Secret data: 1 1 0 0… Parity check matrix H
Matrix Coding Method (Cont.) Extracting 10 9 6 3 4 12 11 00001010 00001001 00000110 00000011 00000100 00001100 00001011 Stego Image (0010100)T = (1 1 0)T Extracted secret data: 1 1 0 0… ■ 7 pixels embed 3 bits
“Hamming+1” Method Embedding Secret data: 1 1 0 0… 11 10 9 6 3 4 12 00001011 00001010 00001001 00000110 00000011 00000100 00001100 00001100 00001010 00001001 00000110 00000011 00000100 00001011 Cover Image 00001010 (1+1+0+1+1+0+0+ 1) mod 2= 1 or 00001100 (0+1+0+1+1+0+0+ 1) mod 2= 0 12 10 9 6 3 4 8 11 (1010100)T = (1 1 1)T ? = Stego Image 0 0 1 Secret data: 1 1 0 0… Parity check matrix H
“Hamming+1” Method (Cont.) Extracting 12 10 9 6 3 4 11 00001100 00001010 00001001 00000110 00000011 00000100 00001011 Stego Image (0+1+0+1+1+0+0+ 1) mod 2= 0 (0010100)T = (1 1 0)T = Extracted secret data: 1 1 0 0… ■ 8 pixels embed 4 bits
The Proposed Method G0000 (0000000) (0000001) (0000010) : (0001000) (0001001) (0001010) (0010111) (0011111) (0100000) (1010111) (1111111) (0000000), (0001000), (0100000), (0101000), (1000000), (1001000), (1100000), (1101000) G0001 (0000001), (0001001), (0100001), (0101001), (1000001), (1001001), (1100001), (1101001) G0010 (0000010), (0001010), (0100010), (0101010), (1000010), (1001010), (1100010), (1101010) G1111 (0010111), (0011111), (0110111), (0111111), (1010111), (1011111), (1110111), (1111111)
The Proposed Method (Cont.) (0000001)T = (1 1 1)T = 710 (0001001)T = (0 1 1)T = 310 (0100001)T = (1 0 1)T = 510 (0101001)T = (0 0 1)T = 110 (1000001)T = (1 1 0)T = 610 (1001001)T = (0 1 0)T = 210 (1100001)T = (1 0 0)T = 410 (1101001)T = (0 0 0)T = 010 H
The Proposed Method (Cont.) Embedding Secret data: 0001 101… 7 10 9 6 3 4 12 8 11 G0001 (0000001)T = (1 1 1)T = 710 (0001001)T = (0 1 1)T = 310 (0100001)T = (1 0 1)T = 510 (0101001)T = (0 0 1)T = 110 (1000001)T = (1 1 0)T = 610 (1001001)T = (0 1 0)T = 210 (1100001)T = (1 0 0)T = 410 (1101001)T = (0 0 0)T = 010 Cover Image 00000111 00001010 00001001 00000110 00000011 00000100 00001100 00001000 00001011 00000110 00001011 00001000 00000010 00000100 00001101 H 6 11 8 2 4 13 Stego Image
The Proposed Method (Cont.) Extracting 6 11 8 2 4 13 00000110 00001011 00001000 00000010 00000100 00001101 Stego Image (0100001)T = (1 0 1)T H Extracted secret: 0 001 101…
Experimental Results Each stego image (512512) carried 262,143 secret bits (i.e. 0.99 bpp)
Experimental Results (Cont.)
Conclusions The proposed steganographic scheme achieves almost double payload (i.e. embedding payload P = 0.99 bpp) with a slightly lower visual quality of stego images (i.e. average PSNR value = 50dB) compared with the related works. The proposed scheme is suitable for steganographic applications such as online content distribution systems.