Вы находитесь на странице: 1из 55

MAJOR PROJECT PRESENTATION

TOPIC STEGANOGRAPHY

PROJECT GUIDE

MR. RAJIV ARORA


TEAM MEMBERS-

ABHILASHA JAIN(108/IT/05)
GAURAV TOLANI (129/IT/05)
SURUCHI SHARMA(122/IT/05)
YOGITA(064/IT/05)
WHAT IS STEGANOGRAPHY?

Art and Science of hiding communication

A steganographic system embeds hidden content in
unremarkable cover media

A steganographic system consists of :
Identifying covers medium redundant bits
Embedding process which creates a stego medium by
replacing the redundant bits with hidden message data

OVERVIEW OF STEGANOGRAPHY
To send a hidden message, for example,
1. Alice creates a new image with digital camera
2. Alice supplies the steganographic system with her shared secret and message
3. The steganographic systems uses the shared secret to determine how the hidden message
should be encoded in the redundant bits
4. The result is the stego image that Alice sends to Bob
5. When Bob receives the image, he uses the shared secret and the agreed steganographic
system to retrieve the hidden message
COMPUTER STEGANOGRAPHY: TWO PRINCIPLES

Digitized images or sound can be altered without
losing their functionality

Human inability to distinguish minor changes in
image color or sound quality

OUR PREVIOUS RESEARCH
Minor Project-

-Thorough study of concepts and various
techniques involved with Steganography.

-Study of various concepts of
LSB embedding,
Masking and Filtering,
Discrete Cosine Transform,
Bit Plane Methods,
Palette based techniques n much more

OUR STEP MAJOR PROJECT


For our major project, our team decided to work upon the
transformational domain to implement a steganography algorithm
of DCT (Discrete Cosine Transform) method.

