You are on page 1of 52

1.

INTRODUCTION
One of the reasons that ntruders can be successfu s the most of the
nformaton they acqure from a system s n a form that they can read and
comprehend. Intruders may revea the nformaton to others, modfy t to
msrepresent an ndvdua or organzaton, or use t to aunch an attack. One
souton to ths probem s, through the use of steganography. Steganography s
a technque of hdng nformaton n dgta meda. In contrast to cryptography, t
s not to keep others from knowng the hdden nformaton but t s to keep others
from thnkng that the nformaton even exsts.
Steganography become more mportant as more peope |on the
cyberspace revouton. Steganography s the art of conceang nformaton n
ways that prevents the detecton of hdden messages. Stegranography ncude
an array of secret communcaton methods that hde the message from beng
seen or dscovered.
Due to advances n ICT, most of nformaton s kept eectroncay.
Consequenty, the securty of nformaton has become a fundamenta ssue.
Besdes cryptography, streganography can be empoyed to secure nformaton.
In cryptography, the message or encrypted message s embedded n a dgta
host before passng t through the network, thus the exstence of the message s
unknown. Besdes hdng data for condentaty, ths approach of nformaton
hdng can be extended to copyrght protecton for dgta meda: audo, vdeo
and mages.
The growng possbtes of modern communcatons need the speca
means of securty especay on computer network. The network securty s
becomng more mportant as the number of data beng exchanged on the
nternet ncreases. Therefore, the condentaty and data ntegrty are requres
to protect aganst unauthorzed access and use. Ths has resuted n an exposve
growth of the ed of nformaton hdng.
In watermarkng appcatons, the message contans nformaton such as
owner dentcaton and a dgta tme stamp, whch usuay apped for copyrght
protecton.
Fngerprnt, the owner of the data set embeds a sera number that
unquey dentes the user of the data set. Ths adds to copyrght nformaton to
makes t possbe to trace any unauthorzed used of the data set back to the
user.
Steganography hde the secrete message wthn the host data set and
presence mperceptbe and s to be reaby communcated to a recever. The
host data set s purposey corrupted, but n a covert way, desgned to be
nvsbe to an nformaton anayss.
1.1 What is Steganography?
Steganography s the practce of hdng prvate or senstve nformaton
wthn somethng that appears to be nothng out to the usua. Steganography s
often confused wth cryptoogy because the two are smar n the way that they
both are used to protect mportant nformaton. The dherence between two s
that steganography nvoves hdng nformaton so t appears that no nformaton
s hdden at a. If a person or persons vews the ob|ect that the nformaton s
hdden nsde of he or she w have no dea that there s any hdden nformaton,
therefore the person w not attempt to decrypt the nformaton.
What steganography essentay does s expot human percepton, human
senses are not traned to ook for es that have nformaton nsde of them,
athough ths software s avaabe that can do what s caed Steganography. The
most common use of steganography s to hde a e nsde another e.
1.2 History of Steganography:
Throughout hstory Steganography has been used to secrety communcate
nformaton between peope.
Some exampes of use of Steganography s past tmes are:
1. Durng Word War 2 nvsbe nk was used to wrte nformaton on peces of
paper so that the paper appeared to the average person as |ust beng
bank peces of paper. Lquds such as mk, vnegar and frut |uces were
used, because when each one of these substances are heated they darken
and become vsbe to the human eye.
2. In Ancent Greece they used to seect messengers and shave ther head,
they woud then wrte a message on ther head. Once the message had
been wrtten the har was aowed to grow back. After the har grew back
the messenger was sent to dever the message, the recpent woud shave
oh the messengers har to see the secrete message.
3. Another method used n Greece was where someone woud pee wax oh a
tabet that was
Why This Steganography?
Ths technque s chosen, because ths system ncudes not ony
mperceptbty but aso un-deectabty by any steganoyss too.
Project Scope:
Ths pro|ect s deveoped for hdng nformaton n any mage e. The
scope of the pro|ect s mpementaton of steganography toos for hdng
nformaton ncudes any type of nformaton e and mage es and the path
where the user wants to save Image and extruded e.
Methodology:
User needs to run the appcaton. The user has two tab optons - encrypt
and decrypt. If user seect encrypt, appcaton gve the screen to seect mage
e, nformaton e and opton to save the mage e. If user seect decrypt,
appcaton gves the screen to seect ony mage e and ask path where user
want to save the secrete e.
Ths pro|ect has two methods - Encrypt and Decrypt.
In encrypton the secrete nformaton s hdng n wth any type of mage e.
Decrypton s gettng the secrete nformaton from mage e.
Detecting Steganography:
The art of detectng Steganography s referred to as Steganalysis.
To put s smpy Steganayss nvoves detectng the use of Steganography
nsde of a e. Steganayss does not dea wth tryng to decrypt the hdden
nformaton nsde of a e, |ust dscoverng t.
There are many methods that can be used to detect Steganography such as:
"Vewng the e and comparng t to another copy of the e found on the
Internet (Pcture e). There are usuay mutpe copes of mages on the nternet,
so you may want to ook for severa of them and try and compare the suspect
e to them. For exampe f you downoad a |PED and your suspect e s aso a
|PED and the two es ook amost dentca apart from the fact that one s arger
than the other, t s most probabe you suspect e has hdden nformaton nsde
of t.
1.3 Steganography vs Cryptography
Bascay, the purpose of cryptography and steganography s to provde
secret communcaton. However, steganography s not the same as
cryptography. Cryptography hdes the contents of a secrete message from a
macous peope, whereas steganography even concea the exstence of the
message. In cryptography, the system s broken when the attacker can read the
secret message. Breakng a steganography system need the attacker to detect
that steganography has been used.
It s possbe to combne the technques by encryptng message usng
cryptography and then hdng the encrypted message usng steganography. The
resutng stego-mage can be transmtted wthout reveang that secret
nformaton s beng exchanged.
1. Steganography vs Water!ar"ing
Steganography pay attenton to the degree of Invsbty whe
watermarkng pay most of ts attrbute to the robustness of the message and ts
abty to wthstand attacks of remova, such as mage operatons(rotaton,
croppng, terng), audo operatons(rerecordng, terng)n the case of mages
and audo es beng watermarked respectvey.
It s a non-questonabe fact that deectabty of a vesse wth an ntroduced data
(steganographc message or a watermark) s a functon of the changeabty
functon of the agorthm over the vesse.
That s the way the agorthm changes the vesse and the severty of such
an operaton determnes wth no doubt the deectabty of the message, snce
Invsbty
Robustness
Securty
deectabty s a functon of e characterstcs devaton from the norm,
embeddng operaton atttude and change severty of such change decdes
vesse e deectabty.
A typca trange of conct s message Invsbty, Robustness, and
Securty. Invsbty s a measure of the n notabty of the contents of the
message wthn the vesse.
Securty s snomnous to the cryptographc dea to message securty,
meanng nabty of reconstructon of the message wthout the proper secret key
matera shared.
Robustness refers to the endurance capabty of the message to survve
dstorton or remova attacks ntact. It s often used n the watermarkng ed
snce watermarkng seeks the persstence of the watermark over attacks,
steganographc messages on the other hand tend to be of hgh senstvty to
such attacks. The more nvsbe the message s the ess secure t s
(cryptography needs space) and the ess robust t s (no error checkng/recovery
ntroduced).The more robust the message s embedded the more sze t requres
and the more vsbe t s.
1.#. Steganography Techni$%es
Over the past few years, numerous steganography technques that embed
hdden messages n mutmeda ob|ects have been proposed. There have been
many technques for hdng nformaton or messages n mages n such a manner
that ateraton made to the mage s perceptuay ndscernbe. Commony
approaches are ncudng LSB, Maskng and terng and Transform technques.
Least sgncant bt (LSB) nserton s a smpe approach to embeddng
nformaton n mage e. The smpest steganography technques embed the bts
of the message drecty nto east sgncant bt pane of the cover-mage n a
Determnstc sequence. Moduatng the east sgncant bt does not resut
n human perceptbe dherence because the amptude of the change s sma. In
ths technque, the embeddng capacty can be ncreased by usng two or more
east sgncant bts. At the same tme, not ony the rsk of makng the
embedded message statstcay detectabe ncrease but aso the mage dety
degrades. Hence a varabe sze LSB embeddng schema s presented, n whch
the number of LSBs used for message embeddng/extractng depends on the
oca characterstcs of the pxe. The advantage of LSB-based method s easy to
mpement and hgh message pay-oad.
Athough LSB hdes the message n such way that the humans do not
perceve t, t s st possbe for the opponent to retreve the message due to the
smpcty of the technque. Therefore, macous peope can easy try to extract
the message from the begnnng of the mage f they are suspcous that there
exsts secret nformaton that was embedded n the mage.
Therefore, a system named Secure Informaton Hdng System (SIHS) s
proposed to mprove the LSB scheme. It overcomes the sequence-mappng
probem by embeddng the massage nto a set of random pxes, whch are
scattered on the cover-mage.
Maskng and terng technques, usuay restrcted to 24 bts and gray
scae mage, hde nformaton by markng an mage, n a manner smar to paper
watermarks. The technque perform anayss of the mage, thus embed the
nformaton n sgncant areas so that the hdden message s more ntegra to
cover mage than |ust hdng t n the nose eve.
Transform technques embed the message by moduatng coemcent n a
transform doman, such as the Dscrete Fourer Transform, or Waveet Transform.
These methods hde messages n sgncant areas of the cover mage, whch
make them more robust to attack. Transformatons can be apped over the
entre mage, to bock throughout the mage, or other varant.
&!age Steganography and 'it!ap pict%res:
Usng btmap pctures for hdng secret nformaton s one of most popuar
choces for Steganography. Many types of software but for ths purpose, some
of these software use password protecton to encryptng nformaton on pcture.
To use these software you must have a BMP format of a pctures to use t, but
usng other type of pctures ke "|PEG", "GIF" or any other types s rather or
never used, because of agorthm of "BMP" pctures for Steganography s smpe.
Aso we know that n the web most popuar of mage types are "|PEG" and other
types not "BPM", so we shoud have a souton for ths probem.
Ths software provde the souton of ths probem, t can accept any type of
mage to hde nformaton e, but nay t gve the ony "BMP" mage as an
output that has hdden e nsde t.
(it!ap Steganography:
Btmap type s the smpest type of pcture because that t doesnt have
any technoogy for decreasng e sze. Structure of these es s that a btmap
mage created from pxes that any pxe created from three coors ( red, green
and bue sad RGB) each coor of a pxe s one byte nformaton that shows the
densty of that coor.
Mergng these three coor makes every coor that we see n these pctures.
We know that every byte n computer scence s created from 8 bt that rst bt s
Most-Sgncant-Bt (MSB) and ast bt Least-Sgncant-Bt (LSB), the dea of
usng Steganography scence s n ths pace; we use LSB bt for wrtng our
securty nformaton nsde BMP pctures. So f we |ust use ast ayer (8st ayar) of
nformaton, we shoud change the ast bt of pxes, n other hands we have 3 bts
n each pxe so we have 3*hght*wdth bts memory to wrte our nformaton. But
before wrtng our data we must wrte name of data(e), sze of name of data &
sze of data. We can do ths by assgnng some rst bts of memory (8st ayer).
(00101101 00011101 11011100)
(10100110 11000101 00001100)
(11010010 10101100 01100011)
Usng each 3 pxe of pcture to save a byte of data
1.) *'o%t the +rgani,ation
Vdhatha Technooges, s an IT consutancy soutons provders wth
expertse n Pacements, IT Tranng and Academc Pro|ects n Bangaore over the
ast sx years, we have served many companes n dherent postons wth
muttude cuture. Vdhatha Technooges bends the experence of ts top-notch
professonas wth the state-of-the-art technoogy, to provde nnovatve
soutons. We are ocated n the scon vaey of Inda-Bangaore, t has been our
endeavor to provde taor-made and quaty servces to our cents. As a resut,
we have an ever-growng st of satsed cents.
Vdhatha Technooges specazes n IT recrutments and tranngs n
Bangaore for fresh graduates, we have strong credbty for oherng exctng
careers n MNC and reputed start-up software houses n Inda. We are nto
Software Tranng for ast 6 years, 5 years nto Pacements of freshers,
experenced and snce 2007,we have started Academc Pro|ects for na year
students. Knowedge s the cruca aspect whch separates the ordnary from the
extraordnary.
Vdhatha Technooges s the ony pace n Bangaore, whch s provdng n-
depth tranng n a new technooges wth rea tme experts at reasonabe
prces. Casses w be taken by ndustry professonas who are workng wth top
MNCs.
Vdhatha Technooges Bangaore s oherng wde range of academc
pro|ects n a technooges for na year BE/B.Tech/M.C.A/M.Sc/B.Sc/B.C.A.
(IT/CS/IS) students wth compete tranng n the technoogy and provde the
technca assstance to mpement the pro|ect. We provde a knd of matera
support aong wth the na Pro|ect Report.
Vdhatha Technooges Bangaore s hghy experenced n Stamng Servces
(Contract/Permanent). Our recrutment teams are supported by our own
database coverng the IT, Non IT and ITES segments. Our core competency es n
understandng the trends of the market and aso the requrements of the cents
and canddates
2. PROBLEM DESCRIPTION
-.1 +'jecti.es
The goa of steganography s covert communcaton. So, a fundamenta
requrement of ths steganography system s that the hder message carred by
stego-meda shoud not be sensbe to human bengs.
The other goad of steganography s to avod drawng suspcon to the
exstence of a hdden message. Ths approach of nformaton hdng technque
has recenty became mportant n a number of appcaton area
Ths pro|ect has foowng ob|ectves:
To product securty too based on steganography technques.
To expore technques of hdng data usng encrypton modue of ths
pro|ect
To extract technques of gettng secret data usng decrypton modue.
Steganography sometmes s used when encrypton s not permtted. Or, more
commony, steganography s used to suppement encrypton. An encrypted e
may st hde nformaton usng steganography, so even f the encrypted e s
decphered, the hdden message s not seen
-.- +.er.ie/
The word steganography comes from the Greek "Seganos", whch mean
covered or secret and - "graphy" mean wrtng or drawng. Therefore,
steganography mean, teray, covered wrtng. It s the art and scence of hdng
nformaton such ts presence cannot be detected and a communcaton s
happenng. A secrete nformaton s encodng n a manner such that the very
exstence of the nformaton s conceaed. Pared wth exstng communcaton
methods, steganography can be used to carry out hdden exchanges.
The man goa of ths pro|ects t to communcate securey n a competey
undetectabe manner and to avod drawng suspcon to the transmsson of a
hder data. There has been a rapd growth of nterest n steganography for two
reasons:
The pubshng and broadcastng ndustres have become nterested n
technques for hdng encrypted copyrght marks and sera numbers n dgta
ms, audo recordngs, books and mutmeda products
Moves by varous governments to restrct the avaabty of encrypton
servces have motvated peope to study methods by whch prvate messages
can be embedded n seemngy nnocuous cover messages.
The basc mode of steganography conssts of Carrer, Message and
password. Carrer s aso known as cover-ob|ect, whch the message s embedded
and serves to hde the presence of the message.
Bascay, the mode for steganography s shown on foowng gure:
Message s the data that the sender wshes to reman t condenta. It can be
pan text, cphertext, other mage, or anythng that can be embedded n a bt
stream such as a copyrght mark, a covert communcaton, or a sera number.
Cover-
ob|ect, X
Message, M
Stego-key,
K
F(X, M,
K)
Stego Ob|ect,
Z
Password s known as stego-key, whch ensures that ony recpent who know the
correspondng decodng key w be abe to extract the message from a cover-
object. The cover-object wth the secrety embedded message s then caed the
Stego-object.
Recoverng message from a stego-object requres the cover-object tset and a
correspondng decodng key f a stego-key was used durng the encodng
process. The orgna mage may or may not be requred n most appcatons to
extract the message.
There are severa sutabe carrers beow to be the cover-object:
Network protocos such as TCP, IP and UDP
Audo that usng dgta audo formats such as wav, md, av, mpeg,
mp and voc
Fe and Dsk that can hdes and append es by usng the sack
space
Text such as nu characters, |ust ake morse code ncudng htm and
|ava
Images e such as bmp, gf and |pg, where they can be both coor
and gray-scae.
In genera, the nformaton hdng process extracts redundant bts from cover-
object. The process conssts of two steps:
Identcaton of redundant bts n a cover-object. Redundant bts are
those bts that can be moded wthout corruptng the quaty or
destroyng the ntegrty of the cover-object.
Embeddng process then seects the subset of the redundant bts to
be repaced wth data from a secret message. The stego-object s
created by repacng the seected redundant bts wth message bts
-.3 Pro'le! 0or!%lation
In recent years, everythng s trendng toward dgtzaton. And wth the
deveopment of the nternet technoogy, dgta meda can be transmtted
convenenty over the network. Therefore, messages can be secrety carred by
dgta meda by usng the steganography technques, and then be transmtted
through the nternet rapdy
Steganography s the art of hdng the fact that communcaton s takng pace,
by hdng nformaton n other nformaton. Many dherent carrer e formats can
be used, but dgta mages are the most popuar because of ther frequency on
the nternet. For hdng secret nformaton n mages, there exsts a arge varety
of steganography technques some are more compex than others and a of
them have respectve strong and weak ponts.
So we prepare ths appcaton, to make the nformaton hdng smper and user
frendy.
3. SYSTEM ANALYSIS & DESIGN
3.1 12isting Syste!
However, we nd that n most exstng approaches, the choce of
embeddng postons wthn a cover mage many depends on a pseudorandom
number generator wthout consderng the reatonshp between the mage
content tsef and the sze of the secret message.
We nd that the exstng PVD-based approaches cannot make fu use of
edge nformaton for data hdng, and they are aso poor at resstng some
statstca anayses.
3.- Proposed Syste!:
We expand the LSB matchng revsted mage steganography and propose
an edge adaptve scheme whch can seect the embeddng regons accordng to
the sze of secret message and the dherence between two consecutve pxes n
the cover mage.
For ower embeddng rates, ony sharper edge regons are used whe
keepng the other smoother regons as they are. When the embeddng rate
ncreases, more edge regons can be reeased adaptvey for data hdng by
ad|ustng |ust a few parameters.
3.3 0easi'ility St%dy
The feasbty of the pro|ect s anayzed n ths phase and busness
proposa s put forth wth a very genera pan for the pro|ect and some cost
estmates. Durng system anayss the feasbty study of the proposed system s
to be carred out. Ths s to ensure that the proposed system s not a burden to
the company. For feasbty anayss, some understandng of the ma|or
requrements for the system s essenta.
Three key consderatons nvoved n the feasbty anayss are
ECONOMICAL FEASIBILITY
TECHNICAL FEASIBILITY
SOCIAL FEASIBILITY
1cono!ical 0easi'ility
Ths study s carred out to check the economc mpact that the system w
have on the organzaton. The amount of fund that the company can pour nto
the research and deveopment of the system s mted. The expendtures must
be |usted. Thus the deveoped system as we wthn the budget and ths was
acheved because most of the technooges used are freey avaabe. Ony the
customzed products had to be purchased.
Technical 0easi'ility
Ths study s carred out to check the technca feasbty, that s, the
technca requrements of the system. Any system deveoped must not have a
hgh demand on the avaabe technca resources. Ths w ead to hgh demands
on the avaabe technca resources. Ths w ead to hgh demands beng paced
on the cent. The deveoped system must have a modest requrement, as ony
mnma or nu changes are requred for mpementng ths system.
Social 0easi'ility
The aspect of study s to check the eve of acceptance of the system by
the user. Ths ncudes the process of tranng the user to use the system
emcenty. The user must not fee threatened by the system, nstead must accept
t as a necessty. The eve of acceptance by the users soey depends on the
methods that are empoyed to educate the user about the system and to make
hm famar wth t. Hs eve of condence must be rased so that he s aso abe
to make some constructve crtcsm, whch s wecomed, as he s the na user of
the system.
4. TESTING & IMPLIMENTATION
4.1 Hardware Specifcatin (!in)
Processor : Pentum IV
RAM : 256 MB
Hard Disk : 80 GB
Montor : 15" Dgta
Ke!"ard : MM kes
Mouse : Optca Mouse
.- Soft/are Specification
O#era$i%& Ss$e' : (i%d")s *+ #r",essi"%a-
Fra'e)"rk : Mi.r"s",$ /is0a- S$0di" .Ne$ 1008
La%&0a&e : /is0a- C2.Ne$

