Image Steganography using Java Swing Templates ...

3 downloads 18308 Views 329KB Size Report
Stegoanalysis; cryptography; java swing templates. I. INTRODUCTION ... [email protected]*Corresponding Author Email-Id ... Scroll panes are very easy to.
International Journal of Applied Research and Studies (iJARS) ISSN: 2278-9480 Volume 2, Issue 9 (Sep - 2013) www.ijars.in

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 developed 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 that 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. INTRODUCTION 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 its properties. The resulting output, known as a stegogramme is engineered such that it is a near identical

[email protected]*Corresponding Author Email-Id

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

JAVA PROGRAM COMPONENTS

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 available as an add-on to Java Development Kit (JDK). 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 components are in the javax.swing package.

DOI: 10.20908/ijars.v2i9.9417

Manuscript Id: iJARS/643 Authors Copy; Restricted to Personal Use Only any manipulation will be against Copyright Policy @ iJARS Group

1

International Journal of Applied Research and Studies (iJARS) ISSN: 2278-9480 Volume 2, Issue 9 (Sep - 2013) www.ijars.in 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 inherit 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. A. Swing components JScrollPane provides a scrollable view of a lightweight component. It is used to display a child component with a builtin scrolling facility. The scrolling of a child component, when its size is larger than the available view port, is performed in horizontal or vertical directions 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 JScrollPane 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 icons. 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. Like 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 edit 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.

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 coefficients 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) Input file (TIFF, BMP, JPEG, or GIF)c) Output file named d) File containing the secret message e) User password 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 non-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 number 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 2k–1 coefficients by decrementing the Absolute value of at most one coefficient from each group by one. IV.

RESULTS

The java programming swing components are used to embed an image into another image. Fig.1 shows the original image and the embedded image.

EMBEDDING AND EXTRACTION 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 coefficients with the message bits, the

Manuscript Id: iJARS/643 Authors Copy; Restricted to Personal Use Only any manipulation will be against Copyright Policy @ iJARS Group

2

International Journal of Applied Research and Studies (iJARS) ISSN: 2278-9480 Volume 2, Issue 9 (Sep - 2013) www.ijars.in FIG.1 ORIGINAL AND EMBEEDED IMAGE After giving the extracting the image by suitable password, the target image can be obtained. Fig.2 shows the targeted image.

[6] Silman, J., “Steganography and Steganalysis: An Overview”, SANS Institute, 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, 1999

FIG.2 TARGETED IMAGE V.

CONCLUSION

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 stegoanalysis 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. REFERENCES [1] N. Johnson and S. Jajodia. "Exploring Steganography: Seeing the Unseen",IEEE Computer, 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.

Manuscript Id: iJARS/643 Authors Copy; Restricted to Personal Use Only any manipulation will be against Copyright Policy @ iJARS Group

3