Print Email Download

Paid Writing Services

More Free Content

Get Your Own Essay

Order Now

Instant Price

Search for an Essay


DWT based approach for image steganography

ABSTRACT:

In modern communications, Steganography is significant area of research that involve in number of applications. This research is dominant in secure information transfer and reliable. Steganography is the art of embedding secret information in a cover image without changing the important variations to the cover image. In this project an image Steganography that can verify the reliability of the information being transmitted to the receiver. This method can verify whether the attacker has tried to attack or delete or forge the secret information in the stego image. The technique embeds the hidden information in the spatial domain of the cover image and uses two special AC coefficients of the Discrete wavelet Transform domain (DWT) to verify the integrity of the secret information from the stego image.

INTRODUCTION:

Development of present system needs a special means of communications mainly security in computer network of the cyber world. The network security is becoming most important as the data is being exchanged on the internet is being increasing every day. The important things like confidentiality and data reliability are required to protect beside illegal access. These changes made growth in the field of information systems in information hiding area, which include copy right protection for digital media, watermarking, fingerprinting and Steganography. These are the different applications for information hiding. Mainly in watermarking applications, the message contains information such as owner identification. In fingerprinting, the data of the owner sets a serial number that individually identifies him/she as the owner .This serial number is also added to copyright protection on information , makes it possible to find the unauthorized usage of data set. Steganography hides the secret information within the data set and it is reliably communicated with the receiver.

Steganography refers to the science of invisible communication .The general idea of hiding the information in digital context. The word Steganography is derived from the Greek words "steganos" means covered or secret and "grafy" means writing or drawing defined it as "covered writing". The main goal of Steganography is to communicate strongly in a completely and undetectable manner to avoid the transmission of the hidden data. In Steganography method if someone identifies that there is secret information in a carrier medium and the method becomes worthless. Cryptography and Steganography are mostly used in the field of data hiding. In image Steganography the information is hidden mainly in images. Therefore Steganography provides high level secrecy and security by combining with Cryptography.

Throughout the history this method is being followed by the ancients to communicate the secret information between people. Some examples followed by ancients on Steganography.

  1. In Histories the Greek historian Herodotus writes of a nobleman, Histaeus, who needed to communicate with his son-in-law and selected soldiers in Greece. He shaved the head, one of his most trusted slaves and tattooed the message on the slave's scalp. When the slave's hair grew back the slave was dispatched with the hidden message.
  2. In the Second World War the Microdot technique i.e invisible ink was used to write the information on piece of paper so that the paper appeared to be blank. Liquids such as milk, vinegar and fruit juices were used so that when each of these were heated and darken they become visible to human eye.
  3. Information mainly concentrated on photographs is reduced in size. Tremendously difficult to detect, a normal cover message was sent over an insecure channel with one of the periods on the paper containing hidden information.
  4. Another method is been used in Greece, was someone would peel wax off a tablet that was covered in wax, write a message underneath the wax and then they reapply the wax. The receiver of the message would simply remove the wax from the tablet to see the message.

Today Steganography is mostly used on computers with digital data being the carriers. And the networks containing with the high speed delivery, data channels. Steganography differs from cryptography in the sense that, cryptography focus on keeping inside of a message secret and Steganography focus on keeping the existence of a message secre . Steganography and Cryptography are both ways to protect information from unauthorised parties like third parties, but neither technology alone is ideal and can be compromised. Once the presence of hidden information is revealed or even suspected, the purpose of Steganography is partly crushed [1]. The strength of Steganography can be improved by combining with Cryptography.

The goal of Steganography is to embed a secret message in a cover object in a secret manner such that the embedded message in the resulting stego object cannot be exposed by anyone except the planned receiver. Steganographic applications only require the flexibility to alter in order to be able to embed the hidden information. For this reason any type of digital object can be potentially used as a cover mainly images, audio, streaming data, software or natural language text have been used as cover objects.

In Steganographic system using digital image, the stego image is obtained by embedding secret information in the digital image called cover image. The recipient confirms that the secret information extracted from the stego image received from the sender by the extracting algorithm.

There are important requirements for effective Image Steganography such as invisibility, capacity, integrity and confidentiality etc. There are most Steganographic methods focus on these requirements mainly in the embedding and extracting algorithm. In Steganographic system, the recipient who received the message wants to know whether the extracted message has integrity or not. A powerful attacker may find the secret information and acts like as he/she is the sender by forging or deleting or attacking the secret information, placing it back into the stego image and sending it to the receiver. Then the recipient will know that the stego image was sent from the sender and will entrust the forged information extracted from the changed stego image. Therefore, it fails to check the integrity for the extracted secret information from stego image in Steganographic system [2]

In this Steganographic system, the system increases the amount of secret data that can be stored in a cover image, while at the same time producing a higher quality of stego image. In the proposed method is able to identify the integrity of the secret information extracted from stego image.

Overview of Steganography

Firstly starting with the framework in which Steganography is mainly presented. The modern formulation of Steganography given in the prisoner's problem, where Alice and Bob are two prisoners who wish to communicate each other in order develop an escape plan. All the message is being examined by Warden. But Wendy who will set them in a confidential imprisonment at least doubt of hidden communication [3].

Mainly, in the general model for Steganography, where Alice wish to send a secret message to Bob. In order to do so, she "embeds" the secret message into a cover object, to obtain the stego objects. The stego object is sent through the free channel.

Thus following definitions:

Cover object: Refers to the secret message is to embed messages into the cover object in the channel. Different objects such as images, audio, video , file structures and Html pages.

Stego object: Refers to the object which is carrying the hidden message .So given a cover object to produce the stego image which will carry the message to the channel

Objective:

The image Steganography that can confirm the information that is moved to the receiver. In this method the secret information is embedded in to the cover image by using spatial domain of two special AC coefficients of the Discrete Wavelet Transform domain to verify the integrity of the secret information in the stego image. The proposed method verifies that any attacker had tried to attack the secret message in the stego image