3i!itations of the Soft/are:
Ths pro|ect has an assumpton that s both the sender and recever must
have shared some secret nformaton before mprsonment. Pure steganography
means that there s none pror nformaton shared by two communcaton partes.
.3 0eat%res of .41T
.NET s a "Software Patform". It s a anguage-neutra envronment for
deveopng rch .NET experences and budng appcatons that can easy and
securey operate wthn t. When deveoped appcatons are depoyed, those
appcatons w target .NET and w execute wherever .NET s mpemented
nstead of targetng a partcuar Hardware/OS combnaton. The components that
make up the .NET patform are coectvey caed the .NET Framework.
The .NET Framework s a managed, type-safe envronment for
deveopng and executng appcatons. The .NET Framework manages a
aspects of program executon, ke, aocaton of memory for the storage of
data and nstructons, grantng and denyng permssons to the appcaton,
managng executon of the appcaton and reaocaton of memory for
resources that are not needed.
The .NET Framework s desgned for cross-anguage compatbty. Cross-
anguage compatbty means, an appcaton wrtten n Vsua Basc .NET
may reference a DLL e wrtten n C# (C-Sharp). A Vsua Basc .NET cass
mght be derved from a C# cass or vce versa.
The .NET Framework conssts of two man components:
Common Language Runtme (CLR)
Cass Lbrares
Common Language Runtme (CLR)
The CLR s descrbed as the "executon engne" of .NET. It provdes the
envronment wthn whch the programs run. It's ths CLR that manages the
executon of programs and provdes core servces, such as code
compaton, memory aocaton, thread management, and garbage
coecton. Through the Common Type System (CTS), t enforces strct type
safety, and t ensures that the code s executed n a safe envronment by
enforcng code access securty. The software verson of .NET s actuay the
CLR verson.
Common Language Speccaton (CLS)
If we want the code whch we wrte n a anguage to be used by
programs n other anguages then t shoud adhere to the Common
Language Speccaton (CLS). The CLS descrbes a set of features that
dherent anguages have n common. The CLS denes the mnmum
standards that .NET anguage compers must conform to, and ensures that
any source code comped by a .NET comper can nteroperate wth the
.NET Framework.
Some reasons why deveopers are budng appcatons usng the .NET
Framework:
o Improved Reabty
o Increased Performance
o Deveoper Productvty
o Powerfu Securty
o Integraton wth exstng Systems
o Ease of Depoyment
o Mobty Support
o XML Web servce Support
o Support for over 20 Programmng Languages
o Fexbe Data Access
."#$ Fra!ewr% &d'antages
The .NET Framework ohers a number of advantages to deveopers.
(nsistent )rgra!!ing Mdel
*irect S+pprt ,r Sec+rity
Si!plifed *e'elp!ent #-rts
#asy &pplicatin *eply!ent and Maintenance
+.er.ie/ of C5
C# 3.0 ("C# Orcas") ntroduces severa anguage extensons that bud on
C# 2.0 to support the creaton and use of hgher order, functona stye cass
brares. The extensons enabe constructon of compostona APIs that have
equa expressve power of query anguages n domans such as reatona
databases and XML. The extensons ncude:
Impcty typed oca varabes, whch permt the type of oca varabes to be
nferred from the expressons used to ntaze them.
Extenson methods, whch make t possbe to extend exstng types and
constructed types wth addtona methods.
Lambda expressons, an evouton of anonymous methods that provdes
mproved type nference and conversons to both deegate types and
expresson trees.
Ob|ect ntazers, whch ease constructon and ntazaton of ob|ects.
Anonymous types, whch are tupe types automatcay nferred and created
from ob|ect ntazers.
Impcty typed arrays, a form of array creaton and ntazaton that nfers
the eement type of the array from an array ntazer.
Ouery expressons, whch provde a anguage ntegrated syntax for queres
that s smar to reatona and herarchca query anguages such as SOL and
XOuery.
Expresson trees, whch permt ambda expressons to be represented as data
(expresson trees) nstead of as code (deegates).
Ths document s a technca overvew of those features. The document makes
reference to the C# Language Speccaton 1.2 (1 through 18) and the C#
Language Speccaton 2.0 (19 through 25), both of whch are avaabe on the
C# Language Home Page (http://msdn.mcrosoft.com/vcsharp/anguage).
. Syste! Testing
The purpose of testng s to dscover errors. Testng s the process of tryng
to dscover every concevabe faut or weakness n a work product. It provdes a
way to check the functonaty of components, sub assembes, assembes
and/or a nshed product It s the process of exercsng software wth the ntent
of ensurng that the
Software system meets ts requrements and user expectatons and does
not fa n an unacceptabe manner. There are varous types of test. Each test
type addresses a specc testng requrement.
T6P1S +0 T1STS
7nit testing
Unt testng nvoves the desgn of test cases that vadate that the nterna
program ogc s functonng propery, and that program nputs produce vad
outputs. A decson branches and nterna code ow shoud be vadated. It s
the testng of ndvdua software unts of the appcaton .t s done after the
competon of an ndvdua unt before ntegraton. Ths s a structura testng,
that rees on knowedge of ts constructon and s nvasve. Unt tests perform
basc tests at component eve and test a specc busness process, appcaton,
and/or system conguraton. Unt tests ensure that each unque path of a
busness process performs accuratey to the documented speccatons and
contans ceary dened nputs and expected resuts.
.ntegratin testing
Integraton tests are desgned to test ntegrated software components to
determne f they actuay run as one program. Testng s event drven and s
more concerned wth the basc outcome of screens or eds. Integraton tests
demonstrate that athough the components were ndvduay satsfacton, as
shown by successfuy unt testng, the combnaton of components s correct and
consstent. Integraton testng s speccay amed at exposng the probems
that arse from the combnaton of components.
F+nctinal test
Functona tests provde systematc demonstratons that functons tested
are avaabe as speced by the busness and technca requrements, system
documentaton, and user manuas.
Functona testng s centered on the foowng tems:
Vad Input : dented casses of vad nput must be accepted.
Invad Input : dented casses of nvad nput must be re|ected.
Functons : dented functons must be exercsed.
Output : dented casses of appcaton outputs must be exercsed.
Systems/Procedures: nterfacng systems or procedures must be nvoked.
Organzaton and preparaton of functona tests s focused on
requrements, key functons, or speca test cases. In addton, systematc
coverage pertanng to dentfy Busness process ows; data eds, predened
processes, and successve processes must be consdered for testng. Before
functona testng s compete, addtona tests are dented and the ehectve
vaue of current tests s determned.
Syste! $est
System testng ensures that the entre ntegrated software system meets
requrements. It tests a conguraton to ensure known and predctabe resuts.
An exampe of system testng s the conguraton orented system ntegraton
test. System testng s based on process descrptons and ows, emphaszng
pre-drven process nks and ntegraton ponts.
/0ite 12 $esting
Whte Box Testng s a testng n whch n whch the software tester has
knowedge of the nner workngs, structure and anguage of the software, or at
east ts purpose. It s purpose. It s used to test areas that cannot be reached
from a back box eve.
1lac% 12 $esting
Back Box Testng s testng the software wthout any knowedge of the
nner workngs, structure or anguage of the modue beng tested. Back box
tests, as most other knds of tests, must be wrtten from a dentve source
document, such as speccaton or requrements document, such as speccaton
or requrements document. It s a testng n whch the software under test s
treated, as a back box .you cannot "see" nto t. The test provdes nputs and
responds to outputs wthout consderng how the software works.
3nit $esting4
Unt testng s usuay conducted as part of a combned code and unt test
phase of the software fecyce, athough t s not uncommon for codng and unt
testng to be conducted as two dstnct phases.
$est strategy and apprac0
Fed testng w be performed manuay and functona tests w be wrtten n
deta.
$est 56ecti'es
A ed entres must work propery.
Pages must be actvated from the dented nk.
The entry screen, messages and responses must not be deayed.
Feat+res t 5e tested
Verfy that the entres are of the correct format
No dupcate entres shoud be aowed
A nks shoud take the user to the correct page.
&ntegration Testing
Software ntegraton testng s the ncrementa ntegraton testng of two or
more ntegrated software components on a snge patform to produce faures
caused by nterface defects.
The task of the ntegraton test s to check that components or software
appcatons, e.g. components n a software system or - one step up - software
appcatons at the company eve - nteract wthout error.
Test 8es%lts: A-- $3e $es$ .ases 'e%$i"%ed a!"ve #assed s0..ess,0--. N" de,e.$s e%."0%$ered.
*cceptance Testing
User Acceptance Testng s a crtca phase of any pro|ect and requres
sgncant partcpaton by the end user. It aso ensures that the system meets
the functona requrements.
$est 7es+lts4 A the test cases mentoned above passed successfuy. No
defects encountered.
C5 and Steganography
Steganography system requres any type of mage e and the nformaton
or message that s to be hdden. It has two modues encrypt and decrypt.
Mcrosoft .Net framework prepares a huge amount of too and optons for
programmers that they smpes programmng. One of .Net toos for pctures and
mages s auto-convertng most types of pctures to BMP format. We used ths
too n ths software caed "Steganography" that s wrtten n C#.Net anguage
and you can use ths software to hde your nformaton n any type of pctures
wthout any convertng ts format to BMP (software converts nsde t).
The agorthm used for Encrypton and Decrypton n ths appcaton
provdes usng severa ayers eu of usng ony LSB ayer of mage. Wrtng data
starts from ast ayer (8st or LSB ayer); because sgncant of ths ayer s east
and every upper ayer has doubed sgncant from ts down ayer. So every step
we go to upper ayer mage quaty decreases and mage retouchng transpres.
The encrypt modue s used to hde nformaton nto the mage; no one can
see that nformaton or e. Ths modue requres any type of mage and
message and gves the ony one mage e n destnaton.
The decrypt modue s used to get the hdden nformaton n an mage e.
It take the mage e as an output, and gve two e at destnaton foder, one s
the same mage e and another s the message e that s hdden t that.
Before encryptng e nsde mage we must save name and sze of e n a
dente pace of mage. We coud save e name before e nformaton n LSB
ayer and save e sze and e name sze n most rght-down pxes of mage.
Wrtng ths nformaton s needed to retreve e from encrypted mage n
decrypton state.
The graphca representaton of ths system s as foows:
Stegangrap0y )rcess
Start
&pplicatin
Encrypton
Decrypton
Image e
BMP mage e
Image Message
e

