A Secret Information Hiding Scheme Based on Switching Tree Coding Speaker: Chin-Chen Chang Department of Computer Science and Information Engineering National Chung Cheng University Chiayi, Taiwan 62107, R.O.C. E-mail:ccc@cs.ccu.edu.tw URL: http://msn.iecs.fcu.edu.tw/~ccc
Outline VQ image compression Watermarking Search order coding (SOC) Switching tree coding (STC)
VQ Image Compression
VQ Compression w h Image Index table Vector Quantization Encoder
VQ Compression w h Image Index table Vector Quantization Decoder
Finds the nearest pairs
Find d(CW0, CW8) > TH d(CW13, CW14) > TH hide 1 hide 0 CW1 CW11 Unused CW0, CW8, CW13, CW14
Encode Unused CW0, CW8, CW13, CW14 Index Table Index Table
Water mark: 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 1 1 1 1 1 1 1 Index Table Water mark CW1, CW2, CW4, CW5 CW6, CW7 CW11, CW3 CW15, CW10 CW12, CW9 hide 1 hide 0
Water mark: 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 1 1 1 1 1 1 1 Index Table Water mark CW1, CW2, CW4, CW5 CW6, CW7 CW11, CW3 CW15, CW10 CW12, CW9 hide 1 hide 0
Water mark: 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 1 1 1 1 1 1 1 Index Table Water mark
Search-Order Coding (SOC)
An example for indices of VQ
Search-Order Coding (SOC) Searched point Non-searched point
Search-Order Coding (SOC) Indicator The compressing steps 31 207 211 8 7 35 P1 = 1 00011111 P2 = 1 11001111 P3 = 0 00 … P6 = 0 10 Compression codes = 100011111 111001111 000 …
Information hiding on the SOC codes The proposed scheme: - Information hiding: to embed secret data into host image - Steganography : to embed secret data into host image and the interceptors will not notice the existence of secret data - Based on SOC
Information hiding on the SOC codes Main idea: Ex. receiver receives the compression codes : 010101101110110110011000011 SOC OIV (original index value) OIV SOC SOC It means that the embedded secret data is “01100” if SOC is represented to hide “0” and OIV is represented to hide “1”.
Information hiding on the SOC codes Method: ex. A 3*3 index table: 1 2 3 18 21 31 30 29 32 If the secret data is “111110100”, then the hiding position of each bit will be in the raster scan order.
Information hiding on the SOC codes Defined: “0” embedded into SOC and “1” embedded into OIV. Embedding phase: SOC ====> there is nothing that needs to change for its compression codes hide “0” SOC ====> translate SOC into OIV (give up SOC coding and keep the OIV) hide “1” OIV ====> there is nothing that needs to change hide “1” OIV ====> translate OIV into SOC ex. hide “0” 11 (SOC) + OIV
Information hiding on the SOC codes compression codes are still OIV: 100010010 Ex. translate SOC into OIV : 000 => 100011110 translate OIV into SOC : 100100000 => 01100100000
Information hiding on the SOC codes Cost table (bits):
Information hiding on the SOC codes Security: For enhancing the security of our method, the position in the index table for hiding each bit of secret data can be determined by using pseudo random number generator, and the secret data can be encrypted by using traditional cryptography system such as DES or RSA in advance.
Experimental results
Experimental results
Experimental results
Experimental results
Switching tree coding (STC)
Switching-tree coding (STC) Sheu proposed the STC algorithm in 1999 Re-encode the index table U L the current index
Switching-tree coding (STC) If P = 7, then P = U P’ = ‘11’ If P = 10, then P = L P’ = ‘10’
If P = 14, then P = A in index (3) P’ = ‘01’ || index (3) = ‘0100011’ If P = 17, then P’ = ‘00’ || (17) = ‘0000010001’ n=5
Information Hiding on the STC codes (IHSTC)
Information Hiding on the STC codes (IHSTC) Watermark: 0 1 0 0 1 1 0 0 0 1 1 0 1 0 … Index table
Information Hiding on the STC codes (IHSTC) Watermark: 0 1 0 0 1 1 0 0 0 1 1 0 1 0 … P’ = ‘00’||(10) ‘00’||(25) ‘00’||(21) … ‘00’||(17)
Information Hiding on the STC codes (IHSTC) Watermark: 0 1 0 0 1 1 0 0 0 1 1 0 1 0 … ‘10’ P’ = ‘00’||(10) ‘00’||(25) ‘00’||(21) … ‘00’||(17)
Information Hiding on the STC codes (IHSTC) Watermark: 0 1 0 0 1 1 0 0 0 1 1 0 1 0 … ‘10’ P’ = ‘00’||(10) ‘00’||(25) ‘00’||(21) … ‘00’||(17) ‘10’ ‘00’||(128) …
Information Hiding on the STC codes (IHSTC) Watermark: 0 1 0 0 1 1 0 0 0 1 1 0 1 0 … ‘11’ P’ = ‘00’||(10) ‘00’||(25) ‘00’||(21) … ‘00’||(17) ‘10’ ‘00’||(128) … ‘10’
Three binary connection tree
Three binary connection tree If U-length > L-length Tree B If U-length < L-length Tree C Otherwise Tree A Tree B Tree C
Experiment results Image size = 512*512, n = 3 and |H| = 1024 NSTC: 在 image 中,可藏入之點 |H|: Secret Information 之長度 Difference: 藏入前與藏入後image bit 數的差異
Experiment results Image size = 512*512, n = 3 and |H| = 2048 Image size = 512*512, n = 3 and |H| = NSTC
Image size = 512*512, n = 5 and |H| = 1024 Image size = 512*512, n = 5 and |H| = NSTC
Conclusions A novel information-hiding scheme based on a switching-tree coding The IHSTC system can hide a huge amount of information in the index table Only a few extra bits are needed to record the corresponding information The average time needed to hide an information character is 0.077 seconds IHSTC -- an efficient and effective scheme for hiding secret information