The discrete cosine transform (DCT) helps separate the image into
parts (or spectral sub-bands) of differing importance (with respect
to the image's visual quality).

The DCT is similar to the discrete Fourier transform: it transforms
a signal or image from the spatial domain to the frequency domain.
DISCRETE COSINE TRANSFORM
The forward equation, for image A, is
|
.
|

\
|
+
|
.
|

\
|
+
=

=
N
y v
N
x u
y x a v C u C
N
v u b
N
x
N
y
2
) 1 2 (
cos
2
) 1 2 (
cos ) , ( ) ( ) (
2
) , (
1
0
1
0
t t
|
.
|

\
|
+
|
.
|

\
|
+
=

=
N
y v
N
x u
v u b v C u C
N
y x a
N
u
N
v
2
) 1 2 (
cos
2
) 1 2 (
cos ) , ( ) ( ) (
2
) , (
1
0
1
0
t t
The inverse equation, for image B, is
Here

=
=
otherwise
u if
u C
0
1
) (
2
1
WHY WE CHOSE JPEG AND DCT ??
JPEG uses DCT to compress an image

Many different approaches to use DCT to hide
information

Message is embedded in signal, not noise

Studies on visual distortions conducted by source coding
community can be used to predict the visible impact of
the hidden data in the cover image

Can be implemented in compressed domain, saving time
Discrete Cosine Transform
Basic idea:

1. Convert image to YIQ color space

2. Each color plane is partitioned into 8x8 blocks

3. Apply DCT to each block

4. Values are quantized by dividing with preset
quantization values (in a table)

5. Values are then rounded to nearest integer
STEGANOGRAPHY TECHNIQUE:
DISCRETE COSINE TRANSFORM
peppers.bmp 8x8 DCT
Block
The DC coefficient receives the data to be hidden.
IMPORTANT POINTS REGARDING DCT
i. For most images, much of the signal energy lies at low
frequencies; these appear in the upper left corner of
the DCT.

ii. Compression is achieved since the lower right values
represent higher frequencies, and are often small -
small enough to be neglected with little visible
distortion.

iii. it turns out that cosine functions are much more
efficient (fewer are needed to approximate a typical
signal), whereas for differential equations the cosines
express a particular choice of boundary conditions
12
JPEG COMPRESSION INTERFACE
DCT QUANTIZER
QUANTIZER
TABLE
ENTROPY
ENCODER
COMPRESSED
IMAGE
8 X 8
BLOCK
16 11 10 16 24 40 51 61
12 12 14 19 26 58 60 55
14 13 16 24 40 57 69 56
14 17 22 29 51 87 80 62
18 22 37 56 68 109 103 77
24 35 55 64 81 104 113 92
49 64 78 87 103 121 120 101
72 92 95 98 112 100 103 99
(0,0)
13
ONE APPROACH USING DCT
The sender and receiver agree ahead of time on
location for two DCT coefficients in the 8 x 8 block
Middle frequencies with same quantization value:
Location 1 is (4,1) & Location 2 is (3,2)
16 11 10 16 24 40 51 61
12 12 14 19 26 58 60 55
14 13 16 24 40 57 69 56
14 17 22 29 51 87 80 62
18 22 37 56 68 109 103 77
24 35 55 64 81 104 113 92
49 64 78 87 103 121 120 101
72 92 95 98 112 100 103 99
OUR APPROACH-THE MODEL BASED
STEGANOGRAPHY

In model based steganography technique we use the concept of
DCT compression and steganography parallaely.

In this method we first try to model our cover image the best we
can and then use this model to embed our message.

This approach will hopefully shift the emphasis which has up to
now been placed on embedding methods towards methods based
on statistical models.

That is, we can start asking how to best model our cover data
rather than trying to anticipate specific attacks or invent clever
ways to flip least significant bits.
Measurements of Interest

Capacity:
<message size> / <steganogram size>

Embedding Efficiency:
<message size> / <# changes to cover>
Some Steganography Methods
Method Coefficient Histogram
Maximum
Capacity
Embedding
efficiency
JSteg 13% 2
F5 13% 1.5
Outguess 6.5% 1
Model-based Steganography

Cover x is an instance of a random variable X
distributed according to model: P
X


x = ( x
o
, x
|
)

Choose x
0
= (x
o
, x
0
|
) to encode a message M
while maintaining model statistics P
X

Model-Based Steganography: Encoding
Model-Based Steganography: Decoding
Capacity

Maximum capacity = entropy of P
X
|
|X
o
:



Entropy codec designed to achieve the entropy limit
Model
-10 -5 0 5 10
0
0.1
u
P
(
u
)
u = coefficient value
p>1, s>0 are fit to each coefficient type
Model CDF

Cumulative density function easy to calculate:


Used to integrate density function for a given

histogram bin
Fitting the Model Parameters


Parameters p, s fit by maximum likelihood:



where h is a coefficient histogram
Model Fit to Histogram
-30 -20 -10 0 10 20 30
10
-4
10
-3
10
-2
10
-1
10
0
quantized coefficient value
l
o
g

p
r
o
b
a
b
i
l
i
t
y
hist
model
x
o
Embedding
x
o
x
|
e{0,1}
step size = 2
x
o
= bin group
x
|
= offset (like LSB)


step size = 3
x
o
is lower precision
3 offsets per group
x
|
e{0,1,2}
Embedding Efficiency
Embedding rate =



where p = P(x
|
= 0 | x
o
)

Change rate =

Efficiency =

OUTLINE OF ENCODING ALGORITHM
Given a cover image in JPEG format, and an encrypted message, generate low precision
(bin size > 1) histograms of coefficient values. This information comprises x

.

Fit the p and s parameters of our parametric model to each histogram by maximum
likelihood.

Assign symbols to represent the offset of each coefficient within its respective histogram
bin. These symbols comprise x

.Compute the probability of each possible symbol for


each coefficient using the model cdf.

Choose a pseudo-random permutation to determine the ordering of the coefficients.

Pass the message, and the symbol probabilities computed in step 3 in the order specified
by step 4 to a non-adaptive arithmetic decoder in order to obtain symbols specifying the
new bin offsets for each coefficient. The resulting symbols comprise x

.

Compute the new coefficients from the histogram bin indices (x
a
) of the symbol offsets
(x
'
).

OUTLINE OF DECODING ALGORITHM
Same as embedding algorithm steps 1-4.

Pass the symbols and symbol frequencies obtained in steps
1-4 to the non-adaptive arithmetic encoder to obtain the
original message.

Future Possibilities

Use extra capacity to correct additional statistics:
blockiness, wavelet statistics

Improve model:
Dependencies between coefficients
Embed in wavelet domain

JPEG2000, MP3, MPEG,

OVERALL SYSTEM
OVERVIEW
USE CASE
DIAGRAM
USE CASE DIAGRAM
Select The Image To Be Used As
Cover Image
Create The Secret Message To Be
Embedded
Encode The Message Using
Symbol Frequencies
Arithmetic Decoding
Encoder
Verifying Original And Stego Image
Calculate The DCT Of The Image
Computing Symbol Frequencies
Decode The Message
Decoder
Arithmetic Encoding
SEQUENCE
DIAGRAMS
SEQUENCE DIAGRAM FOR ENCODING
Window:User
Interface
Stegtest:Main
Function
Jpeg Encoder Get Symbol
Frequencies
Steg Encoder Arithmetic
Decoder
Show Image
1.LoadImageAndMessage
AndCallStegtest():image,
message
2.CalculateDctOfImage():void
3.ShowOriginalImage():void
4.CallsJpegEncoder():
OriginalImage,Message
5.EmbedsMessageIntoJpg
CofficientsInJpegObject():
message,image
8..EmbedMessageBy
SelectingNewSymbolValues():
Symbol,Frequencies,Message
9.AllowsFrequenciesToBe
PassedForEachSymbol():
Symbols,MessageBits
6.ModelCofficientHistogra
msAndComputeFrequenci
esRepresentingCoeffValue
s():Symbol Frequencies
7.CallsStegEncoder():symbol,Frequencies,
Message
10.ReturnsEncodedMessage():void
11.ReturnsStegoIma
geWithEncodedMes
sage():void
12.ReadStegoImageAndCallShowImage():void
13.DisplayStegoImageWithEmbeddedMessage():void
SEQUENCE DIAGRAM FOR DECODING
Stegtest:Main
Function
Jpeg Decoder Get Symbol
Frequencies
Steg Decoder Arithmetic
Encoder
Window:User
Interface
1.DecodesTheMessage
AndVerifyThatItMatches
WithTheOriginal():void
2.DecodesMessageFrom
JpegCoeffStoredInJpeg
Image():void
3.ModelCoeffHistogramsAnd
ComputeFrequenciesRepres
entingCoeffValues():symbol,
Frequencies
4.CallsStegDecoderToDecodeTheMessage():void
7.ReturnsTheDecodedMessage():void
5.DecodeTheMessageTha
tIsEmbeddedByStegEnco
der():Symbol,Frequencies
6.AllowsFrequenciesToB
ePassedForEachSymbol
():Symbols,Frequencies
8.ReturnsTheDecoded
MessageEmbeddedInto
StegoImage():void
9.VerifyThatMessageHasBeenDecodedSuccessfullyElsePrintErrorMessage():void
ACTIVITY
DIAGRAMS
ACTIVITY DIAGRAM
FOR ENCODING
Select Image
Create The Message
To Be Embedded
Find DCT Of
The Image
Model Coefficient Histogram
And Compute Frequencies
Encode The Message By
Selecting New Symbol Values
Pass Frequencies For
Each Symbol
Convert NX1 Array Of Bits Into NX1 Output
Array Of Symbols Ranging From 1...S
Embed The Message Into The Cover Image
Using The Selected Coefficients
ACTIVITY DIAGRAM
FOR DECODING
Read And Calculate The DCT
Of The Received Image
Model Coefficient Histograms
And Compute Frequencies
Decode The Message By Evaluating The
Modified Frequecies
Pass Frequencies For
Each Symbol
Convert NX1 Output Array Of Symbols
Ranging From 1...S Into NX1 Araay Of Bits
Decode The Message Using
Modified Bits Of Coefficients
SCREENSHOTS
REFERENCES
Anderson, R.J., Petitcolas, F.A.P.: On the Limits of
Steganography. IEEE Journal of Selected Areas in
Communications: Special Issue on Copyright and Privacy
Protection), 16(4) (1998) 474-481

Buccigrossi, R.W., Simoncelli, E.P.: Progressive Wavelet
Image Coding Based on a Conditional Probability Model
Proceedings ICASSP-97, Munich Germany (1997)

Cachin, C.: An Information-Theoretic Model for
Steganography Proceedings of 2
nd
Workshop on Information
Hiding, LNCS, Springer (1998)

Cover, T., Thomas, J.: Elements of Information Theory.
Wiley, New York, (1991)
Any
Questions

Вам также может понравиться