You are on page 1of 19

Abstract

Steganography is the art of hiding the fact that communication is taking place, by
hiding information in other information. Many different carrier file formats can be
used, but digital images are the most popular because of their frequency on the
internet. For hiding secret information in images, there exists a large variety of
steganography techniques some are more complex than others and all of them
have respective strong and weak points. Different applications may require
absolute invisibility of the secret information, while others require a large secret
message to be hidden. This project report intends to give an overview of image
steganography, its uses and techniques. It also attempts to identify the
requirements of a good steganography algorithm and briefly reflects on which
steganographic techniques are more suitable for which applications.

P a g e 1 | 19
1. INTRODUCTION

With advancements in digital communication technology and the growth of


computer power and storage, the difficulties in ensuring individuals privacy
become increasingly challenging. The degrees to which individuals appreciate
privacy differ from one person to another. Various methods have been
investigated and developed to protect personal privacy. Encryption is probably
the most obvious one, and then comes steganography.

Steganography is an old art which has been in practice since time unknown.
Steganography, from the Greek, means covered or secret writing and is thus the
art of hiding messages inside innocuous cover carriers, e.g. images, audio, video,
text, or any other digitally represented code or transmission, in such a manner
that the existence of the embedded messages is undetectable.

As a famous author once said The art of disguise is knowing how to hide in
plain sight.

The goal of steganography is to avoid drawing suspicion to the transmission of a


hidden message. It hides messages inside other harmless messages in a way that
does not allow any enemy to even detect that there is a second secret message
present.

The network security is becoming more important as the number of data being
exchanged on the internet increases. Therefore, the confidentiality and data
integrity are required to protect against unauthorized access and use. This has
resulted in an explosive growth of the field of information hiding.
Information hiding is an emerging research area, which encompasses applications
such as copyright protection for digital media, watermarking, fingerprinting, and
steganography.
Steganography hides the secrete message within the host data set and makes its
presence imperceptible. The host data set is purposely corrupted, but in a covert
way, designed to be invisible to an information analysis.

P a g e 2 | 19
2. STEGANOGRAPHY

Steganography is the art and science of writing hidden messages in such a way
that no one, apart from the sender and intended recipient, suspects the existence
of the message, a form of security through obscurity.

Steganography and cryptography, though closely related, they are altogether


different. The former hides the existence of the message, while the latter
scrambles a message so that it cannot be understood. But the two techniques
must not be perceived as mutually exclusive and if used together can prove more
powerful. In steganography, the embedded data is not necessarily encrypted;
hidden message may be plaintext, ciphertext, or anything that can be represented
as a bit stream. Embedding encrypted message could be more secure and
effective.

P a g e 3 | 19
3. CRYPTOGRAPHY VS STEGANOGRAPHY

Cryptography hides the contents of a secret message from a malicious people,


whereas steganography even conceals the existence of the message.
In cryptography, the system is broken when the attacker can read the secret
message. Breaking a steganographic system need the attacker to detect that
steganography has been used and he is able to read the embedded message.

In cryptography, the structure of a message is scrambled to make it meaningless


and unintelligible unless the decryption key is available. It makes no attempt to
disguise or hide the encoded message. Cryptography can also provide
authentication for verifying the identity of someone or something.

Steganography does not alter the structure of the secret message, but hides it
inside a cover-image so it cannot be seen. Steganography prevents an unintended
recipient from suspecting that the data exists. Also, the security of classical
steganography system relies on secrecy of the data encoding system. Once the
encoding system is known, the steganography system is defeated.

Criterion/ Steganography Watermarking Cryptography


method
Carrier Any digital Mostly image/audio Usually text based,
media files With some
extensions
To image files
Secret data Payload Watermark Plain text
Structural No changes to No changes to the Changes the
changes the structure structure structure
Key Optional Optional Necessary
Detection Blind Usually Blind
Informative,
Original cover or
watermark is needed
for recovery
Authentication Full retrieval of Usually achieved by Full retrieval of data
data cross correlation

P a g e 4 | 19
Objective Secrete Copyright preserving Data protection
Communication
Result Stego-file Watermarked-file Cipher-text
Concern Delectability/ Robustness Robustness
Capacity
Type of attacks Steganalysis Image processing Cryptanalysis
Visibility Never Sometimes Always
Fails when It is detected It is removed/ De-ciphered
replaced
Relation to Not necessarily Usually becomes an N/A
cover Related to the attribute of the cover
cover. The image. The cover is
message is more important than
More important the message.
than the cover.
Flexibility Free to choose Cover choice is N/A
any suitable restricted
cover
History Ancient except Modern era Modern era
its digital
version

P a g e 5 | 19
4. IMAGE STEGANOGRAPHY

