Anda di halaman 1dari 15

ADVANCED IMAGE HIDING

SYNOPSIS

ABSTRACT

IMAGE HIDING

MERITS

DEMERITS

ADVANCED IMAGE HIDING

IMAGE HIDING VS ADVANCED IMAGE HIDING

PROGRAM

RESULT
ABSTRACT

The process of image hiding in a more technical way is called as

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

Steganography is the practice of hiding private or sensitive information within something that appears to be
nothing out to the usual. Steganography is often confused with cryptology because the two are similar in the
way that they both are used to protect important information. The difference between two is that
steganography involves hiding information so it appears that no information is hidden at all. If a person or
persons views the object that the information is hidden inside of he or she will have no idea that there is any
hidden information, therefore the person will not attempt to decrypt the information.

What steganography essentially does is exploit human perception, human senses are not trained to look for
files that have information inside of them, although this software is available that can do what is called
Steganography. The most common use of steganography is to hide a file inside another file..

NTERNET has become more popular and common nowa-days. Sending the important data
through the net has become a serious threat. Moreover routing the data in an encrypted format
is very common and embedding the secret message in an image is a challenge. To safeguard
the images from the illegal hindrance or interception, techniques such as watermarking,
image hiding is used for the safe transmission of images. This paper focuses on such
techniques and ideas. A watermark is a signal or a pattern that is embedded into an image. It
is usually done for content authentication. Watermarking methods are divided into: fragile
watermarking methods and robust watermarking methods. In robust watermarking methods,
the secret information will always be robust against any changes or malfunctions. They are
usually used for protecting copyrights. On the other hand, fragile watermarking methods are
usually designed so that they can easily get broken. Therefore it is applicable for tamper
detection and authentication. Chandramouli & Nasir Memon (2001) has used the
watermarking technique with public key verification for watermark insertion and extraction
procedure. This can be used for fingerprinting, ownership assertion and for ID-card security
purpose. Image authentication against the quantization attack has been proposed by Hongtao
Lu et al., (2003). In watermarking, the size of the symbol should be usually small, ranging
from one bit to thousands of bits to represent the symbol. The goal of watermarking focuses
on the existence of the symbol which is usually small after undergoing certain manipulations
and by degrading operations such as filtering, resampling, lossy compression, etc. But in
Image Hiding, it is mainly used to transmit important and confidential images, whose size
tends to be very large. Many image hiding methods have been proposed by Thien & Lin
(2003), Chan & Cheng (2004), Li Zhi & Sui Ai Fen (2004), Wang & Tsai (2007), Wang &
Moulin (2007) and many more. Most of these methods does not consider about the
compressing of cover image. But Chung et al., (2001) proposed the usage of singular value
decomposition and vector quantization for compressing the cover image. The goal of the
image hiding technique is to hide the secret image in such a way that it is invisible to the
viewers.The Least Significant Bit substitution method and Optimal Pixel Adjustment process
are the two image hiding techniques in which the LSB method is used for embedding the
secret image and the OPAP method is used for enhancing the final image so that the presence
of the secret image is not visible. Wang et al., (2001) proposed a method called the
Moderately Significant Bit (MSB) where the fourth bit is taken into account for image hiding.
This paper deals with all the facts used for the procedure of hiding the image and making the
secret message invisible to the grabbers. This paper is organized as follows. The section

STEGANOGRAPHY

Steganography (US /ˌstɛ.ɡʌnˈɔː.ɡrʌ.fi/, UK /ˌstɛɡ.ənˈɒɡ.rə.fi/) is the practice of concealing a file,


i

message, image, or video within another file, message, image, or video. The
word steganography combines the Greek words steganos (στεγανός), meaning "covered,
concealed, or protected", and graphein (γράφειν) meaning "writing".

