In: Computer Science
Please no Plagiarism
Steganography:
Different type of algorithms, implementations, and write classic algorithms.
The word Steganography is derived from two Greek words- ‘stegos’ meaning ‘to cover’ and ‘grayfia’, meaning ‘writing’, thus translating to ‘covered writing’, or ‘hidden writing’. Steganography is a method of hiding secret data, by embedding it into an audio, video, image or text file. It is one of the methods employed to protect secret or sensitive data from malicious attacks.
How is it different from cryptography?
Cryptography and steganography are both methods used to hide or
protect secret data. However, they differ in the respect that
cryptography makes the data unreadable, or hides the
meaning of the data, while steganography hides
theexistence of the data.
In layman’s terms, cryptography is similar to writing a letter in a secret language: people can read it, but won’t understand what it means. However, the existence of a (probably secret) message would be obvious to anyone who sees the letter, and if someone either knows or figures out your secret language, then your message can easily be read.
If you were to use steganography in the same situation, you would hide the letter inside a pair of socks that you would be gifting the intended recipient of the letter. To those who don’t know about the message, it would look like there was nothing more to your gift than the socks. But the intended recipient knows what to look for, and finds the message hidden in them.
Similarly, if two users exchanged media files over the internet, it would be more difficult to determine whether these files contain hidden messages, than if they were communicating using cryptography.
Crpytography is often used to supplement the security offered by steganography. Crypography algorithms are used to encrypt secret data before embedding it into cover files.
The word "Steganography" is of Greek origin and means "covered or hidden writing". The main aim in steganography is to hide the very existence of the message in the cover medium. Steganography and cryptography are counter parts in digital security the obvious advantage of steganography over cryptography is that messages do not attract attention to themselves, to messengers, or to recipients. Also, the last decade has seen an exponential growth in the use of multimedia data over the Internet. These include Digital Images, Audio and Video files. This rise of digital content on the internet has further accelerated the research effort devoted to steganography. The initial aim of this study was to investigate steganography and how it is implemented. Based on this work a number of common methods of steganography could then be implemented and evaluated. The strengths and weaknesses of the chosen methods can then be analysed. To provide a common frame of reference all of the steganography methods implemented and analysed used GIF images. To make a steganographic communication even more secure the message can be compressed and encrypted before being hidden in the carrier. Cryptography and steganography can be used together[3]. If compressed the message will take up far less space in the carrier and will minimise the information to be sent. The random looking message which would result from encryption and compression would also be easier to hide than a message with a high degree of regularity. Therefore encryption and compression are recommended in conjunction with steganography Steganography refers to the science of “invisible" communication. Unlike cryptography, where the goal is to secure communications from an eavesdropper, steganographic techniques strive to hide the very presence of the message itself from an observer. The general idea of hiding some information in digital content has a wider class of applications that go beyond steganography,
In order to defeat the steganalytic attacks,algorithms have been proposed which try to restore the statistics which get distorted during the embedding procedure and which may be used for steganalysis.The techniques involved in such applications are collectively referred to as information hiding. For example, an image printed on a document could be annotated by metadata that could lead a user to its high resolution version. In general, metadata provides additional information about an image. Although metadata can also be stored in the file header of a digital image, this approach has many limitations. Usually, when a file is transformed to another format (e.g., from TIFF to JPEG or to BMP), the metadata is lost. Similarly, cropping or any other form of image manipulation destroys the metadata[5]. Finally, metadata can only be attached to an image as long as the image exists in the digital form and is lost once the image is printed. Information hiding allows the metadata to travel with the image regardless of the file format and image state (digital or analog).A special case of information hiding is digital watermarking. Digital watermarking is the process of embedding information into digital multimedia content such that the information (the watermark) can later be extracted or detected for a variety of purposes including copy prevention and control. Digital watermarking has become an active and important area of research, and development and commercialization of watermarking techniques is being deemed essential to help address some of the challenges faced by the rapid proliferation of digital content. The key difference between information hiding and watermarking is the absence of an active adversary. In watermarking applications like copyright protection and authentication, there is an active adversary that wouldattempt to remove, invalidate or forge watermarks. In information hiding there is no such active adversary as there is no value associated with the act of removing the information hidden in the content. Nevertheless, information hiding techniques need to be robust against accidental distortions. Unlike information hiding and digital watermarking, the main goal of steganography is to communicate securely in a completely undetectable manner. Steganography provides a means of secret communication which cannot be removed without significantly altering the data in which it is embedded. The embedded data will be confidential unless an attacker can find a way to detect it.
Confidentiality Integrity Unremovability
Encryption Yes No Yes
Digital Signatures No Yes No
Steganography Yes/No Yes/No Yes
Comparison of secret communication techniques
The modern formulation of steganography is often given in terms of the prisoner's problem where Alice and Bob are two inmates who wish to communicate in order to hatch an escape plan. However, all communication between them is examined by the warden, Wendy, who will put them in solitary confinement at the slightest suspicion of covert communication. Specifically, in the general model for steganography, illustrated in Fig. 2, we have Alice wishing to send a secret message m to Bob. In order to do so, she "embeds" m into a cover-object c, and obtains a stego-object s. The stego-object s is then sent through the public channel. Thus we have the following definitions: Cover-object: refers to the object used as the carrier to embed messages into. Many different objects have been employed to embed messages into for example images, audio, and video as well as file structures, and html pages to name a few. Stego-object: refers to the object which is carrying a hidden message. So given a cover object, and a messages the goal of the steganographer is to produce a stego object which would carry the message. In a pure steganography framework, the technique for embedding the message is unknown to Wendy and shared as a secret between Alice and Bob. However, it is generally considered that the algorithm in use is not secret but only the key used by the algorithm is kept as a secret between the two parties, this assumption is also known as Kerchoff's principle in the field of cryptography. The secret key, for example, can be a password used to seed a pseudo-random number generator to select pixel locations in an image cover-object for embedding the secretmessage (possibly encrypted).Wendy has no knowledge about the secret key that Alice and Bob share, although she is aware of the algorithm that they could be employing for embedding messages.
TYPES OF STEGANOGRAPHY:
Steganography can be split into two types, these are Fragile and Robust. The following section describes the definition of these two different types of steganography. Fragile steganography involves embedding information into a file which is destroyed if the file is modified. This method is unsuitable for recording the copyright holder of the file since it can be so easily removed, but is useful in situations where it is important to prove that the file has not been tampered with, such as using a file as evidence in a court of law, since any tampering would have removed the watermark. Fragile steganography techniques tend to be easier to implement than robust methods. Robust marking aims to embed information into a file which cannot easily be destroyed. Although no mark is truly indestructible, a system can be considered robust if the amount of changes required to remove the mark would render the file useless. Therefore the mark should be hidden in a part of the file where its removal would be easily perceived. There are two main types of robust marking. Fingerprinting involves hiding a unique identifier for the customer who originally acquired the file and therefore is allowed to use it. Should the file be found in the possession of somebody else, the copyright owner can use the fingerprint to identify which customer violated the license agreement by distributing a copy of the file. Unlike fingerprints, watermarks identify the copyright owner of the file, not the customer. Whereas fingerprints are used to identify people who violate the license agreement watermarks help with prosecuting those who have an illegal copy. Ideally fingerprinting should be used but for mass production of CDs, DVDs, etc it is not feasible to give each disk a separate fingerprint. Watermarks are typically hidden to prevent their detection and removal, they are said to be imperceptible watermarks. However this need not always be the case. Visible watermarks can be used and often take the form of a visual pattern overlaid on an image. The use of visible watermarks is similar to the use of watermarks in nondigital formats (such as the watermark on British money). 2.1 ALGORITHMS USED IN STEGANOGRAPHY There are four algorithms currently implemented, each use least significant bit steganography and some filter the image first. BLINDHIDE This is the simplest way to hide information in an image. It blindly hides because it just starts at the top left corner of the image and works it's way across the image (then down - in scan lines) pixel by pixel. As it goes along it changes the least significant bits of the pixel colours to match the message. To decode the process the least significant bits starting at the top left are read off. This is not very secure - it's really easy to read off the least significant bits. It also isn't very smart - if the message doesn't completely fill up the possible space then just the top part of the image is degraded but the bottom is left unchanged - making it easy to tell what's been changed.
Algorithm Pixel Swap
• Randomly select 2 pixels x1 and x2 from the cover image using a pseudo–random sequence.
• If the two pixels lie within a specified distance α (α=2 or 3 generally), they are suitable for embedding, otherwise generate another set of pixels.
• Pick up the message bit. If the message bit is zero (or one), check if x1 > x2 otherwise swap x1 and x2. Do the reverse operation for the message bit one (zero)
• For decoding, select the pixels using the same pseudo-random sequence. Check if the 2 pixels are within the pre-specified range α. If x1>x2, the message bit is zero (one) otherwise the message bit is one (zero).
This scheme preserves the first order statistic (histogram) inherently without applying separate restoration process. This scheme also does not add any visual distortion to the image since the threshold used for swapping of pixels is kept considerably small (α <=5) which only affects the least significant bit planes of an image. To measure the distortion introduced by the embedding in the cover image, the Peak Signal to Noise Ratio (PSNR) after embedding was observed for one hundred images.
HIDE SEEK
This algorithm randomly distributes the message across the image. It is named after "Hide and Seek" - a Windows 95 steganography tool that uses a similar technique. It uses a password to generate a random seed, then uses this seed to pick the first position to hide in. It continues to randomly generate positions until it has finished hiding the message. It's a little bit smarter about how it hides because you have to try every combination of pixels in every order to try and "crack" the algorithm - unless you have the password. It's still not the best method because it is not looking at the pixels it is hiding in - it might be more useful to figure out areas of the image where it is better to hide in.
FILTER FIRST
This algorithm filters the image using one of the inbuilt filters and then hides in the highest filter values first. It is essentially a fancier version of BlindHide as it doesn't require a password to retrieve the message. Because we are changing the pixels we need to be careful about filtering the picture because we don't want to use information for filtering that might change. If we do, then it may be difficult (if not impossible) to retrieve the message again. So this algorithm filters the most significant bits, and leaves the least significant bits to be changed. It is less noticeable on an image because using the filter ensures we are hiding in the parts of the image that are the least noticeable.
BATTLE STEG
The best of all. This algorithm performs "Battleship Steganography". It first filters the image then uses the highest filter values as "ships". The algorithm then randomly "shoots" at the image (like in HideSeek) and when it finds a "ship" it clusters it's shots around that hit in the hope of "sinking" the "ship". After a while it moves away to look for other ships. The effect this has is that the message is randomly hidden, but often hidden in the "best" parts to hide in thanks to the ships. It moves away to look for other ships so that we don't degrade an area of an image too greatly. It is secure because you need a password to retrieve the message. It is fairly effective because it is hiding (if you set the values right) the majority of the information in the best areas.
DYNAMIC BATTLESTEG AND FILTERFIRST
These two algorithms do the same as BattleSteg and FilterFirst, except they use dynamic programming to make the hiding process faster and less memory intensive. They are NOT compatible with the original algorithms because the order of pixels kept in the dynamic array is not exactly the same.
NEED FOR DATA HIDING
• Covert communication using images (secret message is hidden in a carrier image)
• Ownership of digital images, authentication, copyright
• Data integrity, fraud detection, self-correcting images
• Traitor-tracing (fingerprinting video-tapes)
• Adding captions to images, additional information, such as subtitles, to video, embedding subtitles or audio tracks to video (video-in-video)
• Intelligent browsers, automatic copyright information, viewing a movie in a given rated version
• Copy control (secondary protection for DVD)