“cleartext” [ 10]. The terms will be used interchangeably throughout this article.

The encryption of data or a message is accomplished by one, or both, of the methods of encoding or enciphering. Each involves distinct methodologies and the two are differentiated by the level at which they are carried out. Encoding is performed at the word or block level and deals with the manipulation of groups of characters. Enciphering works at the character level. This includes scrambling individual characters in a message, referred to as transposition, and substitution, or replacing characters with others. Let us examine the basics of these methods, and consider examples of the underlying concepts.

Codes

Codes generally are designed to replace entire words or blocks of data in a message with other words or blocks of data. Languages can be considered codes, since words and phrases represent ideas, objects, and actions. There are codes that substitute entire phrases or groups of numbers or symbols with others. A single system may employ both levels of encoding. For example, consider a code encryption scheme as follows: the = jam, man = barn, is = fly, dangerous = rest. Then the message, the man is dangerous, would read in encrypted form, jam barn fly rest. Although overly-simplistic, this example illustrates the basis of codes.

Some of the earliest code forms date back to the 1300s in areas surrounding the Mediterranean Sea. Codebooks were required to accompany the encoded messages, as memorization of a long list of plain words and code equivalents would be too difficult. Many times in these early days, codebooks would be recorded on large folded parchment papers. Senders and receivers would update each other on an as-needed basis, many times via courier. The inherent danger in these arrangements is obvious [ 10].

With the passage of time, codes began to be employed in the military and political arenas. Since the possession of a code book is necessary in such systems, it became apparent that the possibility of lost or stolen code books carried a high risk. For example, any captured soldier on a battlefield carrying the codebook would pose a disastrous scenario. All secret communications could then be exposed. Any considerable amount of time that passed before discovery of the capture would worsen the situation. The coding methods offered no surefire breach-detection mechanism. However, methods of combating the potential risks were employed, including the use of common words in reference books and novels for codewords, as well as the breaking-up of codebooks. That is, in a military setting, one set of code books could be employed for field and battle operations, while another set could be used for administrative groups. In such a distributed system, the compromise of one group would not necessarily endanger the other, and thus the potential damage could be isolated and/or reduced [ 10].

With the advent of electrical-based communications, codes became more sophisticated in answer to the needs of the systems. For example, the inventions of Morse code and the telegraph dictated a need for secure transmission that was more sophisticated. In the 1800s, the “additive” was brought into code-based communication. This was simply a secret number that was added to the enciphered code to add another layer of protection [ 10].

Before digital computing technology, codes relied on list-arrange-ment schemes to facilitate the use of codebooks. Without the bene-

fit of relational database and indexing technologies, the order and arrangement of the codebook entries were of the utmost importance. Generally, historical codes can be classified as one-part or two-part codes. One-part codes are sometimes referred to as alphabetical or numerical codes, and two-part codes as randomized codes. One-part codes utilize the same codebook for encoding and decoding. A separate codebook is used for encoding and decoding with the two-part code system. The one-part codebook lists plainwords alphabetically with their codeword translations. Some implementations use a root-stem word structure in the creation of the codeword. In this way, the plainwords and codewords may remain in alphabetical order, as they have been linked semantically. This order facilitates the use of one codebook, but allows for easier breaking by analysis since frequency patterns in the usage of codewords will emerge [ 10].

The two-part code is randomized. It consists of codewords that do not follow any order with respect to their plainword equivalents. It was common to use a block of digits for codewords. For practicality in large code dictionaries, two-part systems require lists for encoding and decoding. Although more difficult to construct, the two-part system is much less susceptible to breaking through analysis [ 10].

Codes are very susceptible to breaking and possess a large exposure surface with regard to interception and decryption via analysis. Also, there are no easily-implemented means by which to detect breaches in the system. Codes can be made stronger with a layered approach: techniques of both coding and enciphering utilized within a single system. The cipher-based methods of transposition and/or substitution may be employed in concert with coding to realize a more robust system. An example of such a system will be presented in the next section.

Ciphers

The other method of encryption is the cipher. Instead of replacing words or blocks of numbers or symbols with others, as does the code, the cipher replaces individual or smaller sets of letters, numbers, or characters with others, based on a certain algorithm and key. Ciphers are traced back to Arabic, Greek, and Roman civilizations. The use of ciphers diminished after the fall of the Roman Empire, but regained popularity in the Middle Ages by officers of the Catholic church who desired a strong method of secret communications [ 10]. Presumably, this stemmed from a perceived need to maintain secrecy with regards to church policy and to provide papal privacy.

Like codes, the use of ciphers grew with time, especially during the 19th century. This era saw the development of more sophisticated communication systems. The fact that ciphers worked at a lower level, the letter or symbol, made them very adaptable to the electrical-based communication systems that were being developed and implemented. Where codes were vulnerable to breaking by interception of the codebook, ciphers proved to be a more secure means of sending encrypted messages by relying on keys that could travel with the message. A key, in this case, is a number that is algorithmi-cally applied to plaintext or ciphertext to produce the other.

Cipher-based encryption methods can be broken down into two major classes based on the method of manipulation: substitution and transposition. In substitution, one symbol is simply replaced by another. An example would be to replace letters of the alphabet with another letter. Probably some of the most well-known examples of pure substitution ciphers are the “cryptoquote” games, published

References:

http://www.acm.org/crossroads

Archives