introduction - copy (3) - copy

55
CHAPTER 1 INTRODUCTION Steganography is the art and science of writing hidden messages in such a way that no one apart from the intended recipient knows of the existence of the message; this is in contrast to cryptography, where the existence of the message itself is not disguised, but the content is obscured. The advantage of steganography over cryptography alone is that messages do not attract attention to themselves, to messengers, or to recipients. Steganographic messages are often first encrypted by some traditional means, and then a covertext is modified in some way to contain the encrypted message, resulting in stegotext. For example, the letter size, spacing, typeface, or other characteristics of a covertext can be manipulated to carry the hidden message; only the recipient (who must know the technique used) can recover the message and then decrypt it. Steganography uses in electronic communication include steganographic coding inside of a transport layer, such as an MP3 file, or a protocol, such as UDP. The project 'Steganography' provides means for secure data transmission and secure data storage network. Hereby, important files carrying

Upload: funnyguy-savy

Post on 24-Oct-2014

78 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Introduction - Copy (3) - Copy

CHAPTER 1

INTRODUCTION

Steganography is the art and science of writing hidden messages in such a way that no one apart from the intended recipient knows of the existence of the message; this is in contrast to cryptography, where the existence of the message itself is not disguised, but the content is obscured. The advantage of steganography over cryptography alone is that messages do not attract attention to themselves, to messengers, or to recipients.

Steganographic messages are often first encrypted by some traditional means, and then a covertext is modified in some way to contain the encrypted message, resulting in stegotext. For example, the letter size, spacing, typeface, or other characteristics of a covertext can be manipulated to carry the hidden message; only the recipient (who must know the technique used) can recover the message and then decrypt it. Steganography uses in electronic communication include steganographic coding inside of a transport layer, such as an MP3 file, or a protocol, such as UDP.

The project 'Steganography' provides means for secure data transmission and secure data storage network. Hereby, important files carrying confidential information can be stored in the server in an encrypted form. Access to these files is limited to certain authorized people only. Transmission also takes place in an encrypted form so that no intruder can get any useful information from the original file during transit. Further, before trying to access important files, the user has to login to the system using a valid username and password, which is allotted to him by the system administrator.

Encryption is the process of encoding a message in such a way as to hide its contents. Modern Cryptography includes several secure algorithms for encrypting and decrypting messages. They are all based on the use of secrets called keys. A cryptographic key is a parameter used in an encryption algorithm in such a way that the encryption cannot be reversed without the knowledge of the key.

Page 2: Introduction - Copy (3) - Copy

Fig1.1 The Original Image Fig 1.2 the modified Image

The larger the cover message is (in data content terms — number of bits) relative to the hidden message, the easier it is to hide the latter. For this reason, digital pictures (which contain large amounts of data) are used to hide messages on the Internet and on other communication media. It is not clear how commonly this is actually done. For example: a 24-bit bitmap will have 8 bits representing each of the three color values (red, green, and blue) at each pixel. If we consider just the blue there will be 28 different values of blue. The difference between say 11111111 and 11111110 in the value for blue intensity is likely to be undetectable by the human eye. Therefore, the least significant bit can be used (more or less undetectably) for something else other than color information. If we do it with the green and the red as well we can get one letter of ASCII text for every three pixels.Stated somewhat more formally, the objective for making steganographic encoding difficult to detect is to ensure that the changes to the carrier (the original signal) due to the inject the payload (the signal to covertly embed) are visually (and ideally, statistically) negligible; that is to say, the changes are indistinguishable from the noise floor of the carrier.

Page 3: Introduction - Copy (3) - Copy

CHAPTER 2

STEGANOGRAPHY TERMS

Carrier File - A file which has hidden information inside of it. Steganalysis - The process of detecting hidden information inside of a file. Stego-Medium - The medium in which the information is hidden. Redundant Bits - Pieces of information inside a file which can be Overwritten or altered without damaging the file. Payload- The information which is the be concealed.

Page 4: Introduction - Copy (3) - Copy

CHAPTER 3

PROCESS DESCRIPTION

The following formula provides a very generic description of the pieces of the steganographic process:

covermedium + hiddendata + stegokey = stegomedium

In this context, the covermedium is the file in which we will hide the hiddendata, which may also be encrypted using the stegokey. The resultant file is the stegomedium (which will, of course. be the same type of file as the covermedium). The covermedium (and, thus, the stegomedium) are typically image or audio files.

Page 5: Introduction - Copy (3) - Copy

CHAPTER 4

OBJECTIVES

The project has the following objectives:

To create a tool that can be used to hide data inside a 24 bit color image and the wav audio file.

The tool should be easy to use, and should use a graphical user interface.

The tool should work cross-platform. The tool should effectivel hide a message using an image and audio

and should be able to retrieve this message afterward. The tool should take into account the original content, to

theoretically more effectively hide the message. The tool should be able to provide some information as to the

effectiveness of the hiding i.e it should be able to evaluate the degradation of an image or audio.

The technique should fall under the category of Secret Key Steganography- where without the key the hidden message cannot be retrieved.

The tool should be able to encrypt the message befor embedding it.

Page 6: Introduction - Copy (3) - Copy

CHAPTER 5

DIFFERENT STEGANOGRAPHY TECHNIQUE

Almost all digital file formats can be used for steganography, but the formats that are more suitable are those with a high degree of redundancy. Redundancy can be defined as the bits of an object that provide accuracy far greater than necessary for the object’s use and display. The redundant bits of an object are those bits that can be altered without the alteration being detected easily.Image and audio files especially comply with thisrequirement, while research has also uncovered other file formats that can be used for information hiding. Figure 1.3 shows the four main categories of file formats that can be used for steganography.

Figure 1.3: Categories of steganography

