1 Introduction
Steganography is the art and science of writing hidden messages in such a way that no one except from the intended recipient knows of the existence of the message. Steganography literally means "covered message" and involves transmitting secret messages through seemingly innocuous files. In terms of "Digital steganography", a file can be hidden inside another file. Current digital techniques do not tend to take the cover (where the message is hidden) into account, and thus leaving marks on the stego-object (what the object becomes after hiding information).To hide information, straight message insertion may encode every bit of information in the image or selectively embed the message in "noisy" areas that draw less attention those areas where there is a great deal of natural color variation. The message may also be scattered randomly throughout the image. A number of ways exist to hide information in digital media. Common approaches include
Each of these techniques can be applied, with varying degrees of success but the one which is implemented in our proposed system is Least significant bit insertion.
1.1 Least significant bit insertion
Least significant bit (LSB) insertion is a common and simple approach to embed information in an image file. In this method the LSB of a byte is replaced with an M's bit. This technique works well for image, audio and video steganography. To the human eye, the resulting image will look identical to the cover object [1, 3].
1.2 RC4 (RANDOM BYTE GENERATION)
RC4 is the most widely used stream cipher in these days, especial for the software applications. This is because the structure of RC4 is very simple and can be implementing in software efficiently. Although RC4 has a huge internal state, it has the light-weight key scheduling and the output generation processes. It was seemed as a safe cryptography algorithm until 1994. In September, 1994, the algorithm was posted by someone on the Internet and is available for public analysis now [28].
RC4 Stream Cipher [28]:
There are so many stream ciphers in these days, and most of them are implemented by using linear feedback shift registers. These stream ciphers are easy to implement in hardware. However, maybe not in the software. In 1987, Ron Rivest developed the RC4 stream cipher. It is suitable for software applications, and is used widely nowadays. For example, RC4 is used in SSL (Secure Sockets Layer) protocol. It is also be used in WEP (Wired Equivalent Privacy) and many network applications.
The algorithm of RC4can be seen to have 4 stages. The essential parts of this cipher are:
A simple basic counter, modulo the table size.
Another pointer that is updated using a table value
Output a value that depends on table value of both pointers
Update the table
2. Design of Proposed system:
The proposed system takes as an input the embedded - object which in our case a file of text (ASCII characters) and the cover-object which is a gray-scale image of size (256*256) pixels and produces on output stego-object which is a resulting image.
The proposed system stands for two main stages these are:-
2.1 Embedding stage
Embedding is the process of hiding the embedded message generating the stego image. Hiding information may require a Stegokey which is additional secret information, such as password, required for embedding the information .For example, when a secret message is hidden within a cover image, the resulting product is stego image (stego object).
The main algorithm for the Embedded stage can be listed as follow:-
The Block diagram of the encoder is shown in the figure (4-2) ,the encoder consist of two stages ,the first stage is the RC4 stream cipher which encrypt each byte of the secret text prior to the embedding process ,the initial key of this operation is a random permutation of the numbers between 0 and 256.
The second stage of the encoder is the LSB insertion mechanism, randomization of insertion the secret message bits into the image is verified by the employing of the offset ,by this mechanism embed each bit from the ciphered secret text into 8-pixels from the cover image, the key of this operation is the number of offset or hopes employed to not sequentially embed each byte from ciphered secret text in the cover image the offset suggested by the package is the power of 2 (2,4,8,16...). For example suppose that the offset is "4",then the program will insert the first bit in byte 1 ,the second bit in byte 5 ,the third in byte 9 and so on .After reaching certain end ,loop back stating from byte 2 then 6,10,... and so on
2.2 Extracting stage
Extracting is the process of getting the embedded message out of the stego object again. New terminology with respect to attaches and breaking stegongraphy schemes is similar to cryptographic terminology; however there are some significant differences. Just as a cryptanalyst applies Cryptanalysis in an attempt to decoder or crock encrypted message, the stegonalyst is one who applies steganalysis in an attempt to detect the existence of hidden information.
After the stego object then is created and transmitted through a communication channel, if we assume ideal channel the stego object is received properly by the decoder circuit , again the decoder has two inputs (the extraction key and the stego object) and single output which is the secret text. The sequence of operation here is reversed, the LSB from stego object is first done then the ciphered secret text byte is gained, after that the final stage of RC4 decryption is done, the block diagram of this operation is illustrated in the figure (4.5).
3 Implementation of proposed system
The simulation package for our system starts asking the user to select one from two phases: the first phase is writing in which the secret image is fed to the hiding software and the hiding process is begin Transferred to the second stage. Figure (4-7) illustrate first stage of the proposed package:
The subjective quality between this image and the image presented in the figure (4.10)a, gives that the accordance between the two images is 100%.
4. Security of proposed system
The goal of Steganography is to avoid drawing suspicion to the transmission of hidden information, if suspicion is raised, then Steganography security is defected. On other hand the aim of cryptography is to convert intelligible information to unintelligible form, difficult for the third parties which not have a copy from the key. The proposed system achieves the union goal of security for the below reasons:
5. Conclusions and Suggestions for future work
The proposed system provides LSB method with RC4 stream cipher and hope for embedding text in image.
A number of conclusions were derived from this study:-
Many suggestions can be given to enhance the work of the proposed system they are:-
References: