ym- metric) cryptography, and hash functions. How they work is beyond the scope of this book, but there are numerous resources available on the topic. One of the best resources is An Overview of Cryptography by my good friend Gary Kessler. The paper, which Kessler updates routinely, is available at www.garykessler.net/library/crypto.html. Another interesting encryption technology that has taken on an air of some importance in the last few years is a technique called steganogra- phy. Steganography is a technique used to surreptitiously hide one mes- sage inside another. The name derives from Johannes Trithemius's Steganographia, published in 1621, a work on cryptography and steganography that was, in fact, disguised as a book on black magic. Steganographic messages are typically encrypted before being embed- ded in another message, after which a covertext is created to contain the encrypted message. This is called stegotext. For example, consider a Downloaded from Digital Engineering Library @ McGraw-Hill (www.digitalengineeringlibrary.com) Copyright © 2004 The McGraw-Hill Companies. All rights reserved. Any use is subject to the Terms of Use as given at the website. Protocols Protocols JPEG image, which is made up of groups of eight-bit bytes that ulti- mately encode the displayed image. Because JPEG is a compression technique, some quality of the original image is lost in the process, although with modern compression algorithms the loss is kept to an absolute minimum. Like all bytes, those found in a JPEG image have both a least significant bit and a most significant bit. In fact, changing the least significant bit from a one to a zero or vice versa results in no appreciable change to the output image. It makes sense, therefore, that someone could write a relatively simple routine to selectively encode the least signficant bit of each byte, collect all of the encoded bits, and group them into an embedded message. Make sense? Naturally, the larger the image, the more data can be hidden within it. Consider, for ex