Hiding information in text is historically the most important method of steganography. An obvious method was to hide a secret message in every nth letter of every word of a text message. It is only since the beginning of the Internet and all the different digital file formats that is has decreased in importance . Text steganography using digital files is not used very often since text files have a very small amount of redundant data. Given the proliferation of digital images, especially on the Internet, and given the large amount of redundant bits present in the digital representation of an image, images are the most popular cover objects for steganography. This paper will focus on hiding information in images in the next sections. To hide information in audio files similar techniques are used as for image files. One different technique unique to audio steganography is masking, which exploits the properties of the human ear to hide information unnoticeably. A faint, but audible, sound becomes inaudible in the presence of another louder audible sound. This property creates a channel in which to hide information. Although nearly equal to images in steganographic potential, the larger size of meaningful audio files makes them less popular to use than images. The term protocol steganography refers to the technique of embedding information within messages and network control protocols used in network transmission. In the layers of the OSI network model there exist covert channels where steganography can be used. An example of where information can be hidden is in the

Page 7: Introduction - Copy (3) - Copy

CHAPTER 6

header of a TCP/IP packet in some fields that are either optional or are never used.

IMAGE STEGANOGRAPHY

As stated earlier, images are the most popular cover objects used for steganography. In the domain of digital images many different image file formats exist, most of them for specific applications. For these different image file formats, different steganographic algorithms exist.

Image definitionTo a computer, an image is a collection of numbers that constitute different light intensities in different areas of the image [14]. This numeric representation forms a grid and the individual points are referred to as pixels. Most images on the Internet consists of a rectangular map of the image’s pixels (represented as bits) where each pixel is located and its colour . These pixels are displayed horizontally row by row. The number of bits in a colour scheme, called the bit depth, refers to the number of bits used for each pixel . The smallest bit depth in current colour schemes is 8, meaning that there are 8 bits used to describe the colour of each pixel . Monochrome and greyscale images use 8 bits for each pixel and are able to display 256 different colours or shades of grey. Digital colour images are typically stored in 24-bit files and use the RGB colour model, also known as true colour. All colour variations for the pixels of a 24-bit image are derived from three primary colours: red, green and blue, and each primary colour is represented by 8 bits. Thus in one given pixel, there can be 256 different quantities of red, green and blue, adding up to more than 16-million combinations, resulting in more than 16-million colours. Not surprisingly the larger amount of colours that can be displayed, the larger the file size.

Image CompressionWhen working with larger images of greater bit depth, the images tend to become too large to transmit over a standard Internet connection. In order to display an image in a reasonable amount of time, techniques must beincorporated to reduce the image’s file size. These techniques make use of mathematical formulas to analyse and condense image data, resulting in smaller file sizes. This process is called compression . In images there are two types of compression: lossy and lossless. Both methods save storage space, but the procedures that they implement differ. Lossy compression creates smaller files by discarding excess image data from the original image. It removes details that are too small for the human eye to differentiate, resulting in close approximations of the original image, although not an exact duplicate. An example of an image format that uses this compression technique is JPEG (Joint Photographic Experts Group).

Page 8: Introduction - Copy (3) - Copy

Lossless compression, on the other hand, never removes any information from the original image, but instead represents data in mathematical

formulas. The original image’s integrity is maintained and the decompressed image output is bit-by-bit identical to the original image input. The most popular image formats that use lossless compression is GIF (Graphical Interchange Format) and 8-bit BMP (a Microsoft Windows bitmap file). Compression plays a very important role in choosing which steganographic algorithm to use. Lossy compression techniques result in smaller image file sizes, but it increases the possibility that the embedded message may be partly lost due to the fact that excess image data will be removed. Lossless compression though, keeps the original digital image intact without the chance of lost, although is does not compress the image to such a small file size. Different steganographic algorithms have been developed for both of these compression types and will be explained in the following sections.

Image and Transform DomainImage steganography techniques can be divided into two groups: those in the Image Domain and those in the Transform Domain . Image – also known as spatial – domain techniques embed messages in the intensity ofthe pixels directly, while for transform – also known as frequency – domain, images are first transformed and then the message is embedded in the image. Image domain techniques encompass bit-wise methods that apply bit insertion and noise manipulation and are sometimes characterised as “simple systems” . The image formats that are most suitable for image domain steganography are lossless and the techniques are typically dependent on the image format . Steganography in the transform domain involves the manipulation of algorithms and image transforms. These methods hide messages in more significant areas of the cover image, making it more robust. Many transform domain methods are independent of the image format and the embedded message may surviveconversion between lossy and lossless compression. In the next sections steganographic algorithms will be explained in categories according to image file formats and the domain in which they are performed.

Page 9: Introduction - Copy (3) - Copy

CHAPTER 7

Figure 1.4: Categories of image steganography

IMAGE DOMAIN

Least Significant Bit

Least significant bit (LSB) insertion is a common, simple approach to embedding information in a cover image. The least significant bit (in other words, the 8th bit) of some or all of the bytes inside an image is changedto a bit of the secret message. When using a 24-bit image, a bit of each of the red, green and blue colour components can be used, since they are each represented by a byte. In other words, one can store 3 bits in each pixel. An 800 × 600 pixel image, can thus store a total amount of 1,440,000 bits or 180,000 bytes of embedded data. For example a grid for 3 pixels of a 24-bit image can be as follows:(00101101 00011100 11011100)(10100110 11000100 00001100)(11010010 10101101 01100011)When the number 200, which binary representation is 11001000, is embedded into the least significant bits of this part of the image, the resulting grid is as follows:(00101101 00011101 11011100)(10100110 11000101 00001100)(11010010 10101100 01100011)Although the number was embedded into the first 8 bytes of the grid, only the 3 underlined bits needed to be changed according to the embedded message. On average, only half of the bits in an image will need to bemodified to hide a secret message using the maximum cover size. Since there are 256 possible intensities of each primary colour, changing the LSB of a pixel results in small changes in the intensity of the colours. These changes cannot be perceived by the human eye - thus the message is successfully hidden. With a well-chosen image, one can even hide the message in the least as well as second to least significant bit and still not

Page 10: Introduction - Copy (3) - Copy

see the difference. In the above example, consecutive bytes of the image data – from the first byte to the end of the message – are used to embed the information. This approach is very easy to detect. A slightly more secure system is for the sender and receiver to share a secret key that specifies only certain pixels to be changed. Should an adversary suspect that LSB steganography has been used, he has no way of knowing which pixels to target without the secret key.In its simplest form, LSB makes use of BMP images, since they use lossless compression. Unfortunately to be able to hide a secret message inside a BMP file, one would require a very large cover image. Nowadays, BMP images of 800 × 600 pixels are not often used on the Internet and might arouse suspicion. For this reason, LSB steganography has also been developed for use with other image file formats.

LSB and Palette Based ImagesPalette based images, for example GIF images, are another popular image file format commonly used on the Internet. By definition a GIF image cannot have a bit depth greater than 8, thus the maximum number of colours that a GIF can store is 256. GIF images are indexed images where the colours used in the image are stored in a palette, sometimes referred to as a colour lookup table. Each pixel is represented as a single byte andthe pixel data is an index to the colour palette. The colours of the palette are typically ordered from the most used colour to the least used colours to reduce lookup time. GIF images can also be used for LSB steganography, although extra care should be taken. The problem with the palette approach used with GIF images is that should one change the least significant bit of a pixel, it can result in a completely different colour since the index to the colour palette is changed. If adjacent palette entries are similar, there might be little or no noticeable change, but should the adjacent palette entries be very dissimilar, the change would be evident. One possible solution is to sort the palette so that the colour differences between consecutive colours are minimized. Another solution is to add new colours which are visually similar to the existing colours in the palette. This requires the original image to have less unique colours than the maximum number of colours (this value depends on the bit depth used). Using this approach, one should thus carefully choose the right cover image. Unfortunately any tampering with the palette of an indexed image leaves a very clear signature, making it easier to detect. A final solution to the problem is to use greyscale images. In an 8-bit greyscale GIF image, there are 256 different shades of grey. The changes between the colours are very gradual, making it harder to detect.

Page 11: Introduction - Copy (3) - Copy

CHAPTER 8

TRANSFER DOMAIN

To understand the steganography algorithms that can be used when embedding data in the transform domain, one must first explain the type of file format connected with this domain. The JPEG file format is the mostpopular image file format on the Internet, because of the small size of the images.

JPEG compressionTo compress an image into JPEG format, the RGB colour representation is first converted to a YUV representation. In this representation the Y component corresponds to the luminance (or brightness) and the U and V components stand for chrominance (or colour). According to research the human eye is more sensitive to changes in the brightness (luminance) of a pixel than to changes in its colour. This fact is exploited by the JPEG compression by downsampling the colour data to reduce the size of the file. The colour components (U and V) are halved in horizontal and vertical directions, thus decreasing the file size by a factor of 2. The next step is the actual transformation of the image. For JPEG, the Discrete Cosine Transform (DCT) is used, but similar transforms are for example the Discrete Fourier Transform (DFT). These mathematical transforms convert the pixels in such a way as to give the effect of “spreading” the location of the pixel values over part of the image. The DCT transforms a signal from an image representation into a frequency representation, by grouping the pixels into 8 × 8 pixel blocks and transforming the pixel blocks into 64 DCT coefficients each. A modification of a single DCT coefficient will affect all 64 image pixels in that block. The next step is the quantization phase of the compression. Here another biological property of the human eye is exploited: The human eye is fairly good at spotting small

Page 12: Introduction - Copy (3) - Copy

differences in brightness over a relatively large area, but not so good as to distinguish between different strengths in high frequency brightness. This means that the strength of higher frequencies can be diminished, without changing the appearance of the image. JPEG does this by dividing all the values in a block by a quantization coefficient. The results are rounded to integer values and the coefficients are encoded using Huffman coding to further reduce the size.

JPEG steganography

Originally it was thought that steganography would not be possible to use with JPEG images, since they use lossy compression which results in parts of the image data being altered. One of the major characteristics of steganography is the fact that information is hidden in the redundant bits of an object and since redundant bits are left out when using JPEG it was feared that the hidden message would be destroyed. Even if one could

somehow keep the message intact it would be difficult to embed the message without the changes being noticeable because of the harsh compression applied. However, properties of the compression algorithm have been exploited in order to develop a steganographic algorithm for JPEGs. One of these properties of JPEG is exploited to make the changes to the image invisible to the human eye. During the DCT transformation phase of the compression algorithm, rounding errors occur in the coefficient data that are not noticeable. Although this property is what classifies the algorithm as being lossy, this property can also be used to hide messages. It is neither feasible nor possible to embed information in an image that uses lossy compression, since the compression would destroy all information in the process. Thus it is important to recognize that the JPEG compression algorithm is actually divided into lossy and lossless stages. The DCT and the quantization phase form part of the lossy stage, while the Huffman encoding used to further compress the data is lossless. Steganography can take place between these two stages. Using the same principles of LSB insertion the message can be embedded into the least significant bits of the coefficients before applying the Huffmanencoding. By embedding the information at this stage, in the transform domain, it is extremely difficult to detect, since it is not in the visual domain.

Page 13: Introduction - Copy (3) - Copy

CHAPTER 9

IMAGE OR TRANSFER

DOMAIN

As seen in Figure1.4, some steganographic algorithms can either be categorised as being in the image domain or in the transform domain depending on the implementation.  PatchworkPatchwork is a statistical technique that uses redundant pattern encoding to embed a message in an image.The algorithm adds redundancy to the hidden information and then scatters it throughout the image. A pseudorandom generator is used to select two areas of the image (or patches), patch A and patch B. All the pixels in patch A is lightened while the pixels in patch B is darkened. In other words the intensities of thepixels in the one patch are increased by a constant value, while the pixels of the other patch are decreased with the same constant value. The contrast changes in this patch subset encodes one bit and the changes are typically small and imperceptible, while not changing the average luminosity. A disadvantage of the patchwork approach is that only one bit is embedded. One can embed more bits by first dividing the image into sub-images and applying the embedding to each of them. The advantage of using this technique is that the secret message is distributed over the entire image, so should one patch be destroyed, the others may still survive. This however, depends on the message size, since the message can only be repeated throughout the image if it is small enough. If the message is too big, it can only be embedded once. The patchwork approach is used independent of the host image and proves to be quite robust as the hidden message can survive conversion between lossy and lossless compression.

Page 14: Introduction - Copy (3) - Copy

CHAPTER 10

Spread SpectrumIn spread spectrum techniques, hidden data is spread throughout the cover-image making it harder to detect. A system proposed by Marvel et al. combines spread spectrum communication, error control coding and imageprocessing to hide information in images. Spread spectrum communication can be defined as the process of spreading the bandwidth of a narrowbandsignal across a wide band of frequencies. This can be accomplished by adjusting the narrowband waveform with a wideband waveform, such as white noise. After spreading, the energy of the narrowband signal in anyone frequency band is low and therefore difficult to detect. In spread spectrum image steganography the message is embedded in noise and then combined with the cover image to produce the stego image. Since thepower of the embedded signal is much lower than the power of the cover image, the embedded image is not perceptible to the human eye or by computer analysis without access to the original image.

STEGANOGRAPHYVERSUS

CRYPTOGRAPHY

Cryptography is the study of hiding information, while Steganography deals with composing hidden messages so that only the sender and the receiver know that the message even exists. In Steganography, only the sender and the receiver know the continuation of the message, while in cryptography the existence of the encrypted message is visible to the world. Owing to this, Steganography removes the superfluous attention coming to the hidden message. Cryptographic methods try to defend the content of a message, while Steganography uses methods that would hide both the message as well as the content. By combining Steganography and Cryptography one can achieve better refuge.

Steganography and Cryptography can be combinedThe message can also be encrypted before it is hidden inside a cover message. This provides a double layer of protection. To begin with, encryption may make the existence of the message even more difficult to detect, due to the fact that some encryption techniques cause the patterns of the characters in the encrypted version to be more random than in the original version. In addition, even if the existence of the encrypted message is detected, it is unlikely that an eavesdropper will be able to read the message.

HIDING THE MESSAGEThis program hides the message in the image by doing the following:Reducing the message to the 64-character set beginning with the space character in the ASCII table. Each character can then be represented by six

Page 15: Introduction - Copy (3) - Copy

bits. Decomposing each six-bit character into three groups of two bits each.Replacing the two least-significant bits (LSB) in the red, green, and blue values for a given pixel by the three groups of two bits. Thus, each pixel can carry one six-bit character

Page 16: Introduction - Copy (3) - Copy

CHAPTER 11

SYSTEM REQUIREMENTS

HARDWARE REQUIREMENTS

Processor : Pentium IIIMain memory:Minimum : 64MBRecommended : 128MBHard disk:Minimum : 10.2GBRecommended : 40GBClock Speed : 866 MHzVirtual Memory : 32BitsCache memory : 512KBFloppy disk drive : 1.44MB

SOFTWARE REQUIREMENTS

Operating system used: WINDOWS 7Platform used: MATLAB 2009A

Page 17: Introduction - Copy (3) - Copy

CHAPTER 12

TECHNIQUE USED

Image Files Steganography Image files are also used to hide data for communication. An image file is an array of numbers that constitutes light intensities . In this approach, the data can be hidden in a color image or a gray scale image. Gray-scale images were given more importance because of their variation in shades. This will increase the scope for hiding information . In the process of embedding the image file, the confidential data that should be hidden in the image file is first embedded using a cryptographic algorithm. Then the embedded data is embedded into the image file, which in turn results in a stego-image. Then a stego-key is used during the hiding process to send the image securely to the receiver. After the image is received at the other end, the receiver will extract the data from the image. In order to extract the message, the receiver requires a shared secret key. The extraction process detailed is a cryptographic algorithm or a stego-key approach. To improve this process, message compression can be applied, so that data security is maintained at a higher degree. Compressing an image produces better results during steganography. There are two types of image compression techniques: Lossy Compression and Lossless Compression. The Lossy Compression method has various disadvantages and not an efficient technique. This project focuses on the Lossless Compression method. It was found that the results produced by the Loss Less Compression are much better. In the Lossless Compression technique, the originality of the digital image is maintained. Some of the examples of Lossless Compression are Microsoft’s 5 Bitmap, CompServ’s GIF etc. In Lossless Compression technique, 256 shades of grey for 8-bitimage sizes are used.There are many other methods for hiding message bits. One of the efficient methods of storing the message bits is “Least Significant Bit Replacement Technique” which is one among many techniques used for data hiding.

Least Significant Bit Replacement Technique All image steganography techniques try to alter insignificant information. Of them, LSB encoding is the most simple and common approach for embedding data. By altering the least significant bit, the image quality is not compromised. Hence, this will help in preserving the confidential information. In this technique, the data that needs to be hidden is embedded in the least significant bits (LSB) of the pixels of the cover image. This modified image is known as “stego-image”. Due to the changes in the bytes of the image, there might be some traces of isolated pixels if the pixel location was uniform. Hence,

Page 18: Introduction - Copy (3) - Copy

proper care should be taken while the cover image is selected. The most important factor that should be considered while selecting a covered image is that the image should be a composition of large amounts of small details. While storing the data using 24-bit image, 3 bits can be stored in each pixel. The green, blue and red color components were represented in bytes. For example, if a 24-bit color image is considered and 3 pixels were selected as shown in Figure 2.1 (00101111 01010100 11011000) (11001000 11111100 11011000) (00110111 00010111 01011011)iif a character “A” holding a binary value 10000001 is inserted, the following results are produced. (00101111 01010101 11011000) (11001001 11111100 11011001) (00110111 00010111 01011011) So from the example, the letter “A” is embedded into the first 8 bytes, which in turn modifies 3 bits.

Figure: 1.5 LSB for Image-Steganography

Algorithm for LSB The following are the sequence of steps that were followed to hide the data: Step 1: Actual image and the data to be hidden were read. Step 2: n bits shift operation was performed Step 3: Shift operation was performed for the cover image with 11110000 so that MSB’s were set to 0 Step 4: After the shift operation both are bitored. This results in changes to the n LSB bits and hence the data or the confidential image is stored into the cover image. An additional functionality (hiding the bit in a pixel) to the existing LSB method can be used to make the data more secure. In order to do this, the pixel is made to satisfy some minimum conditions that are stated as follows, 1) Adjacent neighbor’s brightness variance is made to be very high or very low or else the pixel will be skipped . Hence these tests were passed by the pixel. This process is done so that the analyst can know about the pixels. 2) During this process if any of the pixels does not

