Now that we have looked at the categories of stego, we will discuss the types of stego. There are two basic types, linguistic and technical.
Linguistic steganography can be described quite simply as any form of steganography that uses language in the cover. A number of forms of linguistic steganography are covered in the next sections, but the two most basic categories are open codes and text semagrams.
A program that takes advantage of linguistic steganography is NICETEXT, which uses the technique of linguistic steganography in a very inventive way. The goal of NICETEXT is to provide a program that can transform ciphertext (encrypted text) into text that looks like natural language while still providing a cover for the original ciphertext. An added benefit of this type of program is that it can be applied to many different languages. The software works by sampling certain aspects of writing by style or by using context-free grammars (CFG).
NICETEXT relies on large code dictionaries consisting of words categorized by type. A style source selects sequences of types independent of the ciphertext. NICETEXT transforms ciphertext into sentences by selecting words with the matching codes for the proper type categories in the dictionary table. The style source defines case sensitivity, punctuation, and white space independent of the input cipher-text. The reverse process simply parses individual words from the generated text and uses codes from the dictionary table to recreate the ciphertext.
In the case of open codes, the openly readable text is mostly well constructed. It can contain certain words or sentences, certain letters can be in certain places in the text, or words can be hidden in vertical or reversed position.
In a text there could be sentences or words starting with certain letters, which have another meaning. There can also be metaphors, etc., insofar as all kinds of jargons are, in fact, masking.
With null ciphers, the hidden text could be reconstructed by taking the first, second, or whichever letter of each word. Hidden messages could also be found vertically, diagonally, or in reverse. To decode, it could also be necessary to rewrite the open text in another form, for example, with a certain number of letters per line.
The basic definition of a cue is a certain word that appears in the text and transports the message. This type of steganography was often used in wartime situations to broadcast information to spies or resistance troops in other countries. The easiest example is of a nightly radio show where the listener knows in advance to listen for a particular word during a specific portion of the broadcast. If the word is used during the broadcast, certain instructions are to be followed; if the word is not used, different instructions are to be followed. This method of communication is very effective because of its flexibility; the draw-backs are that cues require a good deal of preparation and usually are not capable of conveying large amounts of information.
Although music does not constitute a language, it is written and does convey meaning to those who know how to read it. As was discussed in the previous section, music has been used in a couple of ways to hide information. One method is to match up each note with a letter and thus write out the code (and in the meantime hope no one played the music). Actually this form of communication could also qualify as encryption, but we will leave that alone for now.
The other method is to play the music in such a way that certain notes at certain times would correspond to specific letters and thus spell out the hidden message. This last method can be considered very robust because the cover, the played music, appears to the untrained listener as just a piece of music.
Probably the most obvious form of linguistic steganography, jargon code creates a verbal or written message as the cover for the secret information. A jargon-coded message is a lot like a substitution cipher in many respects, but instead of replacing individual letters, the words themselves are changed. Remember the example in the previous section where the phrase "Father is dead" was changed to "Father is deceased," and the response was "Is Father dead or deceased?"
The newspaper code was invented and used throughout the Victorian era, back in the day when newspapers could be sent almost anywhere without charge. This method was used by the poor who now had a way to send information for free. Small holes were poked over certain letters in the newspaper, which, when connected, spelled out the message. While this practice was time consuming, it often took newspapers weeks to reach certain locations; it did allow people to communicate freely.
The grille, or the Cardano grille as it is most often called, is simply a stiff piece of paper or cardboard with holes positioned around it. The secret message is written in the holes, and then the rest of the message is filled in around it. The only way the message is readable is by the recipient who has the correct grille.
Text semagrams work with graphical modifications of the text. They concern details that are tiny but nonetheless visible. There are methods that work without text as well, called real semagrams. Some varieties of text semagrams and real semagrams are described next.
This form of text semagram uses the white space in a document to denote binary values. The white space can be between the individual words, the sentences, or even between the paragraphs. Almost any combination is possible, but to a point, if the text appears to have too much white space it can be subject to scrutiny. While this form of steganography can work effectively, it has a few big drawbacks. First, if the document is digital any modern word processor would be able to show the spacing irregularities or, worse, reformat the document and destroy the hidden information. The second drawback is that this method does not transmit a large amount of information easily, which can limit its practicality (Figure 4.2).
There are not only spaces between words but also tiny spaces between some letters, either to form a binary code out of the frequency of spaces/no spaces or to indicate that the letter following after the space is part of the secret message.
The old analog typewriter of yesteryear, meaning the Reagan administration, was essentially the same as it was since its creation. It basically operated by a series of gears that allowed the paper to be moved up a specific amount with a carriage return. While this was precise, it was certainly not as precise as today's word processors and laser printers. With some care and attention, deviations could be inserted into a typed document. On some typewriters, making a subscript or superscript setting required a manual rolling of the roller surface to allow a number to be typed, then the wheel would be rolled back to the original position and the typing would continue until the next carriage return. Because this is possible, it goes without saying that making even smaller adjustments while typing is doable and could be used as a way to hide a message, camouflaging it in such a way that it appears that an old or low-quality typewriter was used.
A real semagram's practical use is mainly as an indicator of a larger, previously agreed upon message. For example, Bob wants to tell Alice that everything is set for Friday night. A real semagram could be a postcard with a picture of a tropical beach. This could be the agreed-upon code to indicate affirmative. Another semagram with a picture of an Alaskan mountain range could mean negative. A real semagram would not be a practical method of relaying new information. Its best use is to confirm or deny an already agreed-upon course of action.
Technical steganography is a little broader in scope because it does not necessarily deal with the written word even though it communicates information. Technical steganography is the method of steganography where a tool, device, or method is used to conceal the message. In reality, linguistic steganography could be considered technical steganography because it is a method. But I am splitting hairs and getting off the subject. We will now take a look at some technical steganography methods.
We have pretty much covered all the nuts and bolts of invisible ink. I will not bother to repeat what it is, other than to say it is a special ink that is colorless and invisible until treated by a chemical, heat, or special light. Because invisible ink does not have to be used to write words, it can safely be considered a form of technical steganography. Following are some other examples of invisible ink:
Typing a message in typewriter correction ribbon. A message could be written in the white space between the normal black ribbon lines of text and become visible only under a very strong light.
Use of hand stamps that are visible only in black light similar to that used in nightclubs and amusement parks.
This one is a bit obvious so I will not go into great detail on the connections between a hiding place and a way of hiding a message. Hiding places of all varieties fall into the category of technical steganography. Whether it is in a keg of beer as in the case of Mary Queen of Scots, the heel of a woman's shoe, or a tattoo on top of a man's head, a good hiding place is almost always a very effective method of steganography.
The microdot is a form of microphotography that allows for sheets of printed material to be reduced to a dot that is no larger than 1/2 millimeter across. In 1946, J. Edgar Hoover, then director of the FBI, was quoted as saying that the microdot was the "the enemy's masterpiece of espionage," and indeed it has been just that. The microdot has taken on a new form in the modern world and is being used to uniquely identify automobiles and other motor craft. There is even the potential for a microdot to be attached to a strand of DNA.
With the advancements in computer technologies throughout the 1990s, this is the newest of the steganography methods, and can be very effective in its native environment. There are many computer-based methods, including substitution of bits, addition of bits, and others.