page_title: Steganography
section_title: Digital messages
hierarchical_section_title: Steganography / Techniques / Digital messages
caption_attribution_description: English: Image which was extracted from File:StenographyOriginal.png. This type of steganography can be extracted using convert tool from ImageMagick: convert &lt;&lt;input file&gt;&gt; -evaluate And 197379 -evaluate LeftShift 5 &lt;&lt;output file&gt;&gt;
context_page_description: Steganography is the practice of concealing a file, message, image, or video within another file, message, image, or video. The word steganography comes from Greek steganographia, which combines the words steganós, meaning "covered or concealed", and -graphia meaning "writing".
  The first recorded use of the term was in 1499 by Johannes Trithemius in his Steganographia, a treatise on cryptography and steganography, disguised as a book on magic. Generally, the hidden messages appear to be something else: images, articles, shopping lists, or some other cover text. For example, the hidden message may be in invisible ink between the visible lines of a private letter. Some implementations of steganography that lack a shared secret are forms of security through obscurity, and key-dependent steganographic schemes adhere to Kerckhoffs's principle.
  The advantage of steganography over cryptography alone is that the intended secret message does not attract attention to itself as an object of scrutiny. Plainly visible encrypted messages, no matter how unbreakable they are, arouse interest and may in themselves be incriminating in countries in which encryption is illegal.
context_section_description: Modern steganography entered the world in 1985 with the advent of personal computers being applied to classical steganography problems. Development following that was very slow, but has since taken off, going by the large number of steganography software available:
  Concealing messages within the lowest bits of noisy images or sound files. A survey and evaluation of relevant literature/techniques on the topic of digital image steganography can be found here.
  Concealing data within encrypted data or within random data. The message to conceal is encrypted, then used to overwrite part of a much larger block of encrypted data or a block of random data (an unbreakable cipher like the one-time pad generates ciphertexts that look perfectly random without the private key).
  Chaffing and winnowing.
  Mimic functions convert one file to have the statistical profile of another. This can thwart statistical methods that help brute-force attacks identify the right solution in a ciphertext-only attack.
  Concealed messages in tampered executable files, exploiting redundancy in the targeted instruction set.
  Pictures embedded in video material (optionally played at slower or faster speed).
  Injecting imperceptible delays to packets sent over the network from the keyboard. Delays in keypresses in some applications (telnet or remote desktop software) can mean a delay in packets, and the delays in the packets can be used to encode data.
  Changing the order of elements in a set.
  Content-Aware Steganography hides information in the semantics a human user assigns to a datagram. These systems offer security against a nonhuman adversary/warden.
  Blog-Steganography. Messages are fractionalized and the (encrypted) pieces are added as comments of orphaned web-logs (or pin boards on social network platforms). In this case the selection of blogs is the symmetric key that sender and recipient are using; the carrier of the hidden message is the whole blogosphere.
  Modifying the echo of a sound file (Echo Steganography).
  Steganography for audio signals.
  Image bit-plane complexity segmentation steganography
  Including data in ignored sections of a file, such as after the logical end of the carrier file.
  Adaptive steganography: Skin tone based steganography using a secret embedding angle.
  Embedding data within the control-flow diagram of a program subjected to control flow analysis
caption: Image of a cat extracted from the tree image above.
exif: {}