Page 19: Introduction - Copy (3) - Copy

pass the tests the pixel retains its original value. 3) Soon after the stego-image is received the original image should be destroyed so that the attacker cannot track the hidden information.

Audio Steganography Many techniques were proposed in order to perform steganography in audio files amongst which, LSB (Least Significant Bit) method is the most widely used method. Another method named “Lifting Wavelet Domain” is used for hiding in the audio files. The pseudo-noise is embedded so that the security factor can be improved. In this technique, the wavelet is placed in the fifth resolution so that the output is a string, which consists of six sub-bands (CA1, CD1, CD2, CD3, CD4, and CD5) as shown in Figure 1.6. Every sub-band belongs to a specific resolution level. From the above sub-bands it is determined that, to calculate the fifth level transform; the first level transform should be calculated first so that CA1 and CD1 coefficients are determined. For the next phase, the transformation for CA1 coefficients is performed. Hence this procedure is followed to generate all the coefficients. After the coefficients are generated, a check is performed to find if there are any strings that are left over in the lower level and then those are also transformed until the string results in fifth resolution level.

Figure.1.6 Wavelet Implementation

Algorithm Here are the steps that are implemented for hiding data: 1) Fifth level transforms are applied on discrete samples and are filtered to produce integer coefficients. Threshold value is computed with the integer coefficients.2) Now the steam of string is jumbled by random number generator and hidden with secret key. 3) The String is replaces based on the obtained threshold value. Finally an inverse LWT is performed. Then the coefficients are converted into time domain to produce a time stego signal.

Page 20: Introduction - Copy (3) - Copy

CHAPTER 13

CODING

Matlab code

function varargout = mainform(varargin)% MAINFORM M-file for mainform.fig% MAINFORM, by itself, creates a new MAINFORM or raises the existing% singleton*.%% H = MAINFORM returns the handle to a new MAINFORM or the handle to% the existing singleton*.%% MAINFORM('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in MAINFORM.M with the given input arguments.%% MAINFORM('Property','Value',...) creates a new MAINFORM or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before mainform_OpeningFcn gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to mainform_OpeningFcn via varargin.%% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help mainform % Last Modified by GUIDE v2.5 19-Apr-2012 21:35:10 % Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @mainform_OpeningFcn, ... 'gui_OutputFcn', @mainform_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []);if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1});end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});else gui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT % --- Executes just before mainform is made visible.function mainform_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to mainform (see VARARGIN) % Choose default command line output for mainformhandles.output = hObject;

Page 21: Introduction - Copy (3) - Copy

% Update handles structureguidata(hObject, handles); % Prepare space for image displayaxes(handles.axes2);axis off; % UIWAIT makes mainform wait for user response (see UIRESUME)% uiwait(handles.figure1); % Clear main Matlab windowsclc; % Clear all variablesclear all; % --- Outputs from this function are returned to the command line.function varargout = mainform_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structurevarargout{1} = handles.output; % --- Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % --- Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)global image_loaded;% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%% Invoke file selection window[filename,pathname]=uigetfile({'*.jpg';'*.bmp'},'Wybierz obraz'); % Load imageimage_loaded = imread(filename);image(image_loaded,'parent',handles.axes2);axes(handles.axes2);axis off; % Make button and text area activeset(handles.edit1,'Enable','on');set(handles.pushbutton3,'Enable','on');set(handles.pushbutton4,'Enable','on'); % Display filename under imageset(handles.text3,'String',filename); function edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text% str2double(get(hObject,'String')) returns contents of edit1 as a double % --- Executes during object creation, after setting all properties.function edit1_CreateFcn(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

Page 22: Introduction - Copy (3) - Copy

% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end % --- Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles)global image_loaded;% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) image_temporary = image_loaded; % Generate watermark bits from text areawatermark = zeros(1,192);ascii_codes = unicode2native(get(handles.edit1,'String'), 'ISO-8859-1')for l=1:size(ascii_codes,2) code_string=num2str(dec2bin(ascii_codes(l),8)); for m=1:8 code_string(m); watermark(m+((l-1)*8))=eval(code_string(m)); endend % Display watermark in Matlab windowwatermark % Conversion RGB -> YCbCrimage_temporary_ycbcr = rgb2ycbcr(image_temporary); % Extract Y, Cb, Cr componentsy=image_temporary_ycbcr(:,:,1);cb=image_temporary_ycbcr(:,:,2);cr=image_temporary_ycbcr(:,:,3); % Create LSB martix for Cb and Cr components% For 2-bit coding use mod(component,4)lsbits_cb = mod(cb,2);lsbits_cr = mod(cr,2); % --WATERMARK EMBEDDING ALGORITHM-- bit_position=1; for w=1:(300/25) for k=1:(400/25) % Embed watermark bits in blocks 25x25 if mod((w+k),2)==0 if(watermark(bit_position)==1) % If current watermark bit is 1, then LSB of Cb is 0 and LSB of Cr is 1 % cb=cb-lsbits_cb % cr=cr-lsbits_cr+1; % For 2-bit coding use cr()=cr()+3; cb(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)=cb(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)-lsbits_cb(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25); cr(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)=cr(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)-lsbits_cr(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)+1; else % If current watermark bit is 0, then LSB of Cb is 1 and LSB of Cr is 0 cr(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)=cr(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)-lsbits_cr(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25);

cb(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)=cb(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)-lsbits_cb(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)+1; end else

Page 23: Introduction - Copy (3) - Copy

