“cleartext” [ 10]. The terms will be used interchangeably throughout
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 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.
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