Site hosted by Angelfire.com: Build your free website today!

Data Hiding Overview

 

What is Data Hiding?

Data Hiding or Steganography is the art and science of hiding messages in a way that prevents the casual observer or the determined attacker that the hidden message exists. It is an ancient art, going back as far as the need for secret communications goes. Throughout history various cultures have relied on two separate means of keeping information hidden from the enemy: Cryptography and Steganography. The point of Cryptography, in contrast with Steganography, is to scramble a given message so badly that even if the enemy recovers the message they will have very difficult time figuring out what the content of the message was. Steganography takes the opposite approach by hiding the message somewhere so that it is never detected by the enemy in the first place.

Why is Data Hiding Important?

There are several reasons why would someone want to hide the existence of their communications. First, as previously mentioned, if the enemy (let's say a large government organization) wants to intercept sensitive information, they must first capture transmissions, then sort through it for target messages, and then break any forms of encryption that may have been applied to these messages. This process traditionally has been easy for large governments to do up to and possibly including the process of breaking the encryption on the message. But what if someone were to disguise his or her message so that it was not targeted for analysis in the first place? That is where Steganography comes in. It does not matter how fast a given organization's supercomputers are if they do not have cipher text to attack in the first place. Another scenario along the lines of powerful attacks by large organizations has to do with the ability of civilians to use encryption. In some countries in the world use of cryptography is actually forbidden for civilians, and therefore Steganography becomes the means by which they hide their encrypted data. Large governments are not the only threats to a citizen's privacy.

Data Hiding Requirements

Morimoto (1995) defined the requirements of successful data hiding system are as follows:
(1). Perceivable degradation of the host signal should be minimized - the embedded data needs to be "invisible" or "inaudible". (2). The information has to be directly embedded into the data stream of the host signal, rather than into header or attached file, so that the embedded data will remain encoded across different file formats.
(3). The embedded data should be immune to common modifications ranging from the incidental to intentional, i.e., transmission line noise, compression, filtering, re-sampling, cropping, etc.
(4). Asymmetrical codingi is desirable since the decode key may be open to the public.
(5). A data restoration schema, such as Error Correction Coding, should be used to ensure the integrity of the embedded data after the modification of the host signal.
(6). The embedded data should be self-clocking or arbitrary re-entrant. This ensures that the embedded data can be recovered when the only fragments of the host signals are available, for instance, if a sufficiently large piece of an image is extracted from a larger picture, data embedded in original picture can be recovered. This feature also facilitates automatic decoding of the hidden data since there is no need to refer to the original host signal.

Data Hiding Techniques

There are many data hiding techniques have been developed. For example, in (Hwang et al. 2000), the authors use neural networks to embed the copyright owner's logo into the image for copyright protection. This type application of information hiding is called digital watermarking. However, different applications of information hiding have to meet their own requirements. This project is aimed at image hiding, which refers to the embedding of a secret image into another unimportant image. The negligible image is called "cover image". When the embedding process is done, the cover image has been slightly changed. We call the changed image "stego-image". The so-called stegangraphy is the term used for the information hiding technique (Pfitzmann, 1996). Image hiding is useful to deliver confidential images, which are well camouflaged. The main requirements for image hiding techniques are embedding capacity and security. Besides, of course the difference between the cover image and the stego-image should be perceptually invisible. Moreover, Bender (1996) classifies the techniques for Data hiding in still images into two. Those are:
(1). Low bit-rate encoding, expect a high level of robustness in return for low bandwidth. The emphasis is on resistance to attempts of data removal by a third party. The methods for low bit-rate data hiding in images such as: - Patchwork: A statistical approach. Patchwork invisibly embeds in a host image a specific statistic. There are several limitations inherent to the Patchwork technique. The first is the extremely low embedded data rate it yields, usually a one-bit signature per image. Second, it is necessary to register where the pixels in the image lie. - Texture Block Coding: A visual approach. This method hides data within the continuous random texture patterns of a picture. It is implemented by copying a region from a random texture pattern found in a picture to an area that has similar texture.
(2). High bit-rate coding, can be designed to have minimal impact upon the perception of the host signal, but they do not tend to be immune to image modifications. The method which is using high bit-rate coding techniques such as Affine coding. Affine Coding is a method that can be used to facilitate the recovery data after affine application.