The first recorded use of the term was in 1499 by Johannes Trithemius in his Steganographia, a
treatise on cryptography and steganography, disguised as a book on magic. Generally, the
hidden messages appear to be (or be part of) something else: images, articles, shopping lists, or
some other cover text. For example, the hidden message may be in invisible ink between the
visible lines of a private letter. Some implementations of steganography that lack a shared
secret are forms of security through obscurity, whereas key-dependent steganographic schemes
adhere to Kerckhoffs's principle.[1]

The advantage of steganography over cryptography alone is that the intended secret message
does not attract attention to itself as an object of scrutiny. Plainly visible encrypted messages—
no matter how unbreakable—arouse interest, and may in themselves be incriminating in
countries where encryption is illegal.[2] Thus, whereas cryptography is the practice of protecting
the contents of a message alone, steganography is concerned with concealing the fact that a
secret message is being sent, as well as concealing the contents of the message.

Steganography includes the concealment of information within computer files. In digital


steganography, electronic communications may include steganographic coding inside of a
transport layer, such as a document file, image file, program or protocol. Media files are ideal for
steganographic transmission because of their large size. For example, a sender might start with
an innocuous image file and adjust the color of every 100th pixel to correspond to a letter in the
alphabet, a change so subtle that someone not specifically looking for it is unlikely to notice it.
Image of a tree with a steganographically hidden image. The hidden image is revealed by removing all but
the two least significant bits of each color component and a subsequentnormalization. The hidden image is
shown below.

Image of a cat extracted from the tree image above.

Graphical Representation
The graphical representation of Steganography system is as follows:
System Analysis & Design

Steganography system requires any type of image file and the information or message that is to be hidden. It
has two modules encrypt and decrypt. Microsoft .Net framework prepares a huge amount of tool and options
for programmers that they simples programming. One of .Net tools for pictures and images is auto-converting
most types of pictures to BMP format. I used this tool in this software called “Steganography” that is written in
C#.Net language and you can use this software to hide your information in any type of pictures without any
converting its format to BMP (software converts inside it).

The algorithm used for Encryption and Decryption in this application provides using several layers lieu of using
only LSB layer of image. Writing data starts from last layer (8st or LSB layer); because significant of this layer
is least and every upper layer has doubled significant from its down layer. So every step we go to upper layer
image quality decreases and image retouching transpires.

The encrypt module is used to hide information into the image; no one can see that information or file. This
module requires any type of image and message and gives the only one image file in destination.

The decrypt module is used to get the hidden information in an image file. It take the image file as an
output, and give two file at destination folder, one is the same image file and another is the message file that
is hidden it that.

PROGRAM:

% program for hiding an image inside the other

% high quality version

%*****************************************************

% ---only two bit in pixel of the image 1 is affected

% ---image2 is split & store in two diagonally opposite quadrants

% algorithm
% the fist image is resize to double its original size

% logically the image is divided to four partitions

% the bits of the image to be hid is stored in the first image as

% shown below

% |-------------|

% |d7,d6 |d3,d2 |

% |-------------|

% |d1,d0 |d5,d4 |

% |____________|

% ****************program********************

clc; % clear the command window

clear; % clear the workspace

disp(' ');

disp(' ***** image hider 2.0 *****');

disp('___program for hidimg one image inside the other image___');

disp(' ');

disp('_________________________________________________________');

task = input('---encode :- 1 \n---decode :- 2\n enter your task:');

% select task

if isempty(task)

task=1;

end

if task == 1

% reads two image files

x = imread(input(' welcome to encoder\n enter the first image file name: ','s'));

y = imread(input(' enter the second image file name: ','s'));

% check compatibility
sx = size(x);

sy = size(y);

%if (sx(1) ~= sy(1))|(sx(2)~=sy(2))

x=imresize(x,[2*sy(1),2*sy(2)]);

% end

%sy=2*sy;

% clearing ist files last two lsb bits & moving iind files msb bits to lsb bits

x1 = bitand(x,uint8(252));

y1 = bitshift(y,-4);

y1_= bitand(y1,12);

y1_= bitshift(y1_,-2); % y1_ has d6 & d7

