Steganography Using LSB Substitution and Pixel Value Differencing

DOI: 10.4018/978-1-5225-7516-0.ch005
Available
\$37.50
No Current Special Offers

Abstract

This chapter describes four techniques that use both the principles of LSB substitution and pixel value differencing (PVD). These techniques use 1×3, 2×2, 2×3, and 3×3 size pixel blocks. In a block, LSB substitution is applied on one of the pixels, which is designated as the central pixel. Using the new value of this central pixel, pixel differences are computed with all its neighboring pixels. Based on these pixel value differences, embedding capacity is decided, and embedding is performed by addition and subtraction operations. The experimental results reveal that when the block size increases, the tolerance to RS analysis and pixel difference histogram (PDH) analysis also increases.
Chapter Preview
Top

Steganography Using Lsb Substitution And Pvd In A Block

Khodaei and Faez’s LSB+PVD Technique

This technique was proposed by Khodaei & Faez (2012). The embedding procedure is mentioned in the following steps.

• Step 1: The image is raster scanned and divided into 1×3 size non-overlapping blocks, Figure 1. The pixels are designated as , , and .

Figure 1.

A pixel block

• Step 2: In k-bit LSB substitution is applied, where k is chosen from the list {5, 6, 7, 8}. The new value of is . Let L be the decimal value of the k LSBs of and S be the decimal value of k-data bits hidden in . The value can be further optimized using Eq. (1), where d=L-S.

(1)

• Step 3: Using .the following two differences are calculated as in Eq. (2).

,
(2)

• Step 4: The Table 1 is range table for variant-1 and Table 2 is range table for variant 2.

Table 1.
Range table of variant 1
 Range =[0,7] =[8,15] =[16,31] =[32,63] =[64,255] Embedding length 3 3 3 4 4
Table 2.
Range table of variant 2
 Range =[0,7] =[8,15] =[16,31] =[32,63] =[64, 255] Embedding length 3 3 4 5 6
• Step 5: The value falls into a range whose embedding length is and lower bound is . Similarly, the value falls into a range whose embedding length is and lower bound is .

• Step 6: From the secret binary data stream bits of data is taken and converted to a decimal value . Similarly, from the secret binary data stream bits of data is taken and converted to a decimal value . Two new difference values and are computed as in Eq. (3). + , + (3)

• Step 7: Using and two new values for namely, and .are calculated. Similarly, using and two new values for namely, and are calculated using Eq. (4). = - , = + , = - , = + (4)

• Step 8: Now the stego value of , say is calculated using and . Similarly, the stego value of, say is calculated using and . This is done using Eq. (5) and Eq. (6).

(5)
(6)

Hence the stego block is represented in Figure 2.

Figure 2.

The stego-block

The extraction of secret embedded data can be done in the following manner. Suppose the stego-block is as shown in Figure 2 from which we have to extract the hidden data. The following steps are used.

• Step 1: From the center pixel , k-LSBs are extracted. The value k is one of the values in the list {5, 6, 7, 8} which was chosen during embedding.

• Step 2: Using and , the difference value is computed. Similarly, using and , the difference value is computed as in Eq. (7).

,
(7)

• Step 3: The difference belongs to a range whose lower bound is and embedding length is . Similarly, the difference belongs to a range whose lower bound is and embedding length is . Refer the range table.

• Step 4: As in Eq. (8), using and , calculate the decimal value and convert to binary bits. Similarly using and , calculate the decimal value and convert to binary bits. = , = (8)

Complete Chapter List

Search this Book:
Reset