% Oppoosite scheme in adjacents blocks if(watermark(bit_position)==1) cr(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)=cr(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)-lsbits_cr(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25); cb(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)=cb(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)-lsbits_cb(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)+1; else cb(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)=cb(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)-lsbits_cb(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25); cr(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)=cr(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)-lsbits_cr(((w-1)*25)+1:w*25,((k-1)*25)+1:k*25)+1; end end bit_position=bit_position+1; endend % Create result imageimage_temporary_ycbcr(:,:,1)=y;image_temporary_ycbcr(:,:,2)=cb;image_temporary_ycbcr(:,:,3)=cr; % Conversion YCbCr -> RGBimage_output = ycbcr2rgb(image_temporary_ycbcr); % Save result fileimwrite(image_output,'output.bmp','bmp'); % Load watermarked imageimage_loaded = image_output; image(image_loaded,'parent',handles.axes2);axes(handles.axes2);axis off; % Display filename under imageset(handles.text3,'String','output.bmp'); % --- Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)% hObject handle to pushbutton4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global image_loaded;image_temporary = image_loaded; % Define starting watermark payload as zero bitswatermark = zeros(1,192); % Conversion RGB -> YCbCrimage_temporary_ycbcr = rgb2ycbcr(image_temporary); % Extract Y, Cb, Cr componentsy=image_temporary_ycbcr(:,:,1);cb=image_temporary_ycbcr(:,:,2);cr=image_temporary_ycbcr(:,:,3); % Create LSB martix for Cb and Cr componentslsbits_cb = mod(cb,2);lsbits_cr = mod(cr,2); % --WATERMARK EXTRACTION ALGORITHM--bit_position=1; % Counters used for deciding watermark value in block

counter0=0;counter1=0; for blok_w=1:(300/25) for blok_k=1:(400/25) % Read image in blocks 25x25 if mod((blok_w+blok_k),2)==0

Page 24: Introduction - Copy (3) - Copy

for w=((blok_w-1)*25)+1:blok_w*25 for k=((blok_k-1)*25)+1:blok_k*25 if lsbits_cb(w,k)<1 % For 2-bit coding use lsbits_cb()<2; counter1=counter1+1; else counter0=counter0+1; end if lsbits_cr(w,k)>=1 counter1=counter1+1; else counter0=counter0+1; end end end else for w=((blok_w-1)*25)+1:blok_w*25 for k=((blok_k-1)*25)+1:blok_k*25 if lsbits_cb(w,k)>=1 counter1=counter1+1; else counter0=counter0+1; end if lsbits_cr(w,k)<1 counter1=counter1+1; else counter0=counter0+1; end end end end % Decision of watermark bit value in current block if counter0 > counter1 watermark(bit_position)=0; else watermark(bit_position)=1; end % Move to next position in watermark bit_position=bit_position+1; % Reset counters counter0=0; counter1=0; endend % Conversion of binary form of watermark to text displayed in text arearead_bit=1;for read_byte=1:(192/8) ascii_code=0; for read_bit=1:8 bit_decimal_value=watermark(read_bit+((read_byte-1)*8))*2^(abs((read_bit-1)-7)); ascii_code=ascii_code+bit_decimal_value; end napis(read_byte)=ascii_code;end % Display read text in text areaset(handles.edit2,'String',char(native2unicode(napis, 'ISO-8859-1'))); function edit2_Callback(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit2 as text% str2double(get(hObject,'String')) returns contents of edit2 as a double % --- Executes during object creation, after setting all properties.function edit2_CreateFcn(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB

Page 25: Introduction - Copy (3) - Copy

% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end % --- Executes on button press in pushbutton5.function pushbutton5_Callback(hObject, eventdata, handles)% hObject handle to pushbutton5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)helpdlg({'Simple watermark embedding system','','Krzysztof Parobczak,','Military University of Technology','Warsaw, Poland','','2010'}); function edit3_Callback(hObject, eventdata, handles)% hObject handle to edit3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit3 as text% str2double(get(hObject,'String')) returns contents of edit3 as a double % --- Executes during object creation, after setting all properties.function edit3_CreateFcn(hObject, eventdata, handles)% hObject handle to edit3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end function edit4_Callback(hObject, eventdata, handles)% hObject handle to edit4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit4 as text% str2double(get(hObject,'String')) returns contents of edit4 as a double % --- Executes during object creation, after setting all properties.function edit4_CreateFcn(hObject, eventdata, handles)% hObject handle to edit4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end % --- Executes on button press in pushbutton1.function pushbutton6_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)

Page 26: Introduction - Copy (3) - Copy

value1=get(handles.radiobutton1,'value');value2=get(handles.radiobutton2,'value');if value1==1 [handles.fname, handles.pname] = uigetfile('*.wav','Select a file'); set(handles.pushbutton7,'enable','on'); guidata(hObject, handles); %update handle structure endif value2==1 set(handles.pushbutton6,'enable','off'); [filename, pathname] = uigetfile('*.wav','Select a file'); [y,fs,nbits,opts]=wavread([pathname filename],[1 2]); %open the file with hidden text fid1=fopen([pathname filename],'r'); header=fread(fid1,40,'uint8=>char'); data_size=fread(fid1,1,'uint32'); %read the wave data samples [dta,count]=fread(fid1,inf,'uint16'); %close the file,only wav data samples are sufficient for extracting the text fclose(fid1); lsb=1; identity=bitget(dta(1:8),lsb)'; if identity==[1 0 1 0 1 0 1 0] %extract the length of text from first 9th to 28th wav data samples len_bin=zeros(20,1); m_bin=zeros(10,1); n_bin=zeros(10,1); m_bin(1:10)=bitget(dta(9:18),lsb); n_bin(1:10)=bitget(dta(19:28),lsb); %convert the length to decimal %len=bi2de((len_bin)'); m=bi2de(m_bin'); n=bi2de(n_bin'); len=m*n*8; secmsg_bin=zeros(len,1); %extract the lsb from wave data sample secmsg_bin(1:len)=bitget(dta(29:28+len),lsb); secmsg_bin_re=reshape(secmsg_bin,len/8,8); secmsg_double=bi2de(secmsg_bin_re); %convert it to decimal secmsg=char(reshape(secmsg_double,m,n)); %convert to char(ASCII) %size(secmsg) %secmsg=reshape(secmsg,m,n/8); set(handles.edit4,'string',secmsg); else msgbox('File has no hidden text','Empty'); endend% --- Executes on button press in pushbutton2.function pushbutton7_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)