y1 = bitand(y1,3); % y1 has d4,d5

% clearing ii image's msb bits

y_lsb1 = bitshift(bitand(y,12),-2);

y_lsb2 = bitand(y,3);

% inserting iind to ist file

z=x1;

for j=1:sy(2) % y variation

for i=1:sy(1) % x variation

for k=1:3

% iind quadrent

z(i,j,k) = bitor(x1(i,j,k), y1_(i,j,k));

% iv th quadrent

z(i+sy(1),j+sy(2),k) = bitor(x1(i+sy(1),j+sy(2),k), y1(i,j,k));

% i st quadrent

z(i+sy(1),j,k) = bitor(x1(i+sy(1),j,k), y_lsb1(i,j,k));


% iiird quadrent

z(i,j+sy(2),k) = bitor(x1(i,j+sy(2),k), y_lsb2(i,j,k));

end

end

end

% display the first image

figure(1)

image(x);

xlabel(' ist image ');

% display iind image

figure(2);

image(y);

xlabel(' iind image ');

% display encoded image

figure(3);

image(z);

xlabel(' encoded image ');

% saving file

sav=input('do you want to save the file y/n [y] ','s');

if isempty(sav)

sav='y';

end

if sav == 'y'

name=input('enter a name for the encoded image: ','s');

if isempty(sav)

name='encoded_temp';

end
name=[name,'.bmp']; % concatination

imwrite(z,name,'bmp');

end

else

% decoding encoded image

clear;

z=imread(input(' welcome to decoder\n enter the image file to be decoded:','s'));

sy = size(z)/2; % take the size of input file

% xo is fist file- obtained by clearing lsb bits, yo is iind file right

% shifting z by 4 bits

xo=bitand(z,uint8(252));

xo=imresize(xo,[sy(1),sy(2)]); % reduce the resolution to half so

%that it becoms the original image's resolution

for j=1:sy(2) % y variation

for i=1:sy(1) % x variation

for k=1:3

zout1(i,j,k) = bitshift(bitand(z(i,j,k),uint8(3)),2);

zout2(i,j,k) = bitand(z(i+sy(1),j+sy(2),k), uint8(3));

zout3(i,j,k) = bitshift(bitand(z(i+sy(1),j,k),uint8(3)),2);

zout4(i,j,k) = bitand(z(i,j+sy(2),k),uint8(3));

end

end

end

zout = bitshift((zout1+zout2),4)+zout3+zout4;

yo = zout;

% display ist & iind image from encoded image

figure(4);
image(xo);

xlabel('ist decoded image ');

figure(5);

image(yo);

xlabel('iind decoded image');

% saving file

sav=input('do you want to save the file y/n [y] ','s');

if isempty(sav)

sav='y';

end

if sav == 'y'

name1=input('enter a name for the first image: ','s');

name2=input('enter a name for the second image: ','s');

if isempty(name1)

name1 = 'ist_temp';

end

if isempty(name2)

name2 = 'iind_temp';

end

name1 = [name1,'.bmp'];

name2 = [name2,'.bmp'];

imwrite(xo,name1,'bmp');

imwrite(yo,name2,'bmp');

end

end
RESULT:

COMMAND WINDOW:

***** image hider 2.0 *****

___program for hidimg one image inside the other image___

_________________________________________________________

---encode :- 1

---decode :- 2

enter your task:1

welcome to encoder

enter the first image file name: D:\dsp theory pics\image2.bmp

enter the second image file name: D:\dsp theory pics\three.bmp

do you want to save the file y/n [y] y

enter a name for the encoded image: first

>>

PLOTS:
FIGURE 1

50

100

150

200

250

300

100 200 300 400 500 600


ist image
FIGURE 2

20

40

60

80

100

120

140

160

50 100 150 200 250 300


iind image
ENCODED IMAGE

50

100

150

200

250

300

100 200 300 400 500 600


encoded image

Anda mungkin juga menyukai