Existing System:

Steganography is used to carry the secret information. The main aim of Steganography is to send the data in totally unnoticeable manner in secure medium to avoid the distrust to the communication of the secret data to the recipient. If Steganography method causes someone to imagine that there is secret message in a carrier medium and this method becomes ineffective as the secret information is known by the third party in the medium. With the modern communication methods the information hiding methods receiving with very less attention from the development team and research area.

Proposed System:

In Steganography the secret message or information hidden in the spatial domain of the cover image can verify the integrity of the secret message or information that is hidden in the carrier medium using two special AC coefficients in Discrete Wavelet Transform (DWT) . This integrity can check whether any attacker has attacked the message or deleted or forged the message that is being exchanged.

Why Steganography is important?

In digital world Steganography and Cryptography are both proposed to protect the information from unauthorised users/ third party. Both Steganography and Cryptography are excellent to protect the information and neither technology alone is just right and both can be broken .For this cause most of the experts recommend using both or add layers for it for the development of security.

Steganography can be used in used in different formats in the digital media like .bmp, .gif, .jpeg, .mp3, .txt , .wav. Because of this demand on the internet and easy to use the Steganographic tools that uses this available formats. These formats are popular because of the relative easy by which redundant or noisy data can be removed from them and then it is changed with the hidden information.

Steganography technologies are very important for the development of the future internet security and open systems. Steganographic research is mainly determined for the lack of strength in Cryptographic systems. Many government authorities had created laws to moreover bind the strength of a cryptographic system or to exclude it. In these days the authorities forcing people to study the methods for secure information transfer. Organisations started to understand the potential of Steganography in communicating trade secrets information. Avoiding communication through public channels greatly reduces the risk of information being escaped. Hiding message in an image is less cautious than communicating in an encrypted file.

Different types of Steganography

There are two types of image Steganography:

  1. Spatial domain: Spatial domain embeds the secret message in the pixels of the images of its intensity directly. The main advantage of this method is easy and calculation on computer is quicker. The disadvantage of this domain has less capability towards signal processing or noises. The mostly used known algorithm is LSB technique as this is based on change in the least significant bits. This technique makes use of the details about the least significant bits in an image. In the LSB technique, the least significant bit of the pixel is returned by the message to send. The message bits are permutated before embedding as it has an effect of giving the bits evenly and on average one half of the LSB will be modified [6].
  2. Transform domain: Transform domain first transforms the image data into particular domain coefficients by mathematical tools like DCT, DWT or FFT. According to this domain the different data produced is embedded in to the coefficients of that domain [6].

Image Compression

An image is an array of numbers at unlike points (pixels).This pixels make up an image's raster data. General image size would be 640x480 pixels and 256 colours. This image contains all about 300KB of data. Digital images are mainly stored in the form of 8 bit or 24 bit. 24 bit image contains more space for hiding the information of text data and can be large image except for the JPEG images [5]. All colour variations are derived for the pixel from the three primary colours as Red, Green and Green as shown in figure.

To each primary colour is represented with 8 bits.(i.e 1 byte) 24 bit image use 3 bytes per pixel to represent the colour. The represented 3 bytes can be in hexadecimal, decimal, binary valves. Magenta is a combination of 100% red, 100% blue, and the absence of green, and cyan is a combination of 100% green and 100% blue without any red, and 100% green and 100% red with no blue combine to form yellow. A white colour backdrop can have the valve as FFFFFF that is 100 % Red, 100%Green, 100% Blue. Its decimal valve would be 255,255,255 and the binary valve would be 11111111, 11111111, 11111111, in which all of them are making the 3 bytes as white. This classification of white backdrop is compared to the colour description of a pixel in image. For example, if 24 bit image 1024x768 is a high resolution graphics. Such image has more than 2 million pixels, that Image would produce a file more than 2 MB in size .This size of images would be advantage for embedding the text/data in to the cover image.

This growing need on digital media created with new techniques for preventing the materials from unauthorised use. The important technique that is being practised is encryption. Cryptography has capability of transmitting information among persons and it prevents from unauthorized user to read it. Even though encryption is protected during the transfer of data from sender to the recipient, after receiving the data and successive decryption takes place and the data is not protected and it made clear. This makes for the development with the Steganography wishes encryption. Steganography make use of the information to hide or embed the message that is hidden to media content, and it is not visible to the human eye but can be easily sense with the computer

The secret information that is hidden into a widely , entrance of color image by a quantization strategy ,transportation of secret information does not keep attention towards the unauthrorised users. The RGB image is changed into YCbCr space to use the masking function of the YCbCr components , the secret information is embedded in to the wavelet domain of every component of luminance {9}

There are lot of explore/research on developing for hiding the data in images. Some of them are well suitable for transfer of data with small amounts and others for large amounts of data. Some of the implementing technologies are willing towards the geometric adaptations, while some of them where not willing for non-geometric adaptations likes filtering. The existing methods for embedding of data into cover images falls in to two main groups: High bit data rate and low bit data rate. Bit data rate is defined as the quantity of data that can be embedded into a small portion of the cover image [6].

Low bit rate refers to the encoding with high strength for lower bandwidth. The important thing is fight against the data removal by unauthorised. The other technique is known as Patch work .It is based on the pseudo random arithmetical process. This patch work invisibly embeds the message in the exact valve and it is Gaussian distribution. In an image two set of pixels or patches are taken and it is used for an algorithm is by done by changing the same thing in both patch [6].

Another method for low bit rate is for hiding Texture Block code in images. This method is applied by stealing a part of area from a arbitrary consistency pattern found in image to the area where it has related consistency. Auto correlation is used to represent the secret information. With the help of high bit rate methods, considered to have negligible contact on the image, but they do not tend to resistant to image alterations. There is hope coming out with great data that can be encoded. Bit rate method is made strong by using error correction with high cost of data rate and it has a control over images. The simple form of high bit rate coding is LSB (Least Bit Insertion) [6]. This LSB method embeds the message into one or more least significant bits of selected particular bits. Every pixel is not appropriate in changing as the quality of the original object/image gets changed. Pixel of an image can be changed by checking at the luminance of the nearby pixels that contain with high or low luminance. The advantage of LSB method is easy implementation and it contains the message with high payload.