msg=get(handles.edit3,'string'); if length(msg)==0 msgbox('Please type some text','Empty');else [y,fs,nbits,opts]=wavread([handles.pname handles.fname],[1 2]); %open a wav file for hidding text fid1=fopen([handles.pname handles.fname],'r'); %first 40 bytes make wav header,store the header header=fread(fid1,40,'uint8=>char'); %41st byte to 43rd byte,length of wav data samples data_size=fread(fid1,1,'uint32');

Page 27: Introduction - Copy (3) - Copy

%copy the 16 bit wav data samples starting from 44th byte [dta,count]=fread(fid1,inf,'uint16'); %close the file, only wav data samples are sufficient to hide the text fclose(fid1); lsb=1; msg=get(handles.edit3,'string'); %get text message from editbox [ro,co]=size(msg); if ( (ro*co*8+28) > count ) msgbox('Message too big, select small message','Empty'); else [m_msg,n_msg]=size(msg); msg_double=double(msg); %convert it to double msg_bin=de2bi(msg_double,8); %then convert message to binary [m,n]=size(msg_bin); %size of message binary msg_bin_re=reshape(msg_bin,m*n,1); %reshape the message binary in a column vector m_bin=de2bi(m_msg,10)'; % n_bin=de2bi(n_msg,10)'; % len=length(msg_bin_re); %length of message binary len_bin=de2bi(len,20)'; %convert the length to binary %hide identity in first 8 wav data samples. identity=[1 0 1 0 1 0 1 0]'; dta(1:8)=bitset(dta(1:8),lsb,identity(1:8)); %hide binary length of message from 9th to 28 th sample dta(9:18)=bitset(dta(9:18),lsb,m_bin(1:10)); dta(19:28)=bitset(dta(19:28),lsb,n_bin(1:10)); %hide the message binary starting from 29th position of wave data samples dta(29:28+len)=bitset(dta(29:28+len),lsb,msg_bin(1:len)'); randname=num2str(randint(1,1,[1 2000])); %open a new wav file in write mode fid2=fopen(['new' randname '.wav'],'w'); %copy the header of original wave file fwrite(fid2,header,'uint8'); fwrite(fid2,data_size,'uint32'); %copy the wav data samples with hidden text in new file fwrite(fid2,dta,'uint16'); fclose(fid2); msgbox(['Your text is hidden in new' randname '.wav file'],''); set(hObject,'enable','off'); end

end % --- Executes on button press in radiobutton2.function radiobutton2_Callback(hObject, eventdata, handles)% hObject handle to radiobutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hint: get(hObject,'Value') returns toggle state of radiobutton2set(hObject,'value',1);set(handles.text2,'string','Select a wav file in which text is already hidden');set(handles.pushbutton7,'enable','off'); % --- Executes on button press in radiobutton1.function radiobutton1_Callback(hObject, eventdata, handles)% hObject handle to radiobutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)

Page 28: Introduction - Copy (3) - Copy

CHAPTER 14

% Hint: get(hObject,'Value') returns toggle state of radiobutton1set(hObject,'value',1);set(handles.text2,'string','Select a wav file in which you want to hide text')

IMPLEMENTATION

Step 1:

Application is started

Page 29: Introduction - Copy (3) - Copy

fig 1.7

Step 2:Data which to be hidded is written in the message box

fig 1.8

Step3Data written is hidden in the selected jpg file and is stored in another file named output.bmp. the selected file is then loaded to retrieve the message at the receiver site

fig 1.9

Now the audio steganography

Step 4An audio wave file is loaded and message is written in message box.

Page 30: Introduction - Copy (3) - Copy

CHAPTER 15

fig 1.10

Step 5Audio steganography is performed and the file containing hidden message is stored in file named 1810.wav.

fig 1.11

Step 6Data is retrieve at the receiver side by using the wave file 1810.

fig1.12

ADVANTAGESAND

Page 31: Introduction - Copy (3) - Copy

DISADVANTAGES

Steganography has some pretty standard advantages and disadvantages. The advantages are that the hidden text doesn't stand out. It can be passed in innocuous content like an image. By making some slight changes to color values, for example, you can transmit a few bits here and there that are practically undetectable.

The downside usually includes things like size and protection. You usually have to send much more padding around your secret text so that your secret text doesn't stand out. If you're only sending something simple like GPS coordinates or an email address, that's fine. But if you have a long document (e.g., a book) that you want to hide with steganography, it's pretty hard. And then there's the protection factor: typically secrets that are protected by steganography are not protected by anything else. If no one sees it, it's safe. If they see it, though, it's game over.The advantage of steganography, over cryptography alone, is that messages do not attract attention to themselves. Plainly visible encrypted messages—no matter how unbreakable—will arouse suspicion, and may in themselves be incriminating in countries where encryption is illegal.Therefore, whereas cryptography protects the contents of a message, steganography can be said to protect both messages and communicating parties.

However, it can also pose serious problems because it's difficult to detect. Network surveillance and monitoring systems will not flag messages or files that contain steganographic data. Therefore, if someone attempted to steal confidential data, they could conceal it within another file and send it in an innocent looking email.

Page 32: Introduction - Copy (3) - Copy

CHAPTER 16

APPLICATION

Steganography is applicable to, but not limited to, the following areas.

   1) Confidential communication and secret data storing   2) Protection of data alteration   3) Access control system for digital content distribution   4) Media Database systemsThe area differs in what feature of the steganography is utilized in each system. Confidential communication and secret data storing

The "secrecy" of the embedded data is essential in this area.Historically, steganography have been approached in this area. Steganography provides us with:   (A) Potential capability to hide the existence of confidential data   (B) Hardness of detecting the hidden (i.e., embedded) data   (C) Strengthening of the secrecy of the encrypted data

In practice, when you use some steganography, you must first select a vessel data according to the size of the embedding data. The vessel should be innocuous. Then, you embed the confidential data by using an embedding program (which is one component of the steganography software) together with some key. When extracting, you (or your party) use an extracting program (another component) to recover the embedded data by the same key ( "common key" in terms of cryptography). In this case you need a "key negotiation" before you start communication.

Attaching a stego file to an e-mail message is the simplest example in this application area. But you and your party must do a "sending-and-receiving" action that could be noticed by a third party. So, e-mailing is not a completely secret communication method.