.# 1ncryption Process
.M&8# F.9# ."F:7M&$.:" F.9#


1M) F.9#

.) Decryption Process
1M) F.9#

."F:7M&$.:" F.9# .M&8# F.9#


;. CONCLUSION
Steganography s a reay nterestng sub|ect and outsde of the
manstream cryptography and system admnstraton that most of us dea wth
day after day.
Steganography can be used for hdden communcaton. We have expored
the mts of steganography theory and practce. We prnted out the
enhancement of the mage steganography system usng LSB approach to
provde a means of secure communcaton. A stego-key has been apped to the
system durng embedment of the message nto the cover mage.
Ths steganography appcaton software provded for the purpose to how
to use any type of mage formats to hdng any type of es nsde ther. The
master work of ths appcaton s n supportng any type of pctures wthout need
to convert to btmap, and ower mtaton on e sze to hde, because of usng
maxmum memory space n pctures to hde the e.
Snce ancent tmes, man has found a desre n the abty to communcate
coverty. The recent exposon of research n watermarkng to protect nteectua
property s evdence that steganography s not |ust mted to mtary or
esponage appcatons. Steganography, ke cryptography, w pay an ncreasng
roe n the future of secure communcaton n the "dgta word".
BIBLIOGRAPHY
Websites
Foowng webstes are referrng to create ths pro|ect reports.
http://www.mcrosoft.com
http://www.programmer2programmer.net
http://www.codepro|ect.com
http://www.asp.net
http://www.asp123.com
http://www.wkpeda.org
Books
Foowng books and ebook are used to compete ths pro|ect reports.
Masterng C# (Paperback)
SOL Server Bbe (Paperback)
.NET Back Book (Paperback)
Professona C#, 2nd Edton (Paperback)
Professona ASP.NET (Paperback)
MCAD/MCSD Sef-Paced Tranng Kt: Deveopng Web Appcatons wth Mcrosoft
Vsua Basc .NET and Mcrosoft Vsua C# .NET, Second Edton
MCAD/MCSE/MCDBA Sef-Paced Tranng Kt: Mcrosoft SOL Server 2000 Database
Desgn and Impementaton, Exam 70-229, Second Edton
CODE ANALYSIS
using System;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
namespace Text2Image
{
public partial class FrmSteganograpy ! Form
{
public FrmSteganograpy"#
{
Initiali$e%omponent"#;
&
''public (alues!
string loadedTrueImage)at* loadedFile)at*
sa(eToImage*D+oadImage)at*DSa(eFile)at;
int eigt* widt;
long ,ileSi$e* ,ile-ameSi$e;
Image loadedTrueImage* DecryptedImage *.,ter/ncryption;
0itmap loadedTrue0itmap* Decrypted0itmap;
1ectangle pre(iewImage 2 new 1ectangle"23*453*673*683#;
bool can)aint 2 ,alse* /ncriptionDone 2 ,alse;
byte9: ,ile%ontainer;
pri(ate (oid /nImage0rowse;btn;%lic<"ob=ect sender* /(ent.rgs e#
{
i, "openFileDialog4.SowDialog"# 22 Dialog1esult.O>#
{
loadedTrueImage)at 2 openFileDialog4.File-ame;
/nImage;tbx.Text 2 loadedTrueImage)at;
loadedTrueImage 2 Image.FromFile"loadedTrueImage)at#;
eigt 2 loadedTrueImage.?eigt;
widt 2 loadedTrueImage.Widt;
loadedTrue0itmap 2 new 0itmap"loadedTrueImage#;
FileIn,o imgin, 2 new FileIn,o"loadedTrueImage)at#;
,loat ,s 2 ",loat#imgin,.+engt ' 4326;
ImageSi$e;lbl.Text 2 smalldecimal",s.ToString"#* 2# @ A >0A;
Image?eigt;lbl.Text 2 loadedTrueImage.?eigt.ToString"# @ A
)ixelA;
ImageWidt;lbl.Text 2 loadedTrueImage.Widt.ToString"# @ A
)ixelA;
double cansa(e 2 "B.3 C ""eigt C "widt ' D# C D# ' D E 4## '
4326;
%anSa(e;lbl.Text 2 smalldecimal"cansa(e.ToString"#* 2# @ A >0A;
can)aint 2 true;
tis.In(alidate"#;
&
&
pri(ate string smalldecimal"string inp* int dec#
{
int i;
,or "i 2 inp.+engt E 4; i F 3; iEE#
i, "inp9i: 22 G.G#
brea<;
try
{
return inp.Substring"3* i @ dec @ 4#;
&
catc
{
return inp;
&
&
pri(ate (oid /nFile0rowse;btn;%lic<"ob=ect sender* /(ent.rgs e#
{
i, "openFileDialog2.SowDialog"# 22 Dialog1esult.O>#
{
loadedFile)at 2 openFileDialog2.File-ame;
/nFile;tbx.Text 2 loadedFile)at;
FileIn,o ,in,o 2 new FileIn,o"loadedFile)at#;
,ileSi$e 2 ,in,o.+engt;
,ile-ameSi$e 2 =ustF-ame"loadedFile)at#.+engt;
&
&
pri(ate (oid /ncrypt;btn;%lic<"ob=ect sender* /(ent.rgs e#
{
i, "sa(eFileDialog4.SowDialog"# 22 Dialog1esult.O>#
{
sa(eToImage 2 sa(eFileDialog4.File-ame;
&
else
return;
i, "/nImage;tbx.Text 22 String./mpty HH /nFile;tbx.Text 22
String./mpty#
{
Iessage0ox.Sow"A/ncrypton in,ormation is incompleteJKn)lease
complete tem ,rist.A* A/rrorA* Iessage0ox0uttons.O>* Iessage0oxIcon./rror#;
&
i, "BC""eigt C "widt'D#CD#'D E 4# L ,ileSi$e @ ,ile-ameSi$e#
{
Iessage0ox.Sow"AFile si$e is too largeJKn)lease use a larger
image to ide tis ,ile.A* A/rrorA* Iessage0ox0uttons.O>* Iessage0oxIcon./rror#;
return;
&
,ile%ontainer 2 File.1ead.ll0ytes"loadedFile)at#;
/ncrypt+ayer"#;
&
pri(ate (oid /ncrypt+ayer"#
{
toolStripStatus+abel4.Text 2A/ncrypting... )lease waitA;
.pplication.Do/(ents"#;
long FSi$e 2 ,ileSi$e;
0itmap canged0itmap 2 /ncrypt+ayer"B* loadedTrue0itmap* 3* "eigt C
"widt'D#CD# ' D E ,ile-ameSi$e E 4* true#;
FSi$e E2 "eigt C "widt ' D# C D# ' D E ,ile-ameSi$e E 4;
i,"FSi$e F 3#
{
,or "int i 2 8; i F2 3 MM FSi$e F 3; iEE#
{
canged0itmap 2 /ncrypt+ayer"i* canged0itmap* """B E i# C
eigt C "widt ' D# C D# ' D E ,ile-ameSi$e E "B E i##* """7 E i# C eigt C
"widt ' D# C D# ' D E ,ile-ameSi$e E "7 E i##* ,alse#;
FSi$e E2 "eigt C "widt ' D# C D# ' D E 4;
&
&
canged0itmap.Sa(e"sa(eToImage#;
toolStripStatus+abel4.Text 2 A/ncrypted image as been success,ully
sa(ed.A;
/ncriptionDone 2 true;
.,ter/ncryption 2 Image.FromFile"sa(eToImage#;
tis.In(alidate"#;
&
pri(ate 0itmap /ncrypt+ayer"int layer* 0itmap input0itmap* long
start)osition* long end)osition* bool writeFile-ame#
{
0itmap output0itmap 2 input0itmap;
layerEE;
int i 2 3* = 2 3;
long F-Si$e 2 3;
bool9: t 2 new bool9B:;
bool9: rb 2 new bool9B:;
bool9: gb 2 new bool9B:;
bool9: bb 2 new bool9B:;
%olor pixel 2 new %olor"#;
byte r* g* b;
i, "writeFile-ame#
{
F-Si$e 2 ,ile-ameSi$e;
string ,ile-ame 2 =ustF-ame"loadedFile)at#;
''write ,ile-ame!
,or "i 2 3; i L eigt MM i C "eigt ' D# L ,ile-ameSi$e; i@@#
,or "= 2 3; = L "widt ' D# C D MM i C "eigt ' D# @ "= ' D#
L ,ile-ameSi$e; =@@#
{
byte2bool""byte#,ile-ame9i C "eigt ' D# @ = ' D:* re,
t#;
pixel 2 input0itmap.Net)ixel"=* i#;
r 2 pixel.1;
g 2 pixel.N;
b 2 pixel.0;
byte2bool"r* re, rb#;
byte2bool"g* re, gb#;
byte2bool"b* re, bb#;
i, "= O D 22 3#
{
rb98: 2 t93:;
gb98: 2 t94:;
bb98: 2 t92:;
&
else i, "= O D 22 4#
{
rb98: 2 t9D:;
gb98: 2 t96:;
bb98: 2 t9P:;
&
else
{
rb98: 2 t95:;
gb98: 2 t98:;
&
%olor result 2 %olor.From.rgb""int#bool2byte"rb#*
"int#bool2byte"gb#* "int#bool2byte"bb##;
output0itmap.Set)ixel"=* i* result#;
&
iEE;
&
''write ,ile "a,ter ,ile name#!
int temp= 2 =;
,or "; i L eigt MM i C "eigt ' D# L end)osition E start)osition @
F-Si$e MM start)osition @ i C "eigt ' D# L ,ileSi$e @ F-Si$e; i@@#
,or "= 2 3; = L "widt ' D# C D MM i C "eigt ' D# @ "= ' D# L
end)osition E start)osition @ F-Si$e MM start)osition @ i C "eigt ' D# @ "= '
D# L ,ileSi$e @ F-Si$e; =@@#
{
i, "temp= J2 3#
{
= 2 temp=;
temp= 2 3;
&
byte2bool""byte#,ile%ontainer9start)osition @ i C "eigt '
D# @ = ' D E F-Si$e:* re, t#;
pixel 2 input0itmap.Net)ixel"=* i#;
r 2 pixel.1;
g 2 pixel.N;
b 2 pixel.0;
byte2bool"r* re, rb#;
byte2bool"g* re, gb#;
byte2bool"b* re, bb#;
i, "= O D 22 3#
{
rb9layer: 2 t93:;
gb9layer: 2 t94:;
bb9layer: 2 t92:;
&
else i, "= O D 22 4#
{
rb9layer: 2 t9D:;
gb9layer: 2 t96:;
bb9layer: 2 t9P:;
&
else
{
rb9layer: 2 t95:;
gb9layer: 2 t98:;
&
%olor result 2 %olor.From.rgb""int#bool2byte"rb#*
"int#bool2byte"gb#* "int#bool2byte"bb##;
output0itmap.Set)ixel"=* i* result#;
&
long tempFS 2 ,ileSi$e* tempF-S 2 ,ile-ameSi$e;
r 2 "byte#"tempFS O 433#;
tempFS '2 433;
g 2 "byte#"tempFS O 433#;
tempFS '2 433;
b 2 "byte#"tempFS O 433#;
%olor ,len%olor 2 %olor.From.rgb"r*g*b#;
output0itmap.Set)ixel"widt E 4* eigt E 4* ,len%olor#;
r 2 "byte#"tempF-S O 433#;
tempF-S '2 433;
g 2 "byte#"tempF-S O 433#;
tempF-S '2 433;
b 2 "byte#"tempF-S O 433#;
%olor ,nlen%olor 2 %olor.From.rgb"r*g*b#;
output0itmap.Set)ixel"widt E 2* eigt E 4* ,nlen%olor#;
return output0itmap;
&
pri(ate (oid Decrypt+ayer"#
{
toolStripStatus+abel4.Text 2 ADecrypting... )lease waitA;
.pplication.Do/(ents"#;
int i* = 2 3;
bool9: t 2 new bool9B:;
bool9: rb 2 new bool9B:;
bool9: gb 2 new bool9B:;
bool9: bb 2 new bool9B:;
%olor pixel 2 new %olor"#;
byte r* g* b;
pixel 2 Decrypted0itmap.Net)ixel"widt E 4* eigt E 4#;
long ,Si$e 2 pixel.1 @ pixel.N C 433 @ pixel.0 C 43333;
pixel 2 Decrypted0itmap.Net)ixel"widt E 2* eigt E 4#;
long ,-ameSi$e 2 pixel.1 @ pixel.N C 433 @ pixel.0 C 43333;
byte9: res 2 new byte9,Si$e:;
string resF-ame 2 AA;
byte temp;
''1ead ,ile name!
,or "i 2 3; i L eigt MM i C "eigt ' D# L ,-ameSi$e; i@@#
,or "= 2 3; = L "widt ' D# C D MM i C "eigt ' D# @ "= ' D# L
,-ameSi$e; =@@#
{
pixel 2 Decrypted0itmap.Net)ixel"=* i#;
r 2 pixel.1;
g 2 pixel.N;
b 2 pixel.0;
byte2bool"r* re, rb#;
byte2bool"g* re, gb#;
byte2bool"b* re, bb#;
i, "= O D 22 3#
{
t93: 2 rb98:;
t94: 2 gb98:;
t92: 2 bb98:;
&
else i, "= O D 22 4#
{
t9D: 2 rb98:;
t96: 2 gb98:;
t9P: 2 bb98:;
&
else
{
t95: 2 rb98:;
t98: 2 gb98:;
temp 2 bool2byte"t#;
resF-ame @2 "car#temp;
&
&
''1ead ,ile on layer B "a,ter ,ile name#!
int temp= 2 =;
iEE;
,or "; i L eigt MM i C "eigt ' D# L ,Si$e @ ,-ameSi$e; i@@#
,or "= 2 3; = L "widt ' D# C D MM i C "eigt ' D# @ "= ' D# L
"eigt C "widt ' D# C D# ' D E 4 MM i C "eigt ' D# @ "= ' D# L ,Si$e @
,-ameSi$e; =@@#
{
i, "temp= J2 3#
{
= 2 temp=;
temp= 2 3;
&
pixel 2 Decrypted0itmap.Net)ixel"=* i#;
r 2 pixel.1;
g 2 pixel.N;
b 2 pixel.0;
byte2bool"r* re, rb#;
byte2bool"g* re, gb#;
byte2bool"b* re, bb#;
i, "= O D 22 3#
{
t93: 2 rb98:;
t94: 2 gb98:;
t92: 2 bb98:;
&
else i, "= O D 22 4#
{
t9D: 2 rb98:;
t96: 2 gb98:;
t9P: 2 bb98:;
&
else
{
t95: 2 rb98:;
t98: 2 gb98:;
temp 2 bool2byte"t#;
res9i C "eigt ' D# @ = ' D E ,-ameSi$e: 2 temp;
&
&
''1ead ,ile on oter layers!
long readedOn+B 2 "eigt C "widt'D#CD# 'D E ,-ameSi$e E 4;
,or "int layer 2 5; layer F2 3 MM readedOn+B @ "5 E layer# C ""eigt
C "widt ' D# C D# ' D E 4# L ,Si$e; layerEE#
,or "i 2 3; i L eigt MM i C "eigt ' D# @ readedOn+B @ "5 E
layer# C ""eigt C "widt ' D# C D# ' D E 4# L ,Si$e; i@@#
,or "= 2 3; = L "widt ' D# C D MM i C "eigt ' D# @ "= ' D#
@ readedOn+B @ "5 E layer# C ""eigt C "widt ' D# C D# ' D E 4# L ,Si$e; =@@#
{
pixel 2 Decrypted0itmap.Net)ixel"=* i#;
r 2 pixel.1;
g 2 pixel.N;
b 2 pixel.0;
byte2bool"r* re, rb#;
byte2bool"g* re, gb#;
byte2bool"b* re, bb#;
i, "= O D 22 3#
{
t93: 2 rb9layer:;
t94: 2 gb9layer:;
t92: 2 bb9layer:;
&
else i, "= O D 22 4#
{
t9D: 2 rb9layer:;
t96: 2 gb9layer:;
t9P: 2 bb9layer:;
&
else
{
t95: 2 rb9layer:;
t98: 2 gb9layer:;
temp 2 bool2byte"t#;
res9i C "eigt ' D# @ = ' D @ "5 E layer# C ""eigt
C "widt ' D# C D# ' D E 4# @ readedOn+B: 2 temp;
&
&
i, "File./xists"DSa(eFile)at @ AKKA @ resF-ame##
{
Iessage0ox.Sow"AFile KAA @ resF-ame @ AKA already exist please
coose anoter pat to sa(e ,ileA*
A/rrorA*Iessage0ox0uttons.O>*Iessage0oxIcon./rror#;
return;
&
else
File.Write.ll0ytes"DSa(eFile)at @ AKKA @ resF-ame* res#;
toolStripStatus+abel4.Text 2 ADecrypted ,ile as been success,ully
sa(ed.A;
.pplication.Do/(ents"#;
&
pri(ate (oid byte2bool"byte inp* re, bool9: outp#
{
i,"inpF23 MM inpL22PP#
,or "sort i 2 8; i F2 3; iEE#
{
i, "inp O 2 22 4#
outp9i: 2 true;
else
outp9i: 2 ,alse;
inp '2 2;
&
else
trow new /xception"AInput number is illegal.A#;
&
pri(ate byte bool2byte"bool9: inp#
{
byte outp 2 3;
,or "sort i 2 8; i F2 3; iEE#
{
i, "inp9i:#
outp @2 "byte#Iat.)ow"2.3* "double#"8Ei##;
&
return outp;
&
pri(ate (oid Decrypt;btn;%lic<"ob=ect sender* /(ent.rgs e#
{
i, "DeSa(eFile;tbx.Text 22 String./mpty HH De+oadImage;tbx.Text 22
String./mpty#
{
Iessage0ox.Sow"AText boxes must not be emptyJA* A/rrorA*
Iessage0ox0uttons.O>* Iessage0oxIcon./rror#;

return;
&
i, "System.IO.File./xists"De+oadImage;tbx.Text# 22 ,alse#
{
Iessage0ox.Sow"ASelect image ,ile.A* A/rrorA*
Iessage0ox0uttons.O>* Iessage0oxIcon./xclamation#;
De+oadImage;tbx.Focus"#;
return;
&
Decrypt+ayer"#;
&
pri(ate (oid De+oadImage0rowse;btn;%lic<"ob=ect sender* /(ent.rgs e#
{
i, "openFileDialogD.SowDialog"# 22 Dialog1esult.O>#
{
D+oadImage)at 2 openFileDialogD.File-ame;
De+oadImage;tbx.Text 2 D+oadImage)at;
DecryptedImage 2 Image.FromFile"D+oadImage)at#;
eigt 2 DecryptedImage.?eigt;
widt 2 DecryptedImage.Widt;
Decrypted0itmap 2 new 0itmap"DecryptedImage#;
FileIn,o imgin, 2 new FileIn,o"D+oadImage)at#;
,loat ,s 2 ",loat#imgin,.+engt ' 4326;
ImageSi$e;lbl.Text 2 smalldecimal",s.ToString"#* 2# @ A >0A;
Image?eigt;lbl.Text 2 DecryptedImage.?eigt.ToString"# @ A
)ixelA;
ImageWidt;lbl.Text 2 DecryptedImage.Widt.ToString"# @ A )ixelA;
double cansa(e 2 "B.3 C ""eigt C "widt ' D# C D# ' D E 4## '
4326;
%anSa(e;lbl.Text 2 smalldecimal"cansa(e.ToString"#* 2# @ A >0A;
can)aint 2 true;
tis.In(alidate"#;
&
&
pri(ate (oid DeSa(eFile0rowse;btn;%lic<"ob=ect sender* /(ent.rgs e#
{
i, ",older0rowserDialog4.SowDialog"# 22 Dialog1esult.O>#
{
DSa(eFile)at 2 ,older0rowserDialog4.Selected)at;
DeSa(eFile;tbx.Text 2 DSa(eFile)at;
&
&
pri(ate (oid Form4;)aint"ob=ect sender* )aint/(ent.rgs e#
{
i,"can)aint#
try
{
i, "J/ncriptionDone#
e.Nrapics.DrawImage"loadedTrueImage* pre(iewImage#;
else
e.Nrapics.DrawImage".,ter/ncryption* pre(iewImage#;
&
catc
{
e.Nrapics.DrawImage"DecryptedImage* pre(iewImage#;
&
&
pri(ate string =ustF-ame"string pat#
{
string output;
int i;
i, "pat.+engt 22 D# '' i.e! A%!KKA
return pat.Substring"3* 4#;
,or "i 2 pat.+engt E 4; i F 3; iEE#
i, "pat9i: 22 GKKG#
brea<;
output 2 pat.Substring"i @ 4#;
return output;
&
pri(ate string =ust/x"string ,-ame#
{
string output;
int i;
,or "i 2 ,-ame.+engt E 4; i F 3; iEE#
i, ",-ame9i: 22 G.G#
brea<;
output 2 ,-ame.Substring"i @ 4#;
return output;
&
pri(ate (oid %lose;btn;%lic<"ob=ect sender* /(ent.rgs e#
{
tis.%lose"#;
&
pri(ate (oid lin<+abel4;+in<%lic<ed"ob=ect sender*
+in<+abel+in<%lic<ed/(ent.rgs e#
{
System.Diagnostics.)rocess.Start"Attp!KKKKwww.programmer2programmer.
netA#;
&
&
&
USER MANUAL
Ths s the rst screen whch has two tab optons - one s Encrypt
Image for encrypton and another s Decrypt mage for decrypton. In rght
- top pane s dspays the nformaton about the mage such as sze,
heght and wdth.
#"(7<)$.:"
1. For Encrypton seect Encrypt Image tab opton.
2. For oad mage cck on button "Browse" that s next to the Load Image
textbox. The e open daog box w dspays as foows, seect the Image
e, whch you want to use hde nformaton and cck on Open button.
1. The mage e w opened and s dspays as foows. Next, cck on
"Browse" button that s next to the Load Fe textbox.
2. Agan the e open daog box w appear, seect any type of e
whatever you want to hde wth the mage and cck on ok button.
3. The next step s to encrypt the e. Now cck on "Encrypt" button, t
w open the save daog box whch ask you to seect the path to
save the New mage e and the Image e name. The defaut format
of mage e s BMP.
4. The next step s the password process. Before savng the encrypton
Process enter the password n the nput box.

*#(7<)$.:"
1. Seect the Decrypton Image tab opton.
2. Next cck on the "Browse" button, whch open the Open e daog box,
here you have to seect the mage whch s Encrypted and has hdden
nformaton e. Seect the mage e and cck on Open button.
3. The mage e dspayed as foows:
4. Now cck on "Browse" button whch s next to "Save e to" textbox. It w
open a daog box that s "Browse for foder". It ask you to seect the path
or foder, where you want to extract the hdden e. Seect the foder and
cck on Ok button.

5. Now cck on Decrypt button, t w decrypt the mage, the hdden e and
mage e s saved nto seected foder. The message for successfu
decrypton s dspayed on the status bar whch s paces at bottom of the
screen.

You might also like