Image Steganography, which is then the art and science of sending a hidden message under a cover image, thereby it not been aware by another other person aside the people involved. Hiding secret messages in digital images has been said to be the most widely used Steganography format in today's digital world (Bret, 2002). Kurak and McHugh are credited with earliest methods of digital Steganography, the method the proposed resembles embedding into the four (4) least significant bits (LSBs). They examined image downgrading and contamination which is known now as image-based Steganography.
Hiding of information can be done in many ways in an image. Razis and Taujuddin (2010) backs this by saying that for information to be hidden, straight message insertion may encode every bit of information in the image or instead it embeds the message in a "noisy" area that draws less attention, those areas where there is a great deal of natural colour variation.
Get your grade
or your money back
using our Essay Writing Service!
In this document I created different stego-image formats, hiding text under an image and hiding image under an image (using different format like hiding GIF image under JPEG etc.). I used different algorithms to hide these different images, thereby suggesting which of this algorithm is the best one to be used and which image format is best to use in Steganography. Lastly I did a Steganalysis of each of this stego-image, using RS analysis and sample pair analysis.
1.1.2 Project Aim
To evaluate and investigate the existing algorithms of image steganography.
Implementing different image steganography methods on images to show the one that is the best.
Comparing selected tools used in image steganography.
2.0 Literature Review
To have a better and bigger picture of image Steganography I chose to firstly talk about steganography itself in general; from its history and origin down to its definition, types and application as stated by various authors.
Furthermore, for anyone (even a layman) to have a clear picture of the project I wrote on images so that when discussing how the algorithms and tools work it won't be confusing. The reverse of Steganography which is Steganalysis was not left out too.
2.1 Brief History of Steganography
According to Bret (2002) "The earliest recordings of Steganography were by the Greek historian Herodotus in his chronicles known as "Histories" and date back to around 440 BC. Similarly Erin (2003) stated in his report that steganography is by no means a modern day practice.
Herodotus recorded two stories of Steganographic techniques during this time in Greece (Bret 2002). The first stated that King Darius of Susa shaved the head of one of his prisoners and wrote a secret message on his scalp. When the prisoner's hair grew back, he was sent to the Kings son in law Aristogoras in Miletus undetected". He further gave another story that "from Herodotus, which claims that a soldier named Demeratus needed to send a message to Sparta that Xerxes intended to invade Greece. Back then, the writing medium was text written on wax-covered tablets. Demeratus removed the wax from the tablet, wrote the secret message on the underlying wood, recovered the tablet with wax to make it appear as a blank tablet and finally sent the document without being detected. Romans used invisible inks, which were based on natural substances such as fruit juices and milk. This was accomplished by heating the hidden text, thus revealing its contents. Invisible inks have become much more advanced and are still in limited use today. During the 15th and 16th centuries, many writers including Johannes Trithemius (author of Steganographia) and Gaspari Schotti (author or Steganographica) wrote on Steganagraphic techniques such as coding techniques for text, invisible inks, and incorporating hidden messages in music".
2.2 Introduction to Steganography
Steganography is about hiding the existence of messages (Ross n.d). While Morkel, Eloff and Olivier (2005) said Steganography "is the art and science of invisible communication". They went further to say that this is achieved through hiding information in information leading to the existence of communication. They added that Steganography is derived from greek words "stegos" meaning "cover" and "grafia" meaning "writing". Also Das et al (n.d) in their article said Steganography is hiding information that is classified in any media.
Always on Time
Marked to Standard
Agreeing with the above definitions I came up with my own definition: Steganography is the art and science of communicating where by message (secret) is been sent between two parties using any medium (such as image, audio or video) without a third party been aware of existence of any communication (secret). This communication can be done through the following appropriate media carriers video, image or audio files (Abbas et al 2009).
Abbas Cheddad et al (2009) in there paper spoke about the digital transformation of steganography which was brought about by computer power, information and coding theory, the internet and with the development of digital signal processing (DSP). This has led to an atmosphere of corporate awareness in the digital world and has generated different interesting applications, thereby guaranteeing its continuous evolution. For all this to be achieved and its continuous evolution Niels and Peter (2003) said the process of hiding information begins by identifying the redundant bits of a steganographic system, these identified bits should not affect the cover mediums integrity after modification. The redundant bits are being replaced with data from the hidden message, steganographic systems always leave traces that are detectable on the cover mediums but the goal of modern Steganography is to avoid it. The trace brings about distortion, the process of finding this distortion is known as statistical Steganalysis.
Jonathan et al (2004) said that Steganography techniques must satisfy the following:
The embedded hidden information must be correct it should never be altered. The information should never be added, loss or changed after it has been hidden, if any of these occurs the aim of the process would be defeated.
The human eye should not notice any change to the stego object that will be suspicious. If the change is obvious, an attacker (third party) may suspect that there is hidden information which will lead to an attempt to extract or destroy it.
And lastly, our assumption should always be that the attacker is aware of the hidden information in the stego object.
2.2.1 Types of Steganography
Jonathan et al (2004) in their paper said steganography can be divided into two types, Robust and Fragile. Umamaheswari, Sivasubramanian and Pandiarajan (2010) also agreed in their paper that Steganography can be split into two types (Fragile and Robust).
ROBUST: The aim of robust marking is that after embedding information in a file it should be hard for it to be destroyed (Jonathan et al 2004). In the true sense no mark cannot be destroyed, if the amount of changes in a system to remove a mark makes a file useless that system is said to be robust (Jonathan et al 2004). It is wise to hide the mark in the part of the file where it should not be hard to know when it is removed. Robust marking is of two main types: fingerprinting and watermarking
Fingerprinting: This is when a specific (unique) identifier is hidden for the who is the original owner of the file, he is then free to use it. The owner of the copyright will be able to use the fingerprint to identify any customer that violates any license agreement by distributing a copy of the file.
Watermarks: This does not identify the customer but the person that owns the file. While fingerprints is basically use in identifying anybody that violates license agreement, watermarks in the other hand helps in prosecuting people with illegal copy. Fingerprinting is the perfect thing to use but because CDs, DVDs are produced in mass it is not viable to have different fingerprint on each disk (Jonathan et al 2004).
For watermarks to be secured, they have to be hidden this stops it from being detected and removed they are to be subtle watermarks. Though not always should watermarks be hidden because visible watermarks are also used and the normally take the form of a visual pattern overlaid on an image. Also, there is similarities between the use of watermarks that are visible to the use of watermarks in non-digital formats (such as the watermark on British money).
Fragile: Unlike robust steganography, the information embedded in a file is destroyed when the file is modified (Jonathan et al 2004). Fragile Steganography entails embedding information into a file, it is destroyed when there is any modification (Umamaheswari, Sivasubramanian and Pandiarajan (2010). Files embed using this method can be easily removed, so therefore this method is not appropriate when used for recording the copyright holder of the file. Notwithstanding this is important in situations where prove is needed that a file has not been tampered with, such as using a file as evidence in a court of law, since any tampering would have removed the watermark (Jonathan et al 2004). This technique can easily be implemented compared to the robust technique.
2.2.2 Applications of Steganography
This Essay is
a Student's Work
This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.Examples of our work
Steganography has been employed in numerous applications that are useful e.g. control of copyright, enhancing robustness of image search engines and smart Ids (identity card) where your details are embedded in your photograph, video-audio synchronization, checksum embedding, TCP/IP packets (embedding a unique ID in an image to analyse particular users network traffic) and circulation of secret data by a company.
A computer sees an image as a collection of numbers that constitute different light intensities in different areas of the image (Morkel et al 2005). The numbers represented forms a grid and each individual point is referred to as pixels. In support of this definition Zoran, Michael and Sushil (2004) in their paper defined an image as a two-dimensional array of image points or pixels.
Most of the images available on the Internet comprise of map rectangular pixels of the image which are represented as bits, each colour and pixel (displayed horizontally row by row) are located (Morkel et al 2005). Each of this pixel has a number of bits which is known as bit depth, this is the bits number in a colour scheme. In a colour scheme the smallest bit depth is eight (8), this implies that the colour of every pixel has 8 bits to describe it. Morkel et al (2005) went further to say that every monochrome and greyscale image are able to display 256 various colours or shades of grey because for each pixel the use eight (8) bits. Also, for digital images that are coloured they are stored typically in twenty-four (24) bits they use the RGB colour model which is also known as true colour. With the aid of the primary colours: red, green and blue all the variations in colour of the pixels for a twenty-four (24) bit image are derived. So therefore, a given pixel can have 256 different quantities of red, green and blue which will sum up to over sixteen million combinations this then leads to have over sixteen million colours. The size of an image always depends on the amount of colours it has, this implies that the more colour an image has the larger the size of the file.
2.3.1 Image Compression
Wei W. (n.d) says that the compression of image is an application of data compression that encodes an original image with few bits. Furthermore, the objective of this is to reduce image redundancy and to save or transmit data in a way that is efficient. Fig 1.0 shows a block diagram of the general image storage system. The aim of this system is to make sure that the storage quantity is been reduced as much as possible and also the image that is decoded and displayed on the monitor should be very much similar to the original image.
Fig 2.0 General Image Storage System (Wei n.d )
The compression of image can be divided into two types lossy (irreversible) and lossless (reversible). Lossy image implies that the new image formed is not guaranteed to exactly as the original image due to the fact that certain elements of the image have been reduced when the image is been reduced, while for lossless image the new imagine is no different from the original image (The Royal College of Radiologist 2008). JPEG (Joint Photographic Experts Group) format files are example of lossy compression, its compression is very high but the original image integrity is not been maintained. This has a negative impact on any hidden data in the image, this is basically due to lossy compression algorithm, this may "lose" image data unnecessarily providing approximation which is close to digital image of high quality but the duplicate is not exact. This concept led to the name "lossy" compression. Lossy compression offers high rates in compression, this makes it to be frequently used on true colour images.
But for lossless compression the image's original data is maintained exactly, therefore this is preferred when original image must remain intact. This makes it to me favoured more by Steganographic techniques. The disadvantage of lossless compression is that it does not offer high rate of compression as lossy compression. Examples of lossless compression formats include: Compuserve's GIF (Graphiccs Interchange Format) and Microsoft's BMP (Bitmap format).
2.4 Methods in Image Steganography
There are numerous methods used in image steganography each of this method can be applied and they have different degree of success, discussed below are they methods:
2.4.1 Least Significant Bit Hiding (LSB) Method:
Jonathan et al (2004) said that this method is an effective way of hiding information in an image even for the fact that it is easy to implement. This method works by using the bits that are least significant of in each pixel in one image to hide the most significant of another. The following steps need to be taken for a JPEG image:-
1. First load up both the host image and the image you need to hide.
2. Next chose the number of bits you wish to hide the secret image in. The more bits used in the host image, the more it deteriorates. Increasing the number of bits used though obviously has a beneficial reaction on the secret image increasing its clarity.
3. Now you have to create a new image by combining the pixels from both images. If you decide for example, to use 4 bits to hide the secret image, there will be four bits left for the host image. (PGM - one byte per pixel, JPEG - one byte each for red, green, blue and one byte for alpha channel in some image types)
Host Pixel: 10110001
Secret Pixel: 00111111
New Image Pixel: 10110011
4. To get the original image back you just need to know how many bits were used to store the secret image. You then scan through the host image, pick out the least significant bits according the number used and then use them to create a new image with one change - the bits extracted now become the most significant bits.
Host Pixel: 10110011
Bits used: 4
New Image: 00110000
2.4.2 Direct Cosine Transformation (DCT) Method
Direct Cosine Transformation can also be used to hide data. Jonathan et al (2010) mentioned in their paper that this is one of the main components in JPEG compression technique. They also gave the steps in which it works as follows:
1. First the image is split up into 8 x 8 squares.
2. Next each of these squares is transformed via a DCT, which outputs a multi-dimensional array of 63 coefficients.
3. A quantizer rounds each of these coefficients, which essentially is the compression stage as this is where data is lost.
4. Small unimportant coefficients are rounded to 0 while larger ones lose some of their precision.
5. At this stage you should have an array of streamlined coefficients, which are further compressed via a Huffman encoding scheme or similar.
6. Decompression is done via an inverse DCT.
By mere looking at the value of the image pixel one can't be aware that something is missing, this makes hiding by DCT useful. You can distribute the data you hide evenly over the whole image in a way that it makes it hard to destroy. One technique hides data in the quantizer stage (Jonathan et al 2004). If there is any need to encode the bit value 0 inside any specific 8x8 square of pixels, this can be achieved by making sure that all coefficients are even, example by tweaking them. When the coefficients are been tweaked the bit value one (1) can be stored so that they are odd. This then makes it capable to be difficult in detecting when data is stored in a large image compared to Least Significant Bit (LSB) method. This method is very simple it is capable of keeping distortions down, but its disadvantage is its vulnerability to noise.
2.4.3 Discrete Wavelet Transformation
According to Reddy and Raja (n.d) "wavelet transform is used to convert a spatial domain into frequency domain". It separates clearly The use of wavelet in image stenographic model lies in the fact that the wavelet transform clearly separates the high frequency and low frequency information on a pixel by pixel basis. Discrete Wavelet Transform (DWT) is preferred over Discrete Cosine Transforms (DCT) because image in low frequency at various levels can offer corresponding resolution needed. A one dimensional DWT is a repeated filter bank algorithm, and the input is convolved with high pass filter and a low pass filter. The result of latter convolution is smoothed version of the input, while the high frequency part is captured by the first convolution. The reconstruction involves a convolution with the synthesis filter and the results of this convolution are added. In two dimensional transform, first apply one step of the one dimensional transform to all rows and then repeat to all columns. This decomposition results into four classes or band coefficients. The Haar Wavelet Transform is the simplest of all wavelet transform. In this the low frequency wavelet coefficient are generated by averaging the two pixel values and high frequency coefficients are generated by taking half of the difference of the same two pixels. The four bands obtained are approximate band (LL), Vertical Band (LH), Horizontal band (HL), and diagonal detail band (HH). The approximation band consists of low frequency wavelet coefficients, which contain significant part of the spatial domain image. The other bands also called as detail bands consists of high frequency coefficients, which contain the edge details of the spatial domain image.
Research into human perception indicates that the retina of the eye splits an image into several frequency channels, each spanning a bandwidth of approximately one octave. The single in these channels is processed independently. Similarly in a multilevel decomposition, the image is separated into bands of approximately equal bandwidth on a logarithmic scale. It is therefore expected that use of the DWT will allow independent processing of the resulting components without significant perceptible interaction between them, and hence makes the process imperceptibility marking more effective. For this reason the wavelet decompositions is commonly used for the fusion of images. Fusion technique include the simple method of pixel averaging to more complicated methods such as principal component analysis and wavelet transform fusion. Several approaches to image fusion can be distinguished; depending on whether the image is fused in the spatial domain or any other domains, and their transform fused. Image fusion is a process that produces a single image from a set of input images. The fused image contains more complete information, than any individual input. Since this is a sensor-compresses information problem, it follows that wavelets, classically useful for human visual processing, data compression and reconstruction are useful for such merging. Other important applications of the fusion of images include medical imaging, microscopic imaging, remote sensing, computer vision and robotics.
2.4.4 Masking and Filtering
The technique of masking and filtering are mostly used on 24 bit and grey scale images (Samir et al 2008). They are sometimes used as watermarks because the embed information in the same way as watermarks do on actual paper. Masking an image requires changing the luminance of the masked area. The chance of detection can be reduced if the luminance change is small. Compared to LSB (Least Significant Bit) insertion masking is more robust in respect to cropping, some image processing and compression. This technique embeds information in areas that are significant so that the hidden message is more essential to the cover image than just embedding it in the noise level. With lossy JPEG (Joint Photographic Expert Graphics) image it is more suitable than LSB (Least Bit Significant)
2.5 Algorithms use in Steganography
Umamaheswari, Sivasubramanian and Pandiarajan (2010), identified five algorithms that are currently implemented by Steganography each of them use Least Significant Bit (LSB) while some of them filter the image first. These are blind hide, hide seek, filter first, battle steg and dynamic battle steg and filter first. Furthermore, Juan J.R, Jesús M.M (n.d) in their paper identified another Steganography algorithm known as Selected Least Significant Bits (SLSB) algorithm.
This algorithm is the way to embed information in an image, it said to blindly hide due to the fact that it starts at the images top left corner then working its way right across the image (down in scan lines) for each pixel (Umamaheswari, Sivasubramanian and Pandiarajan 2010). This then leads it to changing the Least Significant Bits (LSB) of the pixel to match the message. To extract the hidden message the Least Significant Bits (LSB) starting from the top left are read off, this method is not very secure. It is also very smart, because it's easy know what has been changed due to the fact that the space the message is supposed to fill is not filled up, it's only the upper part that is degraded leaving the bottom of the image untouched. This makes it easy to know that what has been changed.
In this algorithm the message is distributed across the message (Umamaheswari, Sivasubramanian and Pandiarajan 2010). The name was gotten from a Steganography tool used in Windows 95 that uses the same technique. It generates a random seed using a password, this seed is then used to select the first position it's going to hide in. The random generating of position is continued until the entire message has been embedded. This algorithm is slightly smarter than BlindHide because in order to break the algorithm you need to try combining all the pixels, you can only avoid doing that if you know the password. This still doesn't make it the best method because it doesn't look at the pixels it is hiding in. It doesn't leave the image in a good condition. Noise is introduced and this is randomly placed which often causes the stego image to look speckled (Kathryn 2006).
Umamaheswari, Sivasubramanian and Pandiarajan (2010) stated using one of the filters that are inbuilt, it filters the image then embeds first the highest filter values. It is basically an intricate version of BlindHide as it does not need a password to extract the message. Adding to this Kathryn (2006) said this algorithm uses a technique known as an edge detecting filter, just like the Laplace formula, this finds the places on the image where there are some pixels which are least like their neighbours. The filter first's paramount values is where it hides. The Least Significant Bits (LSB) is left unchanged, while the most significant bits are filter.
The fact that the pixels are been changed, care has to be taken when filtering the picture so that information that might change doesn't need to be used (Umamaheswari, Sivasubramanian and Pandiarajan 2010). If we do the contrary then it will be difficult or impossible for the message to be extracted. Hiding in those places that are least makes it less detectable on an image.
2.5.5 Dynamic BattleSteg and FilterFirst
The two algorithms work in a similar pattern as BattleSteg and FilterFirst, though hiding the process is faster and less memory intensive because they use dynamic programming (Umamaheswari, Sivasubramanian and Pandiarajan 2010). The order in which the pixel is been kept in the dynamic array is not the same, this makes it incompatible with the original algorithms.
Soumyendu et al (n.d) defined Steganalysis as the process of identifying Steganography by inspecting various parameter of a stego media, the main thing for this process is identifying the suspected stego media. Anu, Rekha and Praveen (2011) gave their own definition of Steganalysis as the science of attacking Steganography in a war that never ends. To test the strength of his/her own algorithm a Steganographer can create Steganalysis. Also Steganalysis is said to be the identification and destruction of embedded message (Swagota and Monisha, 2010).
According to Zoran, Michael and Sushil (2004) the aim of digital Steganalysis is to detect image files with information hidden in them and with the possibility of the information been extracted. When the stego media is identified Steganalysis process decides if it contains hidden message(s) or not, if it does it then tries to retrieve the message from it (Soumyendu et al n.d). Furthermore, the aim of Steganalysis is to recognise any streams of information that seems to be suspicious and determine if they have hidden message or not embedded in them and if there is means retrieve the information that is hidden (Vijay and Vishal 2012).
Vijay and Vishal (2012) in their paper also outline the following challenges faced by Steganalysis:
1. The suspect information stream, such as a signal or a file, may or may not have any data embedded into them.
2. The embedded data, if any, may have been encrypted before being inserted into the signal or file.
3. Some of the suspect signal or file may have noise or irrelevant data encoded into them (which can make analysis very time consuming).
4. Unless it is possible to fully recover, decrypt and inspect the hidden data, often one has only a suspect information stream and cannot be sure that it is being used for transporting secret information
In addition they went further to discuss the types of attacks that stego-images can suffer. Attacks and analysis on embedded information may take different forms, this include: extracting (retrieving), detecting, disabling, modifying or destroying of embedded information. An approach in attack depends on what information is the Steganalyst (the person who is attempting to detect steganography-based information streams or files) has available. The attacks possible on a stego-image or media can be any of the following:
1. Steganography-only attack: The only medium available for analysis is the Steganography medium.
2. Known-carrier attack: The carrier that is, the original cover and steganography media are both available for analysis.
3. Known-message attack: The embedded message is known.
4. Chosen-steganography attack: The steganography medium and tool (or algorithm) is both known.
5. Chosen-message attack: A known message and steganography tool (or algorithms) is used to create steganography media for future analysis and comparison. The goal in this attack is to determine corresponding patterns in the steganography medium that may point to the use of specific steganography tools or algorithms.
6. Known-steganography attack: The carrier and steganography medium, as well as the steganography tool or algorithm, are known.
2.6.1 Classification of Steganalysis
Steganalysis can be classified into the following: Statistical and Signature Steganalysis. This is divided on whether the embedded message is detected using the Statistics of the image or the Signature of the Steganography technique used (Arooj and Mir 2010). Arooj and Mir (2010) went further to divide each of this technique into universal and specific approaches.
1. Signature Steganalysis
According to Arooj and Mir (2010) in their paper also agree that degradation or unusual characteristics are been introduced when properties of any electronic media is alter during embedding of any secret message. This then bring about the existence of signatures that announces the existence of a secret message. The secret message can be detecting by finding they patterns (signatures) which are obvious of a Steganography tool. In the early stage of Steganalysis the possibility of embedded message where revealed by using signatures specific to specific Steganography tool. The method basically looks at the pallete tables in GIF images and inconsistences caused by common Steganography tools. Arooj and Mir (2010) question the reliability of this method even though they are simple, gives results that are promising when message is hidden. This method is sub divided into: specific and universal signature Steganalysis.
2. Statistical Steganalysis
Arooj and Mir (2010) question the reliability of this method even though they are simple, gives results that are promising when message is hidden. Furthermore, to develop this type of technique you need to analyse the embedding operation and also determine some image statistics that are changed as a result of the process of embedding. For one to be able to design such technique you need a very good knowledge of embedding process. It works best and gives accurate result when used for a specific Steganography technique, same as what is applied in this project.
3.0 Model of the system
The working principle of the main system or software I used in this thesis is shown below (fig 3.0)
Ordinary or plain image
Fig. 3.0 The flow of the system
Basically what happens here is that a plain image that does not contain any hidden data is been embedded with a secret data (this can be either image or text) using a Steganography studio, after embedding the data the image now becomes a stego-image. For you to know that this image has a hidden data you do a Steganalysis using a tool comparing the RS analysis or sample pair data of the original image and the stego-image. You will notice a change in the RGB percentage of the image with higher RGB from the original image is normal the now with hidden data. For the purpose of this work I went into detail in seeing which image format is the best in hiding data, I got the result (appendix B contains the result I got for my analysis) for my analysis using an analyser.
Though I laid my hand on numerous tools to produce stego-images most of them didn't meet the criteria for tools I wanted to use. These criteria set should meet up the following:
Create stego-image both image under image and text under image.
Should be able to decode a stego-image.
Should have specific LSB algorithms you can use for stego-image creation.
If possible Steganalysis images, this is not a compulsory criteria.
From my experience with different Steganography tools most were very ineffective to my standard due to the fact that the can only create stego-image without been able to perform the other set criteria.
3.1 Steganography Studio
This is the tool I mainly used for both Steganography and Steganalysis because it fully all the criteria for a tool I was looking for, unforturnately I couldn't get any other tool that could perform the same function so that the result will be compared. This tool can encode a message in an image and then decode it, to retrieve the embedded message. Unlike the other tools that can only encode, some could only encode text in images and couldn't perform the task of hiding an image under an image. Below is a screenshot of the tool GUI (Graphical User Interface).
This chapter is the report of the practical aspect of the work. It is divided basically into two (2): creating stego-images and Steganalysis of the stego-image files.
4.1 Creating Stego-images
Steganography cannot be achieved without creating a stego-image (image with embedded message), this lead me to creating sixty-six (66) stego-images. Forty seven (47) out of this images was created using Steganography Studio while the other ten (10) was created using OpenStego. I tried creating diversified formats of images in different ways; meaning I created colour images with text in them, image in an image and lastly black and white images with text in them. Furthermore, I didn't just stop at that I went further in using different image formats to embed information (create stego-images). Below is a comprehensive breakdown of the stego-images format in the table below:
Text embedded in image
BMP, JPEG, PNG
BMP, JPEG, PNG
BMP, JPEG, PNG
BMP, JPEG, PNG
BMP, JPEG, PNG
Total number of stego-images
Image embedded in image
GIF in JPEG, JPEG in BMP, GIF in BMP, JPEG in JPEG, GIF in PNG and JPEG in PNG
GIF in JPEG, JPEG in BMP, GIF in BMP, JPEG in JPEG, GIF in PNG and JPEG in PNG
GIF in JPEG, JPEG in BMP, GIF in BMP, JPEG in JPEG, GIF in PNG and JPEG in PNG
GIF in JPEG, JPEG in BMP, GIF in BMP, JPEG in JPEG, GIF in PNG and JPEG in PNG
GIF in JPEG, JPEG in BMP, GIF in BMP, JPEG in JPEG, GIF in PNG and JPEG in PNG
GIF in JPEG and JPEG in BMP, GIF in BMP, JPEG in JPEG, GIF in PNG and JPEG in PNG
Total number of stego-images
The following are examples of the different cover images with their stego-image side by side:
BMP (Bitmap) image (gray scale cover image Fig 3.1) and a stego-image (Fig 3.2) with a text file inserted in it, with the human naked eye no alteration can be noticed to the image but when statistical analysis is performed the presence of an embedded information can be checked (see appendix B for the statistical analysis for the image below). The algorithm used to embed the information is BattleSteg.
C:\Users\owner\Documents\project\pix\using tools\covers\black and white\BMP.bmp C:\Users\owner\Documents\project\pix\using tools\steganography studio\with password\bw text\battleSteg\bmp.png
Fig 4.1 Cover image Fig 4.2 Stego-image after a text file is inserted
JPEG (Joint Photographic Expert Graphics) image (colour or 24 bit image Fig 3.2) which is the cover image and a same format of image which is the stego-image (Fig 3.4) with a text file embedded inside it, still like the previous example we can't notice any change with our Human Visual System (HVS) but only from statistical analysis (see appendix B for the statistical analysis for the example below). The algorithm I used to embed the text file is FilterFirst.
C:\Users\owner\Documents\project\pix\using tools\steganography studio\with password\image text\filterFirst\jpeg.pngC:\Users\owner\Documents\project\pix\using tools\covers\colour\JPEG.jpg
Fig 4.3 Cover image Fig 4.4 Stego-image after a text file is inserted
PNG (Portable Network Graphics) image (colour or 24 bit image Fig 3.6) which is the cover image has a GIF (Graphical Interchange Format) image embedded (Fig 3.5) in it to create a stego-image (Fig 3.7). With our naked eyes we won't be able to notice any change or alteration in the picture, statistical analysis (see appendix B for result) is also only the viable option.
Fig 4.5 Embedded file
C:\Users\owner\Documents\project\pix\using tools\covers\colour\PNG.png C:\Users\owner\Documents\project\pix\using tools\steganography studio\with password\image image\hideSeek\png gif.png
Fig 4.6 Cover image Fig 4.7 Stego-image with an image inside
4.2Steganalysis of the stego-image files
The next stage of the work after creating the stego-images was to do Steganalysis to compare the result to the original image. I used RS analysis and Sample pairs analysis using Steganography Studio as the tool (software) to analysis the images. After analysis the sixty-six (66) images created, I found out that the following image formats have the same results: GIF in BMP, GIF in JPEG and GIF in PNG also the following image formats too have same result: JPEG in BMP, JPEG in JPEG and JPEG in PNG. So therefore when recording the results (see appendix B) I picked just two formats (JPEG in BMP and GIF in JPEG) since they have same result there won't be of any use recording all results. The total number of stego-images I analysed are forty-one (41).
5.0 Summary Conclusion and Recommendation
In this thesis I used different plain images (both grayscale and coloured images) in different formats (JPEG, BMP and PNG) to create numerous stego-images, my main essence of using different image formats to do this is because I wanted to recommend the best image format that should be used in embedding and to expose the ones that are very vulnerable.
To enable me create the various stego-images I used a Steganography tool (known as Steganography Studio with some other tools which I found out to be less effective) to embedded the hidden data (text and images) in plain images. I heard different combinations of stego-images such as text embedded in grayscale images (PNG, BMP, JPEG), text embedded in coloured images (BMP, JPEG, GIF) also I embedded images in images example JPEG (Joint Photographic Expert Group) image embedded in BMP (Bitmap) image, a GIF (Graphical Interchange Format) image embedded in JPEG (Joint Photographic Expert Group) image and a GIF (Graphical Interchange Format) image embedded in a BMP (Bitmap) image and also a GIF (Graphical Interchange Format) image embedded in PNG (Portable Network Graphics) image. I heard a common result for results for JPEG embedded in BMP, PNG and JPEG and also for GIF embedded in BMP, PNG AND JPEG; I then picked only two formats (JPEG in BMP and GIF IN JPEG).
Furthermore, for any form of stego-image I created; I used different algorithms (BattleSteg, FilterFirst, HideSeek, BlindHide, Dynamic BattleSteg, and Dynamic FilterFirst) this helped me to know which algorithm is best for Steganography. Finally I used a Steganalysis tool (still Steganography Studio) for detection of embedded file in an image, I compared the result of a file that has no image embedded in it with the different the result I got from the Steganalysis of the different stego-images (see appendix B for the Steganalysis result). I got the result using two detection techniques which are RS (Regular/Singular) analysis and Sample pair analysis these are statistical Steganalysis which is seen to be more powerful than the other type of Steganalysis (signature Steganalysis). The comparison of the RGB (red, green and blue colours) content in every image for both detection method was used to know which algorithm is the best, the higher the increment of the original image RGB content the more likely embedded message can be retrieve or noticed. FilterFirst happen to be the best algorithm I will recommend for Steganography because it produced little increment in RGB (red, green and blue colours) compared to that of the original image and this was consistent for all the different stego-image formats I used.
RS analysis is said to be one of the famous Steganalysis technique, it has the ability to the embedded message by analysing pixel values statistically (Gupta R. and Jain A. n.d.). To back this statement up, they went further to state in their paper that some RS Steganalysis work has been reported to be more accurate technique to other conventional substitution steganography which is the type used for this work.
5.2 Conclusion and Recommendation
From my findings there is growing interest in Steganography due to the fact that communication over the internet has out grown the way it used to be in the last century. The fact that Steganography fully supports hiding information under different mediums (e.g. images) makes this an area of keen interest. Communication can easily be done between individuals without any eyebrow raised by who is not involved.
In my work different stego-images were created (in different formats) using numerous algorithms (BattleSteg, FilterFirst etc) these were then statistically Steganalysed using RS analysis and sample pairs, the results derived was compared to the result from the original image that was analysed base on the same technique used for the stego-images.