Page 33: Introduction - Copy (3) - Copy

There is an easy method that has no key-negotiation. We have a model of "Anonymous Covert Mailing System." See the reference [7].

There is some other communication method that uses the Internet Webpage. In this method you don't need to send anything to your party, and no one can detect your communication.

Each secrecy based application needs an embedding process which leaves the smallest embedding evidence. You may follow the following.

  (A) Choose a large vessel, larger the better, compared with the embedding data.  (B) Discard the original vessel after embedding.

For example, in the case of Qtech Hide & View, it leaves some latent embedding evidence even if the vessel has a very large embedding capacity. You are recommended to embed only 25% or less (for PNG / BMP output) of the maximum capacity, or only 3% of the vessel size (for JPEG output)..

Protection of data alteration

We take advantage of the fragility of the embedded data in this application area.

However, this fragility opens a new direction toward an information-alteration protective system such as a "Digital Certificate Document System." The most novel point among others is that "no authentication bureau is needed." If it is implemented, people can send their "digital certificate data" to any place in the world through Internet. No one can forge, alter, nor tamper such certificate data. If forged, altered, or tampered, it is easily detected by the extraction program.

Page 34: Introduction - Copy (3) - Copy

Access control system for digital content distribution

In this area embedded data is "hidden", but is "explained" to publicize the content.

Today, digital contents are getting more and more commonly distributed by Internet than ever before. For example, music companies release new albums on their Webpage in a free or charged manner. However, in this case, all the contents are equally distributed to the people who accessed the page. So, an ordinary Web distribution scheme is not suited for a "case-by-case" and "selective" distribution. Of course it is always possible to attach digital content to e-mail messages and send to the customers. But it will takes a lot of cost in time and labor.

If you have some valuable content, which you think it is okay to provide others if they really need it, and if it is possible to upload such content on the Web in some covert manner. And if you can issue a special "access key" to extract the content selectively, you will be very happy about it. A steganographic scheme can help realize a this type of system.

We have developed a prototype of an "Access Control System" for digital content distribution through Internet. The following steps explain the scheme.

(1) A content owner classify his/her digital contents in a folder-by-folder manner, and embed the whole folders in some large vessel according to a steganographic method using folder access keys, and upload the embedded vessel (stego data) on his/her own Webpage.

(2)  On that Webpage the owner explains the contents in depth and publicize worldwide. The contact information to the owner (post mail address, e-mail address, phone number, etc.) will be posted there.

(3) The owner may receive an access-request from a customer who watched that Webpage. In that case, the owner may (or may not) creates an access key and provide it to the customer (free or charged)..

Page 35: Introduction - Copy (3) - Copy

In this mechanism the most important point is, a "selective extraction" is possible or not.

We have already developed such a selective extraction program to implement the system.

Media Database systemsIn this application area of steganography secrecy is not important, but unifying two types of data into one is the most important.  Media data (photo picture, movie, music, etc.) have some association with other information. A photo picture, for instance, may have the following.

  (1) The title of the picture and some physical object information  (2) The date and the time when the picture was taken  (3) The camera and the photographer's information

Formerly, these are annotated beside the each picture in the album. Recently, almost all cameras are digitalized. They are cheap in price, easy to use, quick to shoot. They eventually made people feel reluctant to work on annotating each picture. Now, most home PC's are stuck with the huge amount of photo files. In this situation it is very hard to find a specific shot in the piles of pictures. A "photo album software" may help a little. You can sort the pictures and put a couple of annotation words to each photo. When you want to find a specific picture, you can make a search by keywords for the target picture. However, the annotation data in such software are not unified with the target pictures. Each annotation only has a link to the picture. Therefore, when you transfer the pictures to a different album software, all the annotation data are lost. This problem is technically referred to as "Metadata (e.g., annotation data) in a media database system (a photo album software) are separated from the media data (photo data) in the database managing system (DBMS)." This is a big problem.

Page 36: Introduction - Copy (3) - Copy

CHAPTER 17

Steganography can solve this problem because a steganography program unifies two types of data into one by way of embedding operation. So, metadata can easily be transferred from one system to another without hitch. Specifically, you can embed all your good/bad memory (of your sight-seeing trip) in each snap shot of the digital photo. You can either send the embedded picture to your friend to extract your memory on his/her PC, or you may keep it silent in your own PC to enjoy extracting the memory ten years after. If  a "motion picture steganography system" has been developed in the near future, a keyword based movie-scene retrieving system will be implemented. It will be a step to a "semantic movie retrieval system." The following Website will introduce you to an interesting application of steganography (especially, BPCS) in embedding XML data in archival document image data .

CONCLUSION

Page 37: Introduction - Copy (3) - Copy

CHAPTER 18

Steganographic techniques are best suited as good carrier techniques for confidential data transfers. There are different types of steganographic techniques for storing the data based on the size. But to store little data there are not very good techniques available. So, to maintain confidentiality and perform a secure communication “PowerPoint” files steganographic technique can be considered as a better idea. So, the project work proposed a new technique of storing the data i.e. in the sound/animation effects of a PowerPoint file. It is highly unimaginable about data existence in sound/custom effects and it could be very hard to crack such data without having the codebook or the details of the text. A user interface for both the sender and receiver is designed to make their job easy so that even the novice user can use this application to exchange the confidential information.

FUTURE SCOPE

Page 38: Introduction - Copy (3) - Copy

CHAPTER 19

This project is still in the initial stages of development and there is no proof of concept for the project. Development should be improved to

increase the storage capacity. The major drawback with this application is the storage capacity of the secure data. To overcome this drawback, audio file steganography and video file steganography can be implemented on

animation file steganography i.e. information is stored in the images, videos and audio that are present in the PowerPoint file. So, by embedding data into the images and audio of the PowerPoint file more information or

data storage capacity can be increased up to 1MB.

REFERENCE

Page 39: Introduction - Copy (3) - Copy

1)http:// www.wikepedia.com2)http://www.jjtc.com/steganography3)http://www.mathwork.com4)http://www.seminarproject.com5)http://www.google.com