Example:

The letter A can be hidden in three pixels. The binary value of A is 10000011.

The original raster data of 3 pixels can be

(00100111 11101001 11001000)

(00100111 11001000 11101001)

(11001000 00100111 11101001)

After insertion of binary value for A.

(00100111 11101000 11001000)

(00100110 11001000 11101000)

(11001000 00100111 11101001)

The italic bits are the only three actually changed in the 8 bytes of data. One can hide data in the least and second least significant bits and still the human eye cannot be able to find it. In this proposed algorithm the generation of random number initialized with a stego key and its output is combined with the input data, and this is embedded to a block image. The stego key is very important because the security of a system should not be on the secrecy of the algorithm itself, instead of the option of a secret key.

A new Steganographic method for embedding secret message in to gray valves cover image. In this the cover image is divided into non-overlapping blocks of two consecutive pixels. The difference valve is calculated from the valves of the two pixels in each block. And all available valves are classified into number of their ranges. The valve variations mainly happen from smoothness to contrast. The available difference valve is returned by a new valve to embed the secret message by valve of sub stream. The number of bits that can be embedded in to pixel can be known by the difference valve. It is designed method provides an easy way to produce invisible result taken from the LSB replacement methods {7}. By using the original image by improving the secret message from stego image. Hiding data in the cover image is navigated in an order given by a pseudo random generator to get secrecy and prevent the access from authorised users {7}.

The other important techniques that embedding the message by coefficients of transform domain like Discrete Fourier Transform (DFT), Discrete Cosine Transform (DCT), or Discrete Wavelet Transform (DWT) . The transform can be applied for the entire image or its divisions. In this embedding process is done by changing the some of the coefficients that are used for the protection. If the message to be invisible then high range of frequency spectrum is used and if the data to be robust then small frequency spectrum is used.

The technique that depends on low amplitude noise, high frequency, and the direct sequence spread spectrum. This particular method combines with direct sequence spread spectrum, error control coding and image processing. The main idea behind this is data is embedded into the noise and then added to the actual image. This is because; noise with low power and decoding is improper for error correcting code {13}

Images contains display distortions from the hidden messages. By mixture of Steganography tools and carrier tools for successful message hiding. Some of the images may get degraded even with the small amounts of embedded information. The visible noise will give away the way for the hidden message. By evaluating many original images and stego images with the colour ingredient, luminance and pixel relationships to point out the characteristics of the image are not normal as same images. Patterns become visible when calculating for applying Steganography and such patterns are abnormal for the colour palettes, relationship between colours in colour indexes, inflated noise {10}

WAVELET TRANSFORM

The wavelet transform is developing day by day because every month lots of mathematical papers and practical are available. Wavelet Transform is used as a foremost in many various fields and also in image and signal processing [9]. This is to form convolutions with high and low pass filter. The output of convolution can be known with the curved side of the input, where as high frequency part is confined by the initial convolution. Rebuilding of this convolution is combined with filters and results of the convolution and then it's added to it. In two dimensions, first apply one step of one dimensional transform to all rows. Then repeated as same for all rows as done in columns. As shown in figure 1,

As shown in figure the result for four classes of coefficients where HH coefficients refer the diagonal features of images, while HG and GH refer vertical and horizontal information and LL refers low pass coefficients. Discrete Wavelet Transform allows self determining dealing with the result mechanism without embedding. The used wavelet coefficient filters have floating points. When input contains series of integers as in case of images the output data contains with no integers, which doesn't allow any ideal rebuilding of the original image [8, 11].

At first time the filters appear to be rounding off in description of S(n) rejects information. The sum and difference of two integers may be both even or odd .The thing is that safely skip the last bit of sum equals to the last bit of the difference [10].The transform functions are given below,

S (n) = (1a)

D (n) =x (2n) - x (2n+1) (1b)

X (2n) = s (n) + (2a)

X (2n+1) = s (n) - (2b)

The above equations should be redefined in 2D. Suppose the original image is denoted 'I' is Y pixels wide and X pixels high. By indicating the colour shade levels in pixel situated position i and j by I i,j . Mainly 2D transform can be computed by using the below formulae.

Ai+j = [(I2i,2j+I2i+1,2j)/2] (3a)

Hi,j=I2i,2j+1 - I2i,2j (3b)

Vi,j=I2i+1,2j - I2i,2j (3c)

Di,j=I2i+1,2j+1-I2i,2j (3d)

I2i,2j =Ai,j - [Hi,j/2] (4a)

I2i,2j+1 = Ai,j + [(Hi,j+1)/2] (4b)

I2i+1,2j = I2i,2j+1 + Vi,j - Hi,j (4c)

I2i+1,2j+1=I2i+1,2j+ Di,j - Vi,j (4d)

Where, 1?i?X/2, 1?j?Y/2

Transform can be computed for image using 3a,3b,3c,3d and its even reversible and these are represented in 4a,4b,4c,4d ,in these the image is directly better for the original image pixel from the transformed coefficients. The transform results mainly in four classes coefficients: (A) refers for low pass coefficients, (H) refers horizontal features of an image, but (V) and (D) refers diagonal information. During construction of transform odd pixels on the borders are not counted.

The 2D transform of each colour plane is colored in the cover image and stores the message bit stream in the least significant bits of the transform coefficients. This does not affect any integrity of the embedded coefficients. The main trouble come across in implementing this transform is error caused by hiding bits in coefficients that match with the saturated pixel components. The embedding process can modify these coefficients by exceeding the valve. By applying with pre processing on the cover image before embedding process takes place.

