Research Article - Biomedical Research (2017) Volume 28, Issue 22
Kommi Sai Siva Satwik, Manikandan C*, Elamaran V, Narasimhan K and Raju N
School of EEE, SASTRA University, Thanjavur, India
Accepted date: October 05, 2017
In a life time, a person visits several hospitals to undergo medical examination for various health issues. When new health issues occur, a record of recent medical reports is necessary for diagnosis. Therefore it is crucial to exchange patient’s diagnostic information between the hospitals securely. To transmit such information securely in deceptive environment the effective way is encrypting and hiding it over patient digital photographic image and medical image. Among the various hiding techniques the most widely used technique for medical images is the Least Significant Bit (LSB) substitution technique. Many LSB substitution techniques were developed to enhance both security and image quality of stego-medical images. However, existing approaches were failed to maintain the quality of original images. To overcome this problem we proposed an Adaptive Row-Column (ARC) approach for LSB substitution technique that minimize mean square error (MSE) values and maximize the Peak Signal to Noise Ratio (PSNR) to get both enhanced security and image quality. To further enhance the security and image quality of stego-medical images ARC algorithm is extended to embed both original and inverted cipher text (ARC-OI).
Diagnostic information, Data encryption standard, photographic image, Medical image; ARC, ARC-OI
Steganography is the process of hiding data into images, audio files or video files. Embedding of data into various images like binary images, gray scale images, color images, medical images, texture images, aerial images and so on is called digital image Steganography [1-6]. The data to be hidden in the digital Steganography should be in digital format (0’s and 1’s). The data may be a text, an image, an audio or a video [1,6]. This data is mainly referred as secret data and the image used to hide this data is named as cover object. The result of embedding the data in the cover object is named as stego object [7-9]. Usually the medical images provide the details of both internal and external organs of the patient . But there is a significant need for transmitting the patient diagnostic information securely over medical images [11,12]. Various hiding techniques like reversible data hiding, multilayer data hiding and EPR hiding have been proposed for medical images [13-15]. These techniques provide security to an appreciable level but failed to improve quality of the stego-medical images. Carrying diagnostic information from one hospital to another hospital without compromising the quality of stego-medical images is a major concern . Two embedding techniques namely spatial domain and frequency domain were used for improving the image quality. Spatial domain directly deals with the pixel arrangement whereas frequency domain deals with the transformed coefficients of cover images [7,17-20]. Many methods have been implemented in the spatial domain technique among which LSB embedding approach is the most commonly used technique. The MSE and PSNR are calculated in order to determine the quality of the image . Security of steganography fails when detected or doubted by a third person .Therefore maintaining security and quality of stego images plays a vital role in steganography. Using adaptive random approach (AR) and inverted pattern (IP) approach, both security and quality of the image can be increased significantly . In order to avoid errors in identifying medical image of each patient, integration of photographic and medical image was done. These integrations act as identification tools [23,24]. Medical images obtained from CR, MR and CT scans are stored in digital format that contain details of the patient and information about the study . In this paper, an Adaptive Row-Column (ARC) embedding algorithm is implemented for carrying diagnostic information over medical and photographic images with high security and quality. Also ARC is extended to embed original and inverted information (ARC-OI) to further increase security and quality of stego images significantly.
At the sender side patient’s photographic image and medical image are captured using a single digital camera with mode select option as shown in Figure 1. The images getting from camera are considered as cover images. Simultaneously respective patient’s diagnostic information is encrypted using DES algorithm. The encrypted diagnostic information is fed as input for embedding process. The proposed ARC algorithm is applied resulting in stego image and a dynamically generated key. This stego image and secret key is communicated from one hospital to another or from one doctor to the other through secure means of communication.
On other side stego image and secret key are fed into ARC extraction algorithm to extract encrypted diagnostic information. This information is fed into DES algorithm to obtain decrypted diagnostic information.
In ARC algorithm, for embedding each cover image is divided into equal blocks of 8×8 pixels. Then each block is selected randomly only once for embedding the cipher text by following all the random paths namely Straight Up (SU), Straight Down (SD), Flipped Up (FU), Flipped Down (FD), Straight Forward (SF), Straight Backward (SB), Flipped Forward (FF) and Flipped Backward (FB).
In Figure 2 straight down approach embedding is done column wise from top to bottom throughout the selected block in the ascending order of numbers.
In Figure 3 straight up embedding is done column wise from bottom to top throughout the selected block in the ascending order of numbers.
In Figure 4 straight forward approach embedding is done row wise from left to right throughout the selected block in the ascending order of numbers.
In Figure 5 straight backward embedding is done row wise from right to left throughout the selected block in the ascending order of numbers.
In Figure 6 flipped up approach embedding is done column wise in the ascending order of numbers. First half of the selected blocks are embedded from bottom to top and remaining blocks are embedded from top to bottom.
In Figure 7 flipped down approach embedding is done column wise in the ascending order of numbers. First half of the selected blocks are embedded from top to bottom and remaining blocks are embedded from bottom to top.
In Figure 8 flipped forward approach embedding is done row wise in the ascending order of numbers. First half of the selected blocks are embedded from left to right and remaining blocks are embedded from right to left.
In Figure 9 flipped backward approach embedding is done row wise in the ascending order of numbers. First half of the selected blocks are embedded from right to left and remaining blocks are embedded from left to right.
Inputs: Cover image C, cipher text T
Outputs: Stego image S, key K
1. Generate cipher text bit stream ‘B’ from the plain text ‘P’ by applying DES algorithm.
2. Divide the cover image C into 8×8 pixels of blocks or 4×4 pixels of blocks.
3. Consider a random function that generates random numbers without repetition. This random number is implicated to each block. Therefore, the range of random function is 0 to total number of blocks.
4. Select a random block by using random function and embed original cipher text bit stream B using all random paths mentioned above for that block.
5. Invert the cipher text bit stream B to obtain inverted cipher text bit stream I.
6. Apply all random paths for inverted cipher text bit stream I.
7. Calculate MSE for all the patterns with original and inverted cipher text bit stream and fix the pattern with least MSE for that block.
8. If the pattern with least MSE is for inverted cipher text I, then, set the least significant bit of the key K as ‘1’. Otherwise, set it as ‘0’.
9. Shift the secret key K to the left by 3 bits. Modify the 3 least significant bits of the key based on the pattern selected referring to Table 1. Shift the secret key K to the left by 1 bit.
|Pattern||K [3i+2]||K [3i+1]||K [3i]|
|Straight Up (SU)||0||0||0|
|Straight Down (SD)||0||0||1|
|Straight Forward (SF)||0||1||0|
|Straight Backward (SB)||0||1||1|
|Flipped Up (FU)||1||0||0|
|Flipped Down (FD)||1||0||1|
|Flipped Forward (FF)||1||1||0|
|Flipped Backward (FB)||1||1||1|
Table 1. Key bits based on the pattern selected for embedding.
10. Repeat from step 4 until every block is filled with encrypted data.
11. Generate stego image and secret key
12. Transmit stego image and the secret key.
Generating key: Key is dynamically generated based on Table 1. Let K be the key and three bits at a time are modified based on the selection of the pattern for that block. This selection is repeated for all the blocks.
Therefore, the length of the key generated by using this random path approach is calculated as follows;
For block of 8×8 pixels, key length = 1024 × 4=4096 bits.
For block of 4×4 pixels, key length = 4096 × 4=16384 bits.
Inputs: Stego object S, Key K
Outputs: Cipher Text C
1. Read the Stego object S
2. Read the Key K
3. Use the same random function that is used while embedding to select the respective block.
4. Extract only 4 least significant bits from total length of the key size K. let the extracted bit stream be E.
5. Based on 3 least significant bits of E, retrace the determined random path in that block by referring to Table 1 to retrieve the encrypted data bits from that block.
6. If the most significant bit of E is ‘1’ then, invert the obtained encrypted data bits to get original encrypted data bits. Otherwise, continue to step 7
7. Repeat from step 4 until all the encrypted data bits are extracted.
8. Obtain the bit stream B of the encrypted data from the extracted bits.
9. Decrypt the data using DES algorithm with the help of the key that was used while generating cipher text T.
10. Write the data obtained into an output file.
Error calculation places a crucial role in embedding the secret data in an image. The lower value of MSE provides the higher values of PSNR which means higher the image quality.
Mean Square Error (MSE) of each block is calculated by the formula:
Where, M and N are width and length of the block respectively. Cij is the value of cover image pixel and Sij is the value of stego image pixel.
Similarly, Peak Signal to Noise Ratio can be measured using the formula:
Where, Imax is the maximum intensity of a pixel. For a grayscale image Imax=255.
The proposed ARC algorithm is adopted for 4 different grayscale photographic and medical images as shown in Figure 10 and Figure 11. Then, MSE values and PSNR values for ARC algorithm is compared with the existing methods Z scan SFC (Space Filling Curve), Hilbert scan SFC, ZigZag scan SFC, Moore scan SFC  and Adaptive Random technique (AR) and the results are provided in Table 2. It is observed from the results that MSE value is minimized and PSNR value is maximized for ARC algorithm.
|MSE 4X4||PSNR 4X4||MSE 8X8||PSNR 8X8||MSE 4X4||PSNR 4X4||MSE 8X8||PSNR 8X8|
Table 2. Comparison of ARC with Z scan SFC, Hilbert scan SFC, ZigZag scan SFC ,Moore scan SFC and AR algorithm.
This provides evidence to conclude that quality of the stego image is increased using ARC algorithm. Further the proposed ARC algorithm is extended to embed both original and inverted cipher text (ARC-OI) and its results are compared with ARC algorithm for the same cover image. The results provided in Table 3 shows that the quality of stego image is further increased.
|MSE 4X4||PSNR 4X4||MSE 8X8||PSNR 8X8||MSE 4X4||PSNR 4X4||MSE 8X8||PSNR 8X8|
Table 3. Comparison of ARC approach and ARC-OI.
To estimate complexity level of the proposed algorithm the entire 256×256 cover image divide into 8×8 blocks which yields 1024 blocks. Total number of ways in which 1024 blocks can be selected is (1024)! The filling of data in each block is done in 8 ways based on each pattern mentioned above. According to DES data in each block can be deciphered through brute force attack by 264 ways. Therefore, Total complexity expected is 264 × 8 × (1024)! This complexity level is further increased by changing the starting position of data in each block which can be done in 64 ways. Therefore, total complexity expected is 264 × 8 × (1024)! × 64. Even more complexity can be achieved by embedding both original and inverted cipher text into each block and selecting the pattern with least MSE. This can be done in 2 ways. Hence, for a 256×256 image divided into 8×8 blocks and with inverted pattern of data total complexity level estimation is 264 ×8 × (1024)! × 64 × 2.
Similarly by dividing 256×256 cover image into 4×4 blocks the estimated complexity level is 264 ×8 × (4096)! × 64 × 2.
In this paper an ARC and ARC-OI embedding algorithms were implemented to embedded patient’s diagnostic information over their photographic and medical images. The proposed approach provided an improved image quality and security compared to existing approach. In addition, it is also observed that the generated key for each cover image is unique. This shows the robustness of this approach and increased security against brute force attacks hence, using this proposed technique, medical reports of the patients at different hospitals can be transmitted securely with enhanced medical image quality.