Sundar Ganesh C S

snottybugbearΛογισμικό & κατασκευή λογ/κού

3 Νοε 2013 (πριν από 4 χρόνια και 1 μήνα)

224 εμφανίσεις

International Journal of Applied Research and Studies (iJARS)

ISSN: 2278
-
9480 Volume 2, Issue 9 (Sep
-

2013)

www.ijars.in



Manuscript Id: iJARS/
643



1


Review Paper



Image Steganography using Java Swing Templates




Authors:


Sundar Ganesh C S
*




Address For correspondence:


1

Assistant Professor, Robotics and Automation, PSG College of Technology, Coimbatore, India




Abstract


Multimedia data hiding techniques have
d
eveloped a strong basis for steganography area with a
growing number of applications like digital rights
management, covert communications, hiding executables for
access control, annotation etc. The advantage of
steganography over cryptography alone is tha
t messages do
not attract attention to themselves, to messengers, or to
recipients. An unhidden coded message, no matter how
unbreakable it is, will arouse suspicion and may in itself be
incriminating, as in some countries encryption is illegal.


Keywords
-
image

steganography;
AWT Components
;
Stegoanalysis
; cryptography; java swing templates
.


I.

I
NTRODUCTION

Communication by embedding a message or data file in a
cover medium has been increasingly gaining importance in the
all
-
encompassing field of information

technology. Audio
steganography is concerned with embedding information in an
innocuous cover speech in a secure and robust manner.
Communication and transmission security and robustness are
essential for transmitting vital information to intended sources

while denying access to unauthorized persons. By hiding the
information using a cover or host audio as a wrapper, the
existence of the information is concealed during transmission.


A.

Steganography

The term Steganography refers to the art of covert
communications. By implementing steganography, it is
possible for two parties to communicate in such a way that no
one else will know that the message exists
[1]
. Typically, the
message is embedded within another object known as a cover
Work, by tweaking it
s properties. The resulting output, known
as a stegogramme is engineered such that it is a near identical
perceptual model of the cover Work, but it will also contain
the hidden message. It is this stegogramme that is sent
between the two parties. If anybo
dy intercepts the
communication, they will obtain the stegogramme, but as it is
so similar to the cover, it is a difficult task for them to tell that
the stegogramme is anything but innocent. It is therefore the
duty of steganography to ensure that the adv
ersary regards the
stegogramme
-

and thus, the communication
-

as innocuous.


In modern days, steganography is usually
implemented computationally, where cover works such as text
files, images, audio files, and video files are tweaked in such a
way that a
secret message can be embedded within them

[5]
.

Steganography also has its applications in preventing
the duplication of products, by embedding some secret text
inside the company logo of original product.

II.

J
AVA
P
ROGRAM
C
OMPONENTS

The Swing package is part
of Java Foundation
Classes (JFC) in the Java platform. The JFC encompasses a
group of features to help people build
Graphical user Interface

(
GUI
)
; Swing provides all the components from buttons to
split panes and tables
[2]
.



The Swing package was first a
vailable as an add
-
on
to J
ava Development Kit (J
DK
).

Prior to the introduction of
the Swing package, the Abstract Window Toolkit (AWT)
components provided all the UI components in the JDK1.0
and 1.1 platforms. Although the Java2 Platform still supports
the

AWT components, we strongly encourage using Swing
components instead. The AWT button class, for example, is
named Button, whereas the Swing button class is named
JButton. In addition, the AWT components are in the java.awt
package, whereas the swing compo
nents are in the
javax.swing package.


As a rule, programs should not use “heavyweight”
AWT components alongside Swing components. Heavyweight
components include all the ready
-
to
-
use AWT components,
such as Menu and Scroll

Pane, and all components that inh
erit
from the AWT canvas and Panel classes. When Swing
components (and all other “lightweight” components) overlap
with heavyweight components, the heavyweight component is
always painted on top.


css@eee.psgtech.ac.in

*Corresponding Author Email
-
Id

International Journal of Applied Research and Studies (iJARS)

ISSN: 2278
-
9480 Volume 2, Issue 9 (Sep
-

2013)

www.ijars.in



Manuscript Id: iJARS/
643



2


A.

Swing components

JScrollPane

provides

a scrollable view of a lightweight
component. It is used to display a child component with a built
-
in scrolling facility. The scrolling of a child component, when
its size is larger than the available view port, is performed in
horizontal or vertical dire
ctions by using the scrollbars
associated with the scroll pane
[3]
. Scroll panes are very easy to
implement because the adjustment events fired by the
scrollbars are already taken care of by the scrollpane object. A
Swing scroll pane is an object of type JS
crollPane that extends
from the class JComponent.

Jbutton is

represented by the objects of class JButton, and
each button is basically an implementation of a push
-
type
button. Unlike AWT buttons, Swing buttons can be displayed
with text labels as well as i
cons. We can also set different icon
for different states of the buttons by using supporting methods
.

An extended version of java.awt.Frame that adds
support for the JFC/Swing components architecture. The
JFrame class is slightly incompatible with Frame. L
ike all
other JFC/Swing top
-
level containers, a JFrame contains a
JRootPane as its only child. The content pane provided by the
root pane should contain all the non
-
menu components
displayed by the JFrame.