In embedding process first convert the secret message in to a single transform .The details of the particular type depend on extracting the message type. In case the message is in text form, the message is formed by converting the bit stream into ASCII code of every character into 8 bit binary version and then connects them in a path {12}. The cover image is in true format that is mainly contains with Three colours Red, Green, Blue and the wavelet transform is performed on each colour separately. The embedding process stores (N) message bits in LSB of the transform coefficients of the cover image. And there are four sub bands in the image transform for embedding. One of thing is left to be considered to decide on the order in which coefficients are selected for embedding. Pseudo random permutation is a secure key selection. The idea to implement this is that permutation generator uses stego key and generate output differences in the cover length. Luby and Rack given with a pseudo random function generator which is secure and realistic. Nobody can guess the generated random sequence without secret key .This will make sure that the recipients who know the secret key will get the message from the stego object/image [14]

The image protection is attained by the insertion of the secret identification key in a image wavelet coefficients by selecting their quantization. The human visual system to increase the embedding. The image is reliant to evaluate in the wavelet domain, the quantisation action allows the interface of the image {15}

INSERTION OF SECRET MESSAGE

The insertion process dependent relative on the pixel that is in edge area or smooth area .The cover image with the size of X and Y pixels (G=gx,y ,x=1,2,.....X and y = 1,2,......Y),The given target for the pixel valve gx,y ,let gx-1,y ,gx-1,y+1 and gx,y-1 are the valves of the HH,HL,LH,LL correspondingly.

The embedding method is done in following way,

First calculate the maximum difference d between the four neighbouring pixels that is finished the embedding process with

d= gmax- gmin (5)

Where gmax = max(gx-1,y-1,gx-1,y,gx-1,y+1,gx,y-1) and gmin = min(gx-1,y-1,gx-1,y,gx-1,y+1,gx,y-1). Secondly calculation for n insertion bits in a target pixel using

n = Mod log2 d -1 , if d>4 , 1, if d< 4 (6)

We compute temporary valve tx,y by

Tx,y =b - (gx,y mod 2n) (7)

Where b is the integer valve represented in binary valve of n bits in the secret information. Finally improved quality stego image , the valve with nearest target pixel valve by

Gx,y = g x,y + tx,y (8)

when the pixel valve is outside the necessary range , then it is calculated by using,

Gx,y = gx,y + 2n if gx,y < 0, (9)

Gx,y = gx,y - 2n if gx,y >255,

Now stego image can be created after performing the insertion process on all pixels except the first row and column in the cover image.

System Analysis

Algorithm:

Proposed method

This method is able to verify the integrity of the secret information in Steganography. To do this first produce verification code before embedding the secret information into the cover image. Verification code is generated by using two AC coefficients in Discrete Wavelet Transform as explained earlier and then it connects to the secret information. And this secret information is inserted into the spatial domain of the cover image. This method verifies the integrity of the extracted secret information by checking the integrity of the stego image. The figure shown below represents with the procedures to generate stego image

  1. After changing the previous row of a cover image that is finished with the insertion process into block form and then convert the block into DWT domain.
  2. Generate integrity verification code by using two AC coefficients in DWT domain.
  3. Permute the verification code with secret message.
  4. Insert the processed secret information into a current row of the cover image.

The Extracting process is the reverse order of insertion procedure.

  1. After changing previous row in to the block form and then it is transformed into DWT domain.
  2. Make the verification code using two AC coefficients in DWT domain.
  3. Extract the secret information in the stego image.
  4. Reverse permutes the secret information.
  5. Separate the secret information into the verification parity bits and the secret message.
  6. Verify the integrity of the secret message through comparing the verification code with the verification parity bits and then repeat the process all rows and columns of the stego image to verify the integrity of the entire stego image.

Modules:

  1. Generation of veracity verification code
  2. Analysis of verification code
  3. Steganographic Model

Generation of verification code

The Discrete Wavelet Transform is used for making of reality verification code to verify the integrity of the extracted secret information from the stego image. There are various steps that follow for the generation of actual verification code:

  1. Transform the current row of the cover image into block form and then into DWT
  2. Select two special AC coefficients that are diagonally situated.
  3. Develop both the coefficients and round off the value to nearer integer valve.
  4. Finally write to this integer into the binary bit stream.

It can be calculated with formulae

