Information Hiding and Its Applications Chin-Chen Chang (張 真 誠) 逢甲大學 講座教授 中正大學 榮譽教授、合聘教授 清華大學 合聘教授
Information 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 Compression Code
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
Shortcoming Irreversible Original index values can not be recovered after extraction
Find the dissimilar pairs (De-clustering) … CW1 CW8 CW2 CW9 CW3 CW10 CW4 CW11 CW5 CW12 CW6 CW13 CW7 CW14 1 Dissimilar
Encode Index Table Original Image
Embedding Using Side-Match CW1 CW8 :Dissimilar Pair Assume X = CW1 V0 = ((U13+L4)/2, U14, U15, U16, L8, L12, L16) V1 = (X1, X2, X3, X4, X5, X9, X13)CW1 V8 = (X1, X2, X3, X4, X5, X9, X13)CW8 d1=Euclidean_Distance(V0, V1) d8=Euclidean_Distance(V0, V8) If (d1<d8), then Block X is replaceable Otherwise, Block X is non-replaceable
CW1 CW8 :Dissimilar Pair V0 = ((129+131)/2, 137, 132, 131, 131, 134, 140) = (130, 137, 132, 131, 131, 134, 140)
V0 = (130, 137, 132, 131, 131, 134, 140) (128,136,130,130,129,?,?,?,125,?,?,?,142,?,?,?) V1 = (128, 136, 130, 130, 129, 125, 142) d1=Euclidean_Distance(V0, V1) =((130-128)2+(137-136)2+(132-130)2+(131-130)2+ (131-129)2+(134-125)2+(140-142)2)1/2 =4.36 Codebook
Here, d1 < d8 => So block X is replaceable V0 = (130, 137, 132, 131, 131, 134, 140) d1=4.36 (2, 19, 43, 56, 9, ?, ?, ?, 30, ?, ?, ?, 12, ?, ?, ?) V8 = (2, 19, 43, 56, 9, 30, 12) d8=Euclidean_Distance(V0, V8) =((130-2)2+(137-19)2+(132-43)2+(131-56)2+ (131-9)2+(134-30)2+(140-12)2)1/2 =293.15 Here, d1 < d8 => So block X is replaceable Codebook
A secret message: 1 0 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 Secret bits Index Table If (d6<d13) CW1, CW2, CW3, CW4 CW5, CW6 CW7 , CW15 CW8, CW9 CW10, CW11 CW12, CW13 CW14 , CW0 6 Embedding Result 1
A secret message: 1 0 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 Secret bits Index Table If (d2<d9) CW1, CW2, CW3, CW4 CW5, CW6 CW7, CW15 CW8, CW9 CW10, CW11 CW12, CW13 CW14 , CW0 6 9 Embedding Result 1
A secret message: 1 0 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 Secret bits Index Table If (d12>=d5) CW1, CW2, CW3, CW4 CW5, CW6 CW7 , CW15 CW8, CW9 CW10, CW11 CW12, CW13 CW14 , CW0 6 9 15||12 Embedding Result 1 CW15: embed 1
A secret message: 1 0 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 Secret bits Index Table If (d9>=d2) CW1, CW2, CW3, CW4 CW5, CW6 CW7 , CW15 CW8, CW9 CW10, CW11 CW12, CW13 CW14 , CW0 6 9 15||12 0||9 Embedding Result 1 CW0: embed 0
Steganographic Index Table Extraction and Recovery 6 9 15||12 0||9 1 Extract Secret bits Steganographic Index Table If (d6<d13) CW1, CW2, CW3, CW4 CW5, CW6 CW7 , CW15 CW8, CW9 CW10, CW11 CW12, CW13 CW14 , CW0 6 Recovery 1
Steganographic Index Table Extraction and Recovery 6 9 15||12 0||9 1 Extract Secret bits Steganographic Index Table If (d9>=d2) CW1, CW2, CW3, CW4 CW5, CW6 CW7 , CW15 CW8, CW9 CW10, CW11 CW12, CW13 CW14 , CW0 6 2 Recovery 1
Steganographic Index Table Extraction and Recovery 6 9 15||12 0||9 1 1 Extract Secret bits Steganographic Index Table CW1, CW2, CW3, CW4 CW5, CW6 CW7 , CW15 CW8, CW9 CW10, CW11 CW12, CW13 CW14 , CW0 6 2 12 Recovery 1
Steganographic Index Table Extraction and Recovery 6 9 15||12 0||9 1 1 Extract Secret bits Steganographic Index Table CW1, CW2, CW3, CW4 CW5, CW6 CW7 , CW15 CW8, CW9 CW10, CW11 CW12, CW13 CW14 , CW0 6 2 12 9 Recovery 1
Experiments Codebook size: 512 Codeword size: 16 The number of original image blocks:128*128=16384 The number of non-replaceable blocks: 139
Experiments Codebook size: 512 Codeword size: 16 The number of original image blocks:128*128=16384 The number of non-replaceable blocks: 458
Side Match Vector Quantization (SMVQ): Encoding and Decoding
Side Match Vector Quantization (SMVQ) Image compression technique w h 131 137 129 134 140 132 130 137 132 131 134 140 Image Seed Blocks (VQ) Residual Blocks (SMVQ) Side Match Vector Quantization Encoder
Side Match Vector Quantization Encoder (130,137,132,131,131,?, ?, ?, 134, ?, ?, ?,140, ?, ?, ?) from Codebook Residual Block (forecasted pixels) Index value 12 to encode block X
Side Match Vector Quantization Decoder Using VQ Decoder Using SMVQ Decoder Decoded Block Residual Block (forecasted pixels) Index Table
Hiding Secret Data Using SMVQ
Original image (512*512 pixels) Hiding Secret data Seed Blocks (VQ) Residual Blocks (SMVQ) Original image (512*512 pixels)
Residual Block (forecasted pixels) SMVQ Residual Block (forecasted pixels) d(CW12,X)<THSMVQ code: ‘1 1100’ d(CW12,X)>THSMVQ VQ encoder code: ‘0 10110010’
Residual Block (forecasted pixels) Hiding Secret in Residual Blocks (SMVQ) Secret message 1 0 1 1… d(CW12,X)<THSMVQ code: ‘1 1100’ d(CW12,X)>THSMVQ VQ encoder code: ‘0 10110010’ Residual Block (forecasted pixels)
Residual Block (forecasted pixels) Hiding Secret in Residual Blocks (SMVQ) Secret message 1 0 1 1… d(CW1,X)<THSMVQ code: ‘1 0001’ d(CW1,X)>THSMVQ VQ encoder code: ‘0 10110010’ Residual Block (forecasted pixels)
Residual Block (original pixels) Hiding Secret in Residual Blocks (VQ) Secret message 1 0 1 1… d(CW253,X)<THVQ code: ‘0 11111101’ d(CW253,X)>THVQ Hide no secret code: ‘1 0000 11111101’ Residual Block (original pixels)
Image Seed Blocks Using VQ: hide no secret (“0” + 8-bits) 重點: 全部沒有藏 Residual Blocks Using SMVQ: hide secret (“1” + 4-bits) Using VQ 1.hide secret (“0” + 8-bits) 2.hide no secret (“1” + “0000” + 8-bits) 重點: 1. 使用SMVQ的Block一定有藏 2. 使用VQ的Block有的有藏, 有的沒藏 Image
Extracting Secret in Residual Blocks Code 111001000000101100000011101… Hide using SMVQ Hide Secret: ‘1’ Hide no secret Hide Secret: ‘0’ Hide using VQ
Experiments Image size: 512х512
Experiments State codebook size = 16 Codebook size= 256
Pixel Domain and Index Domain Information Hiding Schemes Tzu-Chuen Lu (呂慈純博士) Department of Information Management Chaoyang University of Technology (朝陽科技大學 資訊管理系)
Information Hiding illegal Information Internet Sender Receiver
Information Hiding Information illegal Internet Sender Information Receiver
Information Hiding - LSB 5 11 10 13 20 31 41 51 27 17 44 37 85 14 35 34 15 85 37 45 17 10 27 51 40 31 20 12 11 5 Image Information Stego Image Least Significant Bit (LSB) 00000101 00001010 00001011 00001100 00010100 00011111 00101000 00110011 00011011 00010001 00101101 00100101 01010101 00001111 00100010 1
Information Hiding - LSB 34 15 85 37 45 17 10 27 51 40 31 20 12 11 5 5 11 10 13 20 31 41 51 27 10 17 44 37 85 14 35 Image Stego-Image MSE = =0.4375 PSNR (Peak Signal to Noise Ratio) = =51.72 Payload = 1 (bit per pixel, bpp)
Information Hiding - LSB 00000101 00001011 00001000 00001111 00010110 00011101 00101001 00110001 00011001 00001010 00010011 00101110 00100101 01010111 00001100 00100001 PSNR = 43.27 Payload = 2 bpp Trade-off: Image quality and Payload Robustness
Pixel Domain Quantization-based Information Hiding Scheme
Quantization-based Information Hiding Scheme 34 15 85 37 45 17 10 27 51 40 31 20 12 11 5 Image 6 12 Information 35 15 85 38 45 17 10 27 51 40 32 20 12 6 Modified Image
255 8 16 24 32 248 240 1 2 3 31 4 1 6 11 10 12 12 8 16 24 1 20 32 40 51 6 27 10 17 45 38 85 15 35 Modified Image
255 8 16 24 32 248 240 1 2 3 31 4 11 10 13 12 12 8 16 24 1 20 32 40 51 10 27 10 17 45 38 85 15 35 Modified Image
Quantization-based Information Hiding Scheme - Extraction Process 255 8 16 24 32 248 240 1 2 3 31 4 37 19 86 43 50 20 13 33 53 44 40 26 14 11 Stego Image 00000110110111 PSNR = 34.91 Payload = 1 bpp
255 1 2 3 4 7 31 32 1 1 8 16 24 48 56 248 37 19 86 43 50 20 13 33 53 44 40 26 14 11 Stego Image 6 10 51
Quantization-based Information Hiding Scheme -Repairing Process 37 19 86 43 50 20 13 33 53 44 40 26 14 11 Stego Image 35 15 85 38 45 17 10 27 51 40 32 20 12 6 Repaired Image PSNR = 53.18 Payload = 1 bpp PSNR = 34.91 Payload = 1 bpp
Quantization-based Information Hiding Scheme -Robustness 255 8 16 24 32 248 240 1 2 3 31 4 37 22 86 43 50 18 13 33 53 44 40 29 10 14 9 Stego Image 37 19 86 43 50 20 13 33 53 44 40 26 14 11 Stego Image
Experimental Results Modified Images Stego Images
Experimental Results Payload: 1 bpp PSNR Lena Peppers Airplane Baboon 8 Modified Image 51.14 51.13 51.15 Stego Image 34.79 34.80 34.86 34.81 Repaired Image 4 51.12 40.71 40.72 40.74 40.73 Payload: 1 bpp
Information Compressed codes: 1011101111….. Internet Sender ? Receiver
Compressed codes: 1011101111….. Information Information Internet Sender Receiver Information
Index Domain Reversible Hiding Scheme Based on Switching Tree Coding
Vector Quantization (VQ) 7 7 9 10 Index table Original Image VQ Encoder
Vector Quantization (VQ) Index table Reconstructed Image VQ Decoder
Switching-Tree Coding (STC) Sheu proposed the STC algorithm in 1999 Re-encode the index table Index Table U the current index L
Switching-Tree Coding (STC) If A = 7, then A = U A’= 11 If A = 10, then A = L A’= 10
Switching-Tree Coding (STC) If A = 14 A’=01 +‘00011’ If A = 17 A’=00 +‘00010001’
Information Hiding on STC Codes (IHSTC) Index table A’ = 00+(10) 00+(25) 00+(21) … 00+(17)
Information Hiding on STC Codes (IHSTC) ‘10’ A’ = 00+(10) 00+(25) 00+(21) … 00+(17)
Information Hiding on STC Codes (IHSTC) 1 ‘10’ A’ = 00+(10) 00+(25) 00+(21) … 00+(17) 10+00+(128) …
Extraction and Reconstruction 00+(25) 00+(21) … 00+(17) 10 00+(128) … 10 10 25 21 100 10 17 17 Information:
Extraction and Reconstruction 00+(25) 00+(21) … 00+(17) 10+ 00+(128) … 10 10 25 21 100 17 128 66 237 100 Information: 0 1
Experimental Results Image PSNR NSTC Compression Ratio Payload (bpp) Lena 29.87 11,129 0.39 0.04 Pepper 29.49 10,568 0.40 Baboon 23.079 4,771 0.55 0.02 Airplane 28.58 11,470 0.35
Conclusions Information Hiding Pixel-domain Quantization-based Hiding Scheme Index-domain Reversible Hiding Scheme Based on STC
Future Works Information Hiding Applications Watermarking, copyright protection, … Reversible Information Hiding Audio, Video, HTML, Text, DNA Sequence Other Compression Methods JPEG, Wavelet, MPEG
Thanks for your attention!!