A digital image is defined for the purposes of this document as a raster based, 2-
dimensional, rectangular array of static data elements called pixels, intended for
display on a computer monitor or for transformation into another format, such as
a printed page. To a computer, an image is an array of numbers that represent
light intensities at various points, or pixels. These pixels make up the image's
raster data. Digital images are typically stored in 32-, 24- or 8-bit per pixel files. In
8-bit color images, (such as GIF files), each pixel is represented as a single byte. A
typical 32-bit picture of width=n pixels and height = m pixels can be represented
by an m x n matrix of pixels.

Matrix and bits representation of an image file.

The three 8 bit parts - red-R, blue-B and green-G - constitute 24 bits which means
that a pixel should have 24 bits. 32 bit refers to the image having an "alpha
channel". An alpha channel is like an extra color, although instead of displaying it
as a color, it is rendered translucently with the background.

P a g e 6 | 19
4.1 IMAGE FORMATS

Based on the kind of compression employed a given image format can be


classified as lossy or lossless. Lossy compression is used mostly with JPEG files and
may not maintain the original image's integrity despite providing high 10
compression. Obviously, it would infect any data embedded in the image. Lossless
compression does maintain the original image data exactly but does not offer
such high compression rates as lossy compression. PNG, BMP, TIFF and GIF etc.
are example lossless formats.

Some commonly used formats are JPEG, BMP and PNG;

1. BMP- This is a system standard graphics file format for Microsoft Windows and
hence proprietary and platform dependent. It is capable of storing true color
bitmap images and used in MS Paint and Windows wallpapers etc. Being an
uncompressed file format, it requires high storage.

2. JPEG - A creation of Joint Photographic Expert Group was voted as international


standard in 1992. It takes advantage of limitations in the human vision system
(HVS) to achieve high rates of compression. It is a lossy type of format which
allows user to set the desired level of quality/compression. By far one of the most
common image formats, it is primarily used for photographs. JPEGs are extremely
popular since they compress into a small file size and retain excellent image
quality.

3. PNG - (Portable Network Graphic) is a lossless image format, properly. It was


designed to replace the older and simpler GIF format. Like GIF you can make
transparent images for buttons and icons, but it does not support animation. The
compression is asymmetric; reading is faster than writing.

We have chosen PNG image file format as our default carrier media because of
the following advantages:

1. PNG is the most flexible image format for web because it can save images
in 8-bit, 24-bit and 32-bit colours which is not possible with GIF and JPEG
file formats. For example, GIF can only store only 8-bit or lower bit depths.

P a g e 7 | 19
Similarly, JPEGs must be stored in 24-bit and no lower while PNG.s can be
stored in 8-bit, 24-bit, or 32-bit.

2. PNG uses a lossless compression method, which means that an image can
be compressed and decompressed without any loss of the image quality.
PNG is compressed using any number of pre-compressed filters and is then
decompressed when viewed similar to JPEG format, except the PNG format
is lossless. PNG.s compression engine typically compresses images 5-25%
better than GIF.

3. PNG can store a variable transparency value known as alpha channel


transparency. This allows an image to have up to 256 different levels of
partial transparency. While, JPEG does not support transparency, PNG can
also store the gamma value of an image on the platform it was created
which can enable a display system to present the image on its correct
gamma value, if it has been specified. Correct gamma value enables a
picture to display properly on different platform without losing its quality
during transformation.

4. Metadata for Searching and Indexing as keywords and other text strings
(compressed or otherwise) can be incorporated to enable search engines to
locate the image on web.

P a g e 8 | 19
4.2 STEGANOGRAPHY TECHNIQUE

Though there are numerous techniques available, the most popular Least
Significant Bit (LSB) insertion technique is used here.

LSB techniques embed the message bits directly into the least-significant bit plane
of the cover image in a deterministic sequence. This results in a change with too
low an amplitude to be human-perceptible. The problem is its vulnerability to
image manipulation.

In this method, the least significant bits of some or all of the bytes inside an image
are replaced with the bits of the secret message. The LSB embedding approach
has become the basis of many techniques that hide messages within multimedia
carrier data. LSB embedding may even be applied in particular data domains - for
example, embedding a hidden message into the color values of RGB bitmap data,
or into the frequency coefficients of a JPEG image. LSB embedding can also be
applied to a variety of data formats and types.

The advantages of LSB techniques:

Easy to understand and comprehend


High perceptual transparency
Low degradation in the image quality

The disadvantages of LSB techniques:

Vulnerable to accidental or environmental noise


Low robustness to malicious attacks
Low temper resistance

P a g e 9 | 19
5. EXISTING SYSTEM

