A steganography system

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

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

  • Least significant bit insertion
  • Masking and filtering
  • Redundant Pattern Encoding
  • Encrypt and Scatter
  • Algorithms and transformations

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].


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:-

  1. Embedding secret text in the still image by using one (LSB Technique)from many proposed techniques of steganography hiding.
  2. Extracting the stego text from many stego-object (image) when image received to other side.The figure (4.1) represents general block diagram of the proposed system.

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:-

  1. Input the secret text (message )that to be hide in the cover image .
  2. Select the cover image (BMPfile) from list of image with size 256*256.
  3. Open the cover image and read the data in matrix
  4. Select the value of variable hope power of 2 from available choices list [2,4,8,12,16,24,32] for not sequentially embed the secret message
  5. Calculate the size of the secret text
  6. Apply RC4 stream cipher on secret text
  7. Substitute the encrypt secret characters of the text in the specified location (hope value) of the cover image.

        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:

  1. The results of proposed system stego-object is an image ,this image is transmitted alone without the original image ,this point enhance the security of system because there is little ability of matching between the original cover image and the stego-object.
  2. The proposed system is build of muti-layer security ,consequently even if the original copy of the stego-object is available ,the intruder attacked by the second layer of security which is the encryption of the text embedded then he should analyze the cipher text using cipher text only attack . Which difficult to be analyzed.
  3. The password level of security is also added to our system ,this layer of security should not be mixed with the two above layers ,because it package oriented security layer , not security gained by algorithm presented ,but it still effective and add more rigidity to the proposed system.

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:-

  1. Steganography is not intended to replace cryptography but rather to supplement it. If a message is encrypted and hidden with a steganographic method it provides an additional layer of protection and reduces the chance of the hidden message being detected.
  2. The proposed system can be defined as a secret key steganography since it shares a secret key between sender and receiver, in this system there is no need for the knowledge of original cover in the extraction process.
  3. The amount of the information embedded in the other media depends on the statistical properties of the cover media, where this amount is small the noise in the media is not perceptible.
  4. From the implementation we conclude that the proposed system is very rapid in performing extraction process and the size of the embedded text does not affected the speed of the system very much.

Many suggestions can be given to enhance the work of the proposed system they are:-

  1. The method of embedding is trivial which is LSB insertion, in the future another embedding method should be employed like wavelet or DCT transform based methods.
  2. Improved system to deals with video image and audio.
  3. Using another file format of the images that are not used in our system such as JPEG, TIFF and GIF.
  4. The Encryption method (RC4) could be replaced with RSA, or other public key ciphering algorithm to increase the security level.


  1. Katzenbisser, S, and Fabien A.P. Petitcolas," Information Hiding Techniques for Steganography and Digital Watermarking" Artech House, Bosten, London, 2000.
  2. Dorothy E. and R. Denning, "Cryptography and Data Security", Addison -Wesley publishing company, Inc., 1983.
  3. Lane, V.P, "Security of Computer Based Information System" Macmilln Education LTD, 1988.
  4. Johnson, Neil F., Duric, Zoron Jajodio, "Information Hiding Steganography and Watermarking -Attack and Countermesures", Kluwer Acdemic Publishers, 2001.
  5. Benjamin B., Santiago G., and victor B., "Steganographic Watermarking for Documents", proceeding on the 34th Hawaii International conference on system science, 2001.
  6. Gruhl , D., Bender W., "Information Hiding to Foil the Casual Counterfaiter ",information hiding :second international workshop, proceeding Vol 1525, springger 1998.
  7. Curran,K., Bailly,K., "An Evaluation of Image Based Steganography Methods", Internet Technology Research Group, Universtiy of Ulster,2001.
  8. Umbaugh, S.E., "computer Vision and Image Processing: A practical Approach Using CVIP Tools", Prentic-Hall PTR, 1998.
  9. Bourke, P." BMP Image Format", Englewood Cliffs: Prentice-Hall, July1998.
  10. Fridrich ,J.,Goljan,M.,and Du,R.,"Detecting LSB Steganography in Color and Gray-Scale Image" magazine of IEEE multimedia special Issue on Security October-November issue, 2001 PP22-28.
  11. Fridrich, J., Goljan, M., and Du, R., "Reliable Detection of LSB Steganography in Grayscale and Color Images", Proc.ACM, special Session on multimedia Security and Watermarking, Ottawa, Canada 2001, PP27-30.
  12. Uruba, I. "Hiding Text in Image" .M.Sc. Thesis, University of technology, Computer Science Department,2001
  13. Mohammed S.,"Text file hiding Techniques with Implemntation",M.Sc. thesis , National Computer Center,2001
  14. Al-hamami, M., "Information Hiding attack in Image", M.Sc.thesis, Iraqi commission for computer &Informatics, Informatics Institute for Postgraduate Studies 2002.
  15. Zollenr J., Fderrath H., Klimant H., Pfitzman A., Piotraschke R., "Modelling the Security of Steganography System", Information Hiding :Second International Workshop Proceeding VOL1525, PP244-354. 1998
  16. Craver S.,"On Public-Key Steganography in the Presence of an Active Warden" Information Hiding: Second International Workshop Proceeding VOL1525, PP355-368. 1998
  17. Bender, W., and Gruhl, D., Morimoto, N., "Techniques for Data Hiding ", IBM System Journal Vol 135, No.3-4 PP313-336.1996.
  18. Sellars, D. "An Introduction to Steganography", Internet Survery, http://www.Steganography.edu, 2000
  19. Ettinger, J., "Steganalysis and Game Equibbria" Information Hiding: Second International Workshop Proceeding VOL 1525, PP319-328,1998
  20. Bruce S., "Applied Cryptography",Second Edition:protocols alogorithm and source code in C, John-Wiley & Sons. Inc., 1996.
  21. Petitcolas, Fabien A., Ross,J."Attack on copyright Marking Systems" Information Hiding: Second International Workshop Proceeding VOL 1525, PP218-238,1998
  22. Gary C.,K, "An Overview of Cryptography 2007", http://www.garykessler.net /library/crypto.html
  23. Ruppel R.A.,"Security Models and Notions for stream Cipher",Cryptography and coding II,Mitchell press 1992
  24. Ruppel R.A.,"Stream Ciphers",contemporary Cryptology: the science of Information Itegrity, Simmons,j., IEEE press,1992.
  25. Jan C.A., and Lubbe V.D, "Basic Methods of Cryptography", Faculty of Information Technology and systems, 1998.
  26. Goolamn D.G., and Chambers W.G.,"Clock Controlled Shift Registers:AReview" ,IEEE Journal on Elected Areas of communication Vol 7,No5,1989.
  27. Bruer, J.O., "On Pesudo Random Sequences as Crypto Generators", Preceedings of the International Zurich Seminar On digital communication , Switzerland,1984
  28. Dawson, E., Gustafson,H. Evaluation of RC4 Stream Cipher", Information Security Research Center ,2002 http://www.ipa.go.jp/security/enc/crytrec/ fy15/doc/report-final.pdf.
  29. Fluhrer,S.,Mantin ,I.,Shamir,A: Weaknesses in the Key scheduling algorithm of RC4.Spring Verlag 2001)http://www.wisdom.Weizmann.ac.il/nitsik/RC4/papers/RC4-ksa.ps.