Veracity code= ((mod( C1*C2)*106mod220)2

Analysis of verification code

The original DWT coefficients and the DWT coefficients that are obtained by minute changing in the pixels of the LSB are not same. If any of the pixels in the spatial domain are changed in the image then there will be a related change in the DWT coefficients, but almost they are not equal. Hence by experimental set up AC coefficients are suitable to verify the integrity of the secret information in the stego image. Therefore AC coefficients are not changed in row or columns as changed in pixel valves or positions. The diagonally situated coefficients are measured to generate verification code, because the AC coefficients are not changed in row or column as changed in pixel positions or valves. As a result two Ac coefficients are diagonally selected the reflections of diagonally situated coefficients are more and then chosen with the coefficients that are situated diagonally.

Steganographic Model

The proposed method is able to verify the integrity of secret message from the stego image. To attain this first by generating a verification code by using two AC coefficients in the DWT domain that are diagonally located. This verification code is permuted with the secret message and is then embedded in the spatial domain of the cover image.

The embedding process is done as follows:

After changing the current row in the cover image into block form then DWT is applied to the blocks. In this block two special AC coefficients which are present diagonally are chosen to generate the verification code. The obtained verification code is permuted with the secret message that is to be embedded in the cover image. The permutation is achieved using secret key to obtained secret information. The secret key decides the way how we permute the verification code with the secret message to generate the secret information. Thus the obtained secret information is the combination of secret message and the verification code. The embedded image is now the intermediate stego image. The same process is followed for generating the verification code and then for the intermediate stego image. This code is again attached to the intermediate stego image to form the actual stego image to be transmitted to the receiver.

The extraction process follows as,

  1. Alter the current row in the stego image in the block and apply to DWT.
  2. Generate the verification code by choosing two special coefficients of the obtained DWT block.
  3. Extract the secret information from the stego image.
  4. Reverse permutes the secret information from the stego image.
  5. Separate extracted message and extracted verification code. Now verify whether the integrity of the secret message.

Analysis of network security:

A message is to be transferred from one network to another network in the internet .Two parties must cooperate to exchange the data. The Model network security is shown in figure. A channel is built by defining the route through the internet from source to the destination by using the network communication protocols

Data is encrypted on a network using end to end encryption. Mainly encryption is performed by the service providers like data communication provider. End to End encryption encrypts the data on the network, link encryption encrypts routing data and need to decrypt the data to continue the routing. This encryption is mainly done at the end user. Even though the data is encrypted and passing through the network routing information remains to be seen

Requirements

Functional Requirements:

The major functional requirements of the systems as follows,

  1. Select cover image
  2. Enter the secret message or browse secret message file
  3. Generate the integrity verification code for image as well as secret message
  4. Embed secret message and verification code with cover image
  5. Send embedded image to receiver.
  6. Receive the embedded image at receiver end.
  7. Extract the image.
  8. Generate the receiver side verification code.
  9. Compare the received verification code and generated verification code.
  10. 10. Show the result.

Non- Functional Requirements:

The major non-functional Requirements of the system are as follows,

Usability

This is a designed completely with programmed process and there is no client action.

Reliability

The platform chosen is more reliable because the qualities are born by birth in the Java platform. The code is constructed in a way to be more dependable.

Performance

This is constructed with high level languages by using all required technologies that will react to the user with less time.

Supportability

The system is designed with the cross platform that is supportable. The system is supports for wide range of hardware and any software platform, which contains JVM, put up into the system.

Implementation

The system is implemented in web environment. The apache tomcat is used as the web server and windows XP professional is used as the platform.

Interface

The user interface is mainly with the HTML and XHTML

Hardware Requirements:

Pentium 4 processor

1 GB RAM

80 GB Hard Disk Space

Software Requirements:

  1. Microsoft Windows XP Professional
  2. JDK 6.0

Technology Description

General

A software tool is a program used by the software developers to create, execute, debug and support other applications or programs, where simple programs are combined to complete a task. This chapter describes the software tool that is used in the project.

Java Technology

Java language is found in 1995 as this language is formed from well known language as "oak". The main aim of this language is independent language that is used to produce software and embedded in to electronic appliances and etc.

Importance of Internet in Java application:

Now a days Java plays a important role in the Internet as Java exposes the world objects freely in the Cyber world. In a network Java acts between client and server. Passive information can read an email and Dynamic active programs gives self executing programs and cause effects in security and portability. But Java does with new program called as Applet Java used to create programs:

A computer can run the program under operating system called as application program. An Applet is a very small program that is designed to be transmitted over the web world or internet and executed over well suited web browser. It would be like C or C++ programs. It can react to client inputs changes.

Features of Java Security

The operating system highlights that the computer is risking at viral infection this happens when a standard program is downloaded. Most of the users don't download the executable programs because it would be effected with virus. With priory of Java the downloaded program is scanned for virus before execution of the program. Many of the users in the world are still taking care about malicious program so that it would not effect the system. This malicious programs or virus can get the emails and passwords of unknown users in the network. This can be controlling by firewalls. By providing a firewall between network application and the system or computer. By using Java Compatible web browser can download java Applets without virus or malicious program.

Portability

The programs to download with different version and types of platform linked to the internet by generating portable execution code. The same method is used to ensure security and to make portability. For this Java's solution is more designed and efficient.

The Byte code

The key that allows Java to solve security and portability problems and the output of java compiler is Byte code. It is a set of instructions to be executed by Java run time system known as Java Virtual Machine. By translating java program code into Byte code which makes much easier to run the programs in different platforms. If the run time package exits for a system then java program can run on it easily.

Java is designed for analysis there is nothing about Java that prevent on the compilation of Byte code in to local code. The official partner Sun completed its Just In Time (JIT) compiler for Byte code. JIT compiler is a division of JVM. In real time JIT compiles Byte code in to executable code on order basis. The entire java program is not possible to run into executable code as Java performs various run time checks that can be done at the run time. JIT compiles code when ever needed for its execution.

Java Virtual Machine (JVM)

In Java technology the important part is Java Virtual Machine. The virtual machine is set in to the web browser .If a piece of Java code is loaded into a machine then it is verified. In loading process the code generated by the compiler doesn't corrupt the machine that is loaded in to the machine and this includes class loader and byte code verification. To make sure that all are accurate and correct in this Byte code verification and takes at the end of the compilation process. So Byte code plays an important role in executing a java code.

Overall Description:

Java program is executed by using byte code. In Java mainly the source code is in the form of .Java file and this is made to run through known as javac. Java compiler is included with byte code to produce a file called as .class file. And this file loaded on to the system /machine for execution state in JVM (Java Virtual Machine) and then executes the byte code.

Java Architecture

Java is a dynamic system and can load the code when ever needed for the machines across the world. Java program provides portability through byte code for JVM, which is used as translator for every proposal by the run time situation. By these Java architecture provides the program is robust, portable, reliable, and with high performance environment for the development.

Compilation of code

JVM is made to execute the machine code or Byte code .When the code is collected and java compiler creates a byte code for imaginary machine known as Java Virtual Machine.JVM is coming up with the issue of portability. This code is compiled a machine and later it is done with all machines, the machine called as Java virtual machine. During the process of run time Java interpreter acts the byte code running on JVM(Java Virtual Machine).Intel Pentium Windows or Sun SPARC platform running on Solaris or Apple Macintosh running machines can receive all code from any computer through internet and by running the Applets.

Object Oriented

Java is not designed in such a way to be a source and it is compatible with all other high languages. This makes Java for free will to design. The important of Java is clean functional and it is practical approaches to objects in programming. The object model in Java is made simple, easy to expand and some simple types like integers are kept at high performance on non objects.

Simple

Java is designed to learn and use it well for the professional programmers in a easy way. If you are experienced as C++ programmer then it will be easy to learning Java. Basically Java uses C/C++ syntax and some of the objects oriented programming features of C++.Some of the confusing concepts in C++ are clear with Java and most accessible manner .In Java defined with small number of ways to complete the task.

Robust

Java run on multi platforms on the network places which demands for the program as the program must execute every time in different systems. The capability to create robust programs given with high priority in designing of Java. Java is a written language; it checks the compiling code and then run time. Java almost eliminates the harms in memory management and redistribution which is completely automatic. In Java program all the run time errors should be managed by the program.

JAVA SWING

Swing is control toolkit for Java. The important characteristics of Swing tool kit are platform free, customizable, extensible configurable and less in weight .The basic controls used in Swing are Buttons, Labels, Scrollbars to higher the controls like trees and tables. The main part in JFC(Java Foundation Classes) is swing. It is a collection of packages for creating all desktop applications. JFC consists of AWT, Swing ,Accessibility, Drag and Drop and finally Java 2D.

JComponent

All components names that starts with "J" comes from the JComponent API class. Mainly like JPanel, JButton, JScrollPane, and JTable are all from JComponent. The JComponent class extend the container API class as component API. The component layer provides layout hints for painting and events. The container class provide with adding components to the container and laying out them.

JPanel

Jpanel mainly provides containers for less weight components. In default panels , it doesn't add any colors to anything expect their background and can easily add borders to them and can customize the paintings.

JFrame

JFrame is a Swings version of Frame and directly extended from that class. It is used to create windows in a Swing program. The main components are added to the frame are referred to its contentPane . To add any component to JFrame instead use its contentPane.

JButton

The JButton object mainly consists of a text label and/or image icon that describes the purpose of the button, an empty area around the text/icon and border.

JLabel

JLabel is extended from JComponent. It is used to create text labels and can display text as well images.

JTextArea

JTextArea components are used to accept number of lines in content/text from the user. By using the combination of JTextArea and JScrollPane to achieve scrolling. The basic JScrollPane is forced to have either vertical or horizontal scrollbars.

JList

JList provides scrollable items from which one or more is selected. JList is mainly in the form of array and vector. JList doesn't support directly the scrolling in this place the list must be with scroll pane. The view port used by the scroll pane defined with borders and JList actions are controlled and handled by using ListSelectionListener.

The Swing Message Box

Windows environments mainly contain normal set of message boxes that allow to deliver the information to the user or to capture information from the user. In Swing the message Box contained in JOptionPane difficult but the most commonly used are message dialog and confirmation dialog by using the static JOptionPane.showMessageDialog( ) and JOptionPane.showConfirmDialog( ).

Windows environments mainly contain a normal set of message boxes that allow to quickly deliver the information to the user or to capture information from the user. In Swing the message Box contained in JOptionPane difficult, but the ones most commonly used are the message dialog and confirmation dialog, by using the static JOptionPane.showMessageDialog() and JOptionPane. showConfirmDialog().

Package Javax.Imageio

Description :

The main important package of Java Image is IO(Input Output) API and many image IO operation are performed by using static methods .This package includes the basic classes and interfaces. The contents of image files includes metadata and thumbnails for calculating the image reading process(ImageReader, ImageReadParam, and ImageTypeSpecifier) and image writing process(ImageReader and ImageReadParam) for performing the interpreter between formats and for the reporting errors.

JFileChooser

FileChooser provides GUI for navigating the file system and by choosing a file or from the directory or by entering the name of file. Generally by using the JFileChooser API to show dialog containing file chooser. JFileChooser is a dialog to choose a file or directory.

Use any one of the following as return value for the above three methods.

  1. JFileChooser.CANCEL_OPTION, if the user clicks on Cancel.
  2. JFileChooser.APPROVE_OPTION, if the user click on OK/Open/Save button.
  3. JFileChooser.ERROR_OPTION, if the user closes the dialog

A return value of JFileChooser.APPROVE_OPTION, indicates that label can be its getSelectedFile or getSelectedFiles methods:

public java.io.File getSelectedFile()

public java.io.File[]getSelectedfile()

JFileChooser is used for supporting classes like FileSystemView class, FileFilter class, FileView class.

FileFilter class is used for controlling directories and files that are planned in the FileView of the JFileChooser.The directories and files that are planned in the JFileChooser are controlled by FileView . The FileSystemView is an non representational class that tries to hide directory or file system related to any operating system from the file chooser.

JScrollPane

JScroll pane is JQuery plugin which allows the users to replace the browsers default vertical scroll bars on any block element with an overflow auto style. JScrollPane is a crossbrowser and works on all browsers that sustain JQuery and it degrades gracefully. If the user browser doesn't support any JQuery or Java script turned off then the browser will see default scrollbars. If the mouse wheel plugin are integrated in the page then the ScrollPane will act according to mouse wheel events. JScrollPane is built on the top of the JQuery library and utilizes the dimensions plugin and the wheel plugins.

To place a any part in one of the corners of the JScrollPane, call setCorner(String key, Component corner) key is

  1. JScrollPane.LOWER_RIGHT_CORNER,
  2. JScrollPane.LOWER_LEFT_CORNER,
  3. JScrollPane.UPPER_RIGHT_CORNER, or
  4. JScrollPane.UPPER_LEFT_CORNER

JCreator

JCreator is a dominant IDE for Java. JCreator is the best tool for the development of programming. It is efficient and more reliable than any other IDE's. It is perfect tool for programmers of every level from basic programmer to specialist programmers. It provides the users with open range of functions such as project management, project template, code completion, debugger interface; editor with importance with the syntax, wizards and it is a fully customizable user interface. It is compiled directly without activating the main document.

JCreator will find a file with the original document or HTML file sharing the Java Applet and then it will start suitable tool for it. It is mainly written in C++ syntax which makes to be fast and efficient when compared with the Java based IDE's/editors.

Java Database Connectivity (JDBC)

Java Database Connectivity is a Java API for the completing of SQL statements. JDBC is trademark name and it is not the short form. It is mainly a set of classes and interfaces which are in Java language. By using pure API, JDBE provides a normal API for the data base development and create potential to write database applications.

By using JDBC the SQL statements are sending virtually to any database relationally. Everyone can write their own program using JDBC and then the program is sent to the SQL statements to the suitable database. By combining JDBC and JAVA, the programmers can run it anywhere once if it is written.

What Does JDBC do?

It establishes a virtual connection with the database; SQL statements are sent and process the results.

JDBC Vs ODBC and APIs

Open Database Connectivity (ODBC) is a platform from Microsoft API is mostly used program interface for using the relational database. It has an ability to connect to all databases on in the network of all platforms in internet.

So why not use ODBC from Java?

The answer would be, ODBC can be used from Java and regularly done with the help out of JDBC in the form of the JDBC ODBC Bridge.

The question now becomes "Why do you require JDBC?"

  1. There are number of disadvantages in form security, strength, performance, and reliability when calling for the interfaces. ODBC is not suitable to use as it uses C?C++ interfaces directly.
  2. The exact translation of ODBC API C interface in java is not accepted .For example, Java does not have any pointers and ODBC always makes use of them, including the well known error prone pointer "void". Now JDBC as ODBC is covert in to object oriented interface which is easy and usual for java programmers.
  3. ODBC is simple and mixed with highly developed features together and it has complex options for easy queries. ODBS is complex to learn and it is designed to keep simple things simple and allowing for more advanced features where needed.
  4. By using ODBC driver manager and drivers must be installed physically on each user machine. A JDBC driver is written totally in Java and is installed automatically. It is secure and portable on all Java different flavors user machines to mainframes.

There are two types of TIER Models

The JDBC API is supported by both models used for database right to use(access).

  1. Two Tier
  2. Three Tier

Two tier model or Applet or application connects directly to the database. JDBC driver can communicate directly with the database management systems .Client SQL statements are delivered to the database and show the results of these statements are sent to the client/user. The database is mainly located to another machine to the user can connect to the network. This is known as Client/Server design. The network can be intranet or internet for which the employees of an organization are connected to the internet.

Three Tier Model

Commands are sent to the middle tier in Three tier model where SQL statements are sent to the database. In database the SQL statements sends the outcome back to the middle tier which then sends them to the user/client. Three tiers is found to be easy since the middle tier maintains, control the access and keeps organization data update. The new improvement when there is a middle tier, the user can use high level API when it is covert by the middle tier in to the suitable low level calls. Three tier provides better performance in many cases. Mainly middle tier is written in C/C++ to perform better performance. At the beginning of compilers the Java byte code is translated into machine code and this is implemented in the middle tier in Java. The advantages of Java's are its robustness, security and multithreading. Usually middle tier is written in C or C++ language that offers fast performance. On the other hand with the beginning for efficiency compilers that translate Java byte code into machine code and it's becoming realistic to implement the middle tier in Java. Java middle tier has an access from JDBC to allow database, making possible advantages of Java's features like security and etc.

JDBC Driver Types

The JDBC drivers can be fit into one of the following categories:

JDBC ODBC Bridge:

If pure java is used in JDBC driver as a substitute of Bridge and an ODBC driver. And this totally disturbs the client design required by ODBC. It is possible to remove the Java VM that can be corrupted by an error in the local code bridge library, ODBC driver manager library, driver library and database user library.

What is called as JDBC ODBC Bridge?

JDBC ODBC Bridge is JDBC driver, which implements JDBC processes by covert them in to ODBC operations and this seems to be normal application program. When ODBC driver is available the JDBC Bridge is implemented and available for any databases. This bridge is designed as Sun.jdbc.odbc as Java package and has local library to access the ODBC. Bridge is joint venture development of Java soft and Innersole.

JDBC connectivity

The JDBC provides database free connection between the J2EE/JAVA platforms and has a wide tabular data sources. JDBC technology allows an Application Component Provider to:

Database:

Database management system is software considered for mainly the purpose of maintaining the database of vast set and the intended data is flown to run operations on the data requested by different users. Examples that contain DBMS are Oracle, DB2, Microsoft Access, Microsoft SQL server, Fire bird, postgreSQL, MySQL, file maker, and Sybase Adaptive server. DBMS is used by the Database administrators in formation of database systems which contain accounting, Human Resources, Financial and Customer Support Systems. Mainly this DBMS are found in big organizations with the computer hardware needed to support vast data sets.

A DBMS is a composite set of software programs that the organization, data storage, management, and recovery of data in a database are controlled.

Data structures in case of records, files/directories and objects are effective to deal with very large amounts of data stored on a permanent data storage device which indicates relatively slow access when compared to volatile main memory.

A database query language and allows users to interactively cross examine the database, evaluate its data and update it according to the user's rights on data.

DBMS accepts the data from application program; it instructs the operating system to transfer the appropriate data. DBMS uses systems and can be easily changed as according to the organization data information changes. Upgraded programs can be added used for the database without changing the present system.

Basically organizations use some particular kind of DBMS for the transaction process and there by the details are forwarded to another machine that uses DBMS and these suits for the quires and analysis. Plan and design is mainly followed by the data administrators and system analysts.

Data base design is mainly performed by the data administrators. And Data base servers are designed in such a way that it contains actual data runs only on DBMS and associated software's. This data base server includes multiprocessor, RAID disk arrays used for the storages. Connections with different servers using high speed channels , hardware accelerators to speed up the transfer of data in the processing channels. Sometimes DBMS are built in multitasking kernel with the support of networking and these functions are left to the operating systems. Therefore DBMS is considered to be the heart of the database applications.

SQL

Structured Query Language (SQL) is used to run relational databases. SQL is very similar with the relational model. In this model data is stored in structures called relations or tables. SQL statements are issued for the purpose of data defining and manipulation.

Data definition: It is used to create, alter, and crop schematic objects such as indexes and tables in the database.

Data manipulation: It is used to control the data within those schematic objects like DML Insertion, Update, Delete the data, and Query about the Database.

Design

General:

Design is a illustration of things that is be built on a network. It is a process of the software. Software design is a process of requirements and translated into software. It is a place where quality of growth and development of the software and it is perfectly build as the users requirements in to a final software product. Design creates a illustration or model and provides details about the software architecture, interfaces and components used to build the system. This chapter explains the design part of the project. In this thesis different UML diagrams are used to explain the implementation of the project.

Activity Diagram:

The aim of activity diagram is to offer the views inside and among various classes. And it is also used to signify the class's implementation/design. It is shown as a round box with the name of the operation. The outgoing solid arrow attached to the last part of the activity symbol point to a changeover set off by the completion.

Use Case Diagram:

Mainly use case diagram is a graph of artist and use cases included by the structure border, exchange of data takes place between the artists and users .This use case model defines artists as outsiders and inside use case of the system's performance.

Sequence Diagram:

Sequence diagram is a simple method of relating the performance of system by performance of communication between the system and location. It shows the relations in a instant string. This diagram has two dimensions vertical and horizontal where vertical represents the time and horizontal represents the different objects. The life line corresponds to the objects existence during the communication. Object's life line is called as vertical line.

Collaboration Diagram:

This diagram represents the set of objects associated with particular context and interaction. In which the set of messages are replaced among different objects with the collaboration to get the intended output.

Class Diagram:

This diagram shows the basic static model. It is a collection of static model elements like classes and relations connected as the graph to all other and their contents inside.

Conclusion:

The proposed Steganographic model is for validating the Secret information in image Steganography and these can be used to verify the integrity of the secret message from stego image. DWT coefficients are then permuted with the verification code and embedded in the spatial domain of the cover image. The verification code is generated by using two special coefficients in the DWT domain. Thus this method can verify that the message is modified or deleted or forged by any attacker in the system.

Reference:

  1. Atalla I. Hashad and Ahmed S. Madani, "A Robust Steganography Technique using Discrete Cosine Transform," in International Conference on Information Technology, pp. 255-264, April 2003
  2. Youngran Park , Hyunho Kang , Kazuhiko Yamaguchi and Kingo Kobayashi, "Integrity Verification of Secret Information in Image Steganography," The 29th Symposium on Information Theory and its Applications (SITA2006) Hakodate, Hokkaido, Japan, Nov. 28 Dec. 1, 2006
  3. Mehdi Kharrazi, Husrev T. Sencar Nasir Memon, " Benchmarking Steganographic and steganalysis techniques,
  4. M.Fahmy Tolba, M. Al-Said Ghonemy , Ismail Abdoul Hameed Taha ,Amal Said Khalifa , "High capacity image Steganography using wavelet based fusion" 430-435 (2004)
  5. Alvaro Martin, Guillermo Sapiro, Gadiel Seroussi, "Is Image Steganography Natural," Information Theory Research Group HP Laboratories Palo Alto, 2004
  6. Po-Yueh Chen and Hung-Ju Lin, "A DWT Based Approach for Image Steganography," International Journal of Applied Science and Engineering (2006) 4, 3: 275-290
  7. Da-Chun Wu , Wen-Hsiang Tsai , " A Steganographic method for images by pixel-value differencing," Pattern Recognition Letters (2003) 1613-1626.
  8. M. F. Tolba, M. A. Ghonemy, I. A. Taha, and A. S. Khalifa, "USING INTEGER WAVELET TRANSFORMS IN COLORED IMAGE-STEGANOGRAPHY," IJICIS Vol. 4 No. 2, July 2004
  9. LIU Tong, QIU Zheng-ding, "A DWT Based color image Steganography scheme," ICSP Proceedings (2002)
  10. Neil F. Johnson and Sushi1 Jajodia, "Steganalysis: The Investigation of Hidden Information," (1998)
  11. Shaohui Liu,Hongxun Yao, Wen Gao, "Steganalysis of Data Hiding Techniques in Wavelet Domain," Proceedings of the International Conference on Information Technology: Coding and Computing (ITCC'04), (2004)
  12. Andrew H. Sung, Gopalakrishna Reddy Tadiparthi, Srinivas Mukkamala, "Defeating the Current Steganalysis Techniques," Proceedings of the International Conference on Information Technology: Coding and Computing (ITCC'04),2004
  13. C.T.R Lisa M. Marvel and C.G Boncelet , "Hiding information in images," In International Conference on Image Processing, pp, 396-398 (2003)
  14. Moni Naor, Omer Reingold, On the construction of Pseudo Random Permutations : Luby- Rancoff Revisited, Journal of Cryptography, no. 1, 1999, pp. 29-66.
  15. Alexandre H. Paquet, Rabab K. Ward, Ioannis Pitas, "Wavelet packets-based digital watermarking for image verification and authentication," Signal Processing 83 (2003).
  16. Herbert Schildt , "The Complete Reference Java," J"SE 5 Edition.
  17. http://www.java2s.com/
  18. http://java.sun.com/
Print Email Download

Share This Essay

Did you find this essay useful? Share this essay with your friends and you could win £20 worth of Amazon vouchers. One winner chosen at random each month.

Request Removal

If you are the original writer of this essay and no longer wish to have the essay published on the UK Essays website then please click on the link below to request removal:

Request the removal of this essay.


More from UK Essays

Need help with your essay?

We offer a bespoke essay writing service and can produce an essay to your exact requirements, written by one of our expert academic writing team. Simply click on the button below to order your essay, you will see an instant price based on your specific needs before the order is processed:

Order an Essay - via our secure order system!