The existing system uses the histogram of the image to embed the data. This
method also enhances the contrast of the image. The image enhancement is
achieved by histogram equalisation. The highest peaks in the histogram are taken.
The bins between the peaks are unchanged while the outer bins are shifted
outwards so that each of the two peaks can be split into two adjacent bins. To
increase embedding capacity, the highest two bins in the modified histogram can
be further chosen to be split, and so on until satisfactory construct enhancement
effect is achieved. For the recovery of the original image, the location map is
embedded into the host image, together with the message bits and other side
information. So, the blind data extraction and complete recovery of the original
image are both enabled. The generation of image histogram is a difficult and a
time- consuming process. But the contrast of the image is enhanced. The data is
only hidden in the image where the security level is simple. Since the data is
hidden and if the retrieving process is known the intruder will be able to retrieve
the image easily without any effort.

Disadvantages in existing system:

High computation time.


Algorithm complexity and distortion is high.
Security is less because same technique is used for the whole process.
Generation of histogram is a difficult and time consuming process.

P a g e 10 | 19
6. PROPOSED SYSTEM

Proposed system is a dual security model for hiding sensitive information. It uses
AES encryption to first encrypt the secret data with the help of common shared
key and then uses the LSB (Lowest Significant Bit) replacement technique to
embed the secret encrypted data into the cover image.

Proposed Model for Steganography

Advantages of using proposed system:

Less computation time.


Even if the anyone is able to detect and extract the data, it will be
meaningless.
Without the security key, no one will be able to steal the data.
AES encryption is strong and unbreakable. Password guessing isnt possible.

P a g e 11 | 19
6.1 AES ENCRYPTION

Rijndael is a block cipher developed by Joan Daemen and Vincent Rijmen. The
algorithm is supporting any combination of data and key size of 128/192/256 bits.
The proposed method used its 128-bits version allow 128-bits block size and 128
bits key size. AES is divided into four basic operational blocks. These operates on
array of bytes and organised as a 44 matrix called state. For complete
encryption, the data is passed through 10 rounds. These rounds are
governs the following transformation.

Bytesub Transformation: It is a nonlinear byte substitution using a


substitution table (s-box) , which is constructed by multiplicative inverse
and affine transformation. Byte Substitution controls each byte of state
individually, with the input byte used to index a row and column in the
lookup table to receive the substituted value.

Shift rows Transformation: It is a simple byte transformation. The bytes in


the last three rows of the state are cyclically shifted: the offset of the left
shift varies from one to three bytes.

Mix columns Transformations: Its operates on every column


independently. Each byte of a column is mapped into a new value that is a
function of all four bytes in that column. The substitution makes use of
arithmetic over GF(28). It is designed as a matrix multiplication where each
byte is treated as a polynomial in GF(28). The inverse used for decryption
involves a different set of constants. This gives good mixing of the bytes
within each column. Combined with the shift rows step provides good
avalanche, that reflect within a few rounds, all output bits depend on all
input bits.

Addroundkey Transformation: It is a simple XOR between the working


state and the round key. This transformation is its own inverse.

AES Key Expansion: The AES key expansion algorithm takes as input a 4-
word (16-byte) key and gives a linear array of words, providing a 4-word
round key for the initial AddRoundKey stage and each of the 10 rounds of
the cipher. It involves copying the key first in to the group of 4 words, and

P a g e 12 | 19
then constructing subsequent groups of 4 based on the values of the
previous 4th words. The first word in each group of 4 gets special
treatment with rotate + S-box + XOR constant on the previous word before
XORing the one from 4 back.

P a g e 13 | 19
7. MODULES INCLUDED

1. Data Encryption: Data encryption module (data_encrypt) encrypts the data


passed to it using the AES encryption technique and user provided key.

2. Data Embedding: Data embedding module (data_embed) embed the


encrypted secret data into the cover image provided with the help of 1-bit
LSB technique.

3. Data Extract: Data extracting module (data_extract) extracts the encrypted


secret data from the provided stego image by removing the last bit of every
pixel (LSB) technique.

4. Data Decryption: Data decryption module (data_decrypt) decrypts the


stream of bits in the form of string with the AES technique combined the
user provided key.

5. Data Conversion: Data conversion module (data_convert) converts the


bytes of data provided to it into the stream of bits in a string form.

P a g e 14 | 19
8. FLOW CHARTS AND DFD

8.1 FLOW CHART OR CONTEXT DIAGRAM OF THE SYSTEM

P a g e 15 | 19
8.2 DATA FLOW DIAGRAM FOR EMBEDDING

8.3 DATA FLOW DIAGRAM FOR EXTRACTION

P a g e 16 | 19
9. SCREENSHOTS

9.1 Application Screenshots:

P a g e 17 | 19
9.2 Encryption and Decryption Using Image

P a g e 18 | 19
9.3 Encryption and Decryption Using Text

P a g e 19 | 19

You might also like