The swing text field can be used to display or edi
t a
single line of plain text. The component appears similar to the
AWT text field; however, the Swing text field is a lightweight
component. A text
-
field object is created by using the class
JTextField, which is a direct subclass of JTextComponent.
Thus,
the functionality of JTextField spreads into
JTextComponent and JComponent. JTextField objects can fire
the action and mouse events that can be captured by a
registered listener
.


III.

E
MBEDDING AND EXTRACT
ION OF IMAGE

German researchers Pfitzmann and Westfeld
introduced the F5 steganographic algorithm in 2001. The goal
of their research was to develop concepts and a practical
embedding method for JPEG images that would provide high
steganographic capacity without sacrificing security. Guided
by their χ2 attack,

they challenged the paradigm of replacing
bits of information in the cover
-
image with the secret message
while proposing a different paradigm of incrementing image
components to embed message bits. Instead of replacing the
LSBs of quantized DCT coefficien
ts with the message bits, the
absolute value of the coefficient is decreased by one. The
authors argue that this type of embedding cannot be detected
using their χ2 statistical attack.

The F5 algorithm embeds message bits into randomly
chosen DCT coeffici
ents and employs matrix embedding that
minimizes the necessary number of changes to embed a
message of certain length. According to the description of the
F5 algorithm, version 11, the program accepts five inputs:

a)
Quality factor of the steno
-
image
Q

b)

I
nput

file (TIFF,
BMP, JPEG, or GIF)c)
Output file name
d d)

Fil
e containing
the secret message e)

User passwor
d to be used as a seed for
PRNG f)

Comment to be inserted in the header.

In the embedding process, the message length and the
number of non
-
zero no
n
-
DC coefficients are used to determine
the best matrix embedding that minimizes the number of
modifications of the cover
-
image. Matrix embedding has three
parameters (
c
,
n
,
k
), where
c
is the number of changes per
group of
n
coefficients, and
k
is the num
ber of embedded bits.

The embedding process starts with deriving a seed for
a PRNG from the user password and generating a random
walk through the DCT coefficients of the cover image. The
PRNG is also used to encrypt the value
k
using a stream cipher
and embed it in a regular manner together with the message
length in the beginning of the Message stream. The body of
the message is embedded using matrix embedding, inserting
k
message bits into one group of 2
k

1 coefficients by
decr
ementing the Absolute value of at most one coefficient
from each group by one.


IV.

R
ESULTS

The java programming swing components are used to
embed

an image into another image.

Fig.1 shows the original image
and the embedded image.





F
IG
.1

ORIGINAL AND EMBEEDE
D IMAGE


After giving the extracting the image by suitable password,

the target image can be obtained.

Fig.2 shows the targeted
image.


International Journal of Applied Research and Studies (iJARS)

ISSN: 2278
-
9480 Volume 2, Issue 9 (Sep
-

2013)

www.ijars.in



Manuscript Id: iJARS/
643



3



F
IG
.2

T
ARGETED IMAGE

V.

C
ONCLUSION


Steganography is not intended to replace
cryptography but rather

to supplement it. If a message is
encrypted and hidden with a steganographic method it
provides an additional layer of protection and reduces the
chance of the hidden message being detected.


With continuous advancements in technology it is
expected that
in the near future more efficient and advanced
techniques in steg
o
analysis will emerge that will help law
enforcement to better detect illicit materials transmitted
through the Internet.


Steganography goes well beyond simply hiding text
information in an
image. Steganography applies not only to
digital images but to other media as well, such as audio files,
communication channels, and other text and binary files.

R
EFERENCES

[1] N. Johnson and S. Jajodia. "Exploring Ste
ganography: Seeing the
Unseen",
IEEE Co
mputer, vol. 31, no. 2, pp. 26
-
34, 1998.

[2] Patrick Naughton, Herbert Schildt, “Java™ 2: The Complete Reference”,
Seventh Edition, Tata McGraw
-
Hill Publishing Company Limited, 2010, New
Delhi.

[3] Mark Grand and Jonathan Knudsen, “Java Fundamental Classes

Reference”, Tata McGraw
-
Hill Publishing Company Limited, 1st Edition,
May 1997, CA, USA.

[4] R. Gonzales, R.Woods, and S. Eddins. "Digital Image Processing",
Publishing House of Electronics Industry, ISBN: 7
-
5053
-
9876
-
8, 2004.

[5]

Bailey K. and Curran
K., “An Evaluation of Image Based Steganography
Methods Using Visual Inspection and Automated Detection

Techniques,”


Multimedia Tools and Applications,vol. 31, no. 3, pp. 55
-
88, 2006.

[6
] Silman, J., “Steganography and Steganalysis: An Overview”, SANS
Ins
titute, 2001

[7
] Jamil, T., “Steganography: The art of hiding information is plain sight”,
IEEE Potentials, 18:01, 1999

[8
] Wang, H & Wang, S, “Cyber warfare: Steganography vs. Steganalysis”,
Communications of the ACM,

47:10, October 2004

[9
] Anderson,
R.J. & Petitcolas, F.A.P., “On the limits of steganography”,
IEEE Journal of selected Areas

in Communications, May 1998

[10
] Marvel, L.M., Boncelet Jr., C.G. & Retter, C., “Spread Spectrum
Steganography”, IEEE Transactions

on image processing, 8:08, 199
9