This project falls under the scope of “Image Stegnography”. The objective of this project is to provide a secret and secured communication between people. This program simply encrypts the text file (that contains the secret message) using the AES (Advanced Encryption Standards) algorithm and hides the cipher in an image file. So people on seeing the encrypted image also cannot predict that there is something hidden inside it. Thus the project mainly has two phases. The first phase is the Encrypting Phase, which deals with the process of converting the actual secret message into cipher text using the AES algorithm. The second phase is the Embedding Phase, where the cipher text is embedded into the image. This project uses the LSB (Least Significant Bit) technique. Here bits of the cipher text are replaced by the LSBs of the pixel values of the image. As the LSBs are alone changed, normal human eyes cannot predict the difference between the original image and the resulting image. Also the algorithm used in the encryption process is the AES Algorithm. The AES algorithm uses keys of higher sizes than its predecessor, DES (Data Encryption Standards) algorithm. So this will ensure higher security. Thus this project will ensure a more secured communication in unsecured networks.
Though there exists several software that are used for information hiding, they face a lot of problems i.e., they either do not encrypt the message or use a very weak algorithm. In some other cases the technique used may not be very efficient that the original image and the resulting image will be easily distinguishable by human eyes. For example the previously used encryption algorithm, DES algorithm, used keys of smaller sizes (64 bit key). Algorithms using keys of these sizes are easily cracked nowadays. So it is better if one goes for algorithms using keys of larger size.
The proposed system uses the concept of Least Significant Bit (LSB) Algorithm which will overcome the above disadvantages. As the LSB technique changes only the LSB of the pixel values of the image, the embedded image will practically resemble the original image, so that the difference in the image cannot be seen with human eyes. Also to ensure further security, this project uses the AES Algorithm for encryption. The AES Algorithm uses a key of size 128 bits to 256 bits. With a key size of 128 bits there are 10 rounds. This ensures further security. This project uses a key of size 128 bits.
Cryptography vs Steganography:
Cryptography – Cryptography changes the contents of a file or message so that it is unreadable by everyone except the intended recipient. The intended recipient has a key that allows the encrypted file to be invoked and viewed as planned by the sender. Encrypted messages are not hidden, and their comings and goings can be detected and monitored. Once the means of encryption have been revealed, it is still up to the code breaker to uncover the key to decrypt the message.
Steganography – We could think of steganography as a form of robust encryption. It attempts to hide the message in such a way that the observer may not even realize that the message is being exchanged. Unlike encryption, steganography cannot be detected. Often, steganography is used to supplement encryption. Through its combination of encryption and invisibility of the encrypted data it keeps the message completely protected form data espionage.
The Advanced Encryption Standard (AES Algorithm) is a computer security standard that became effective on May 26, 2002 by NIST to replace DES. The cryptography scheme is a symmetric block cipher that encrypts and decrypts 128-bit blocks of data. Lengths of 128, 192, and 256 bits are standard key lengths used by AES Algorithm.
The algorithm consists of four stages that make up a round which is iterated 10 times for a 128-bit length key, 12 times for a 192-bit key, and 14 times for a 256-bit key. The first stage “SubBytes” transformation is a non-linear byte substitution for each byte of the block. The second stage “ShiftRows” transformation cyclically shifts (permutes) the bytes within the block. The third stage “MixColumns” transformation groups 4-bytes together forming 4-term polynomials and multiplies the polynomials with a fixed polynomial mod (x^4+1). The fourth stage “AddRoundKey” transformation adds the round key with the block of data. In most ciphers, the iterated transform (or round) usually has a Feistel Structure. Typically in this structure, some of the bits of the intermediate state are transposed unchanged to another position (permutation). AES Algorithm does not have a Feistel structure but is composed of three distinct invertible transforms based on the Wide Trial Strategy design method.
Several cryptographic algorithms have been clubbed with Steganography to make information hiding more efficient. But most of them failed because of the either the weakness of the encryption algorithm used or the steganographic technique used. For example the steganography technique can be used with algorithms such as the RSA (Rivest, Shamir, Adleman), DES (Data Encryption Standards), RC4 (Ron Rivest), etc. Several other user defined algorithms have also been tried. But they were not proved to be effective as desired. The RC4 has been overcome by its future version, the RC5 with some addition security features. The RSA and the DES have proved to be efficient in many instances. But it is not wise to stay back with the same algorithms. We must keep in mind that as the algorithms are made complex, the hackers will also become more efficient that they will crack these algorithms within a short period of time. So this project uses a more secured algorithm, AES (Advanced Encryption Standards) algorithm. When the image loaded then it will check for the text file content or text content. After the content it will check whether it is encrypted or not. If it is encrypted then password must be provided to decrypt the same. So it will save and It must be minimum six characters in length. Once all this mandatory inputs are given then password and the text given to AES algorithm to change into unreadable format and unreadable contents are embedded into the image by looping all pixels one by one with the unreadable content.
In the decryption phase encryption image has been loaded and if anyone trying to see without password then unreadable content will be displayed as well as if the user tries to see the content with incorrect security key then wrong password message box will be displayed. In this phase security key and image given to extract the text content first and the encrypted text content given to decrypt using AES algorithm. As we are not using the DES algorithm to provide the more security, since it is recommended for cryptography. But we are hiding the text content inside the image, there is no chance of viewing the content by unauthorized peoples.
Hide content into image:
Once the user given the text and the security key then these things are converted to unreadable formats using AES. Those unreadable contents are embedded into the given image. The image can be in png or bmp format. That image is converted to many pixels and in the each pixel unreadable contents are embedded dynamically using the loops. Since we are using sixty four bit AES algorithm, there is no chance of finding the difference between the original and embedded image. So unauthorized persons not even find the way to confirm the content inside the image.
In the decryption phase encrypted text embedded image is loaded and the text contents from the image is extracted iterating the loops and in the same way unreadable contents are changed to original encrypted contents using the same AES algorithm. Unauthorized persons cannot view the original content inside the text. Unauthorized persons can be person who know wrong password or no password. Because of AES algorithm we have provided the more security in the information exchange system.
- Intel Core 2 Duo / Core I3
- 2GB Memory
- 250 GB hard disk
- LCD monitor
- Mouse & keyboard
- Internet router
Operating system : Windows XP
Front end : Visual Basic
Back end : Microsoft Access / SQL