39.

Learn Encryption Techniques with BASIC and C++
(Publisher: Wordware Publishing, Inc.)
Author(s): Gil Held
ISBN: 1556225989
Publication Date: 10/01/98

Previous Table of Contents Next


Decipherment

The decipherment process can be considered the reverse of the previously illustrated encipherment process. That is, you would rearrange your sheet of paper to place the enciphered message at the top of the page. Next, you would list the ciphertext alphabet above the plaintext alphabet. Then, you would take each character in the enciphered message and locate it in the ciphertext alphabet, extracting the plaintext alphabet character in the equivalent position where the ciphertext character was located in the ciphertext alphabet.

Numeric Transposition

Another popular method used to develop a transposed alphabet through the use of a matrix involves the selection of rows based upon the alphabetic position of the character in the keyword. This technique is known as numeric transposition, because a numeric is normally assigned to each column based upon the location of the first character in the column relative to the characters in the adjusted keyword. The characters in each column are then extracted to form the transposed alphabet based upon the numeric value assigned to each column.

Figure 4.4 illustrates the construction of a numeric transposition-based alphabet using the keyword KEYWORD. Note that a numeric is first assigned to each column based upon the position of the first character in each column in the first row of characters. Simply extract the characters in each column based upon the numeric sequence of each column.


Figure 4.4  Constructing a numeric transposition-based alphabet.

Encipherment and Decipherment

After you create a numeric-based transposition alphabet, you can use that alphabet as the ciphertext alphabet. You can then encipher and decipher messages in the same manner as previously described for the simple transposition alphabet.

Other Variations

Once a keyword- or keyword phrase-based alphabet is placed into a matrix, you can use several additional extraction techniques to form a transposition alphabet. Other variations you can consider include reversed simple and reversed numeric transpositions as well as different diagonally formed transpositions. Because the simple and conventional numeric transpositions are the primary methods used for the formation of transposed alphabets, I’ll leave it as an exercise for readers to develop other types of transposed alphabets.


The use of a matrix for enciphering messages provides a mechanism for supplementing or circumventing the use of more secure systems. During World War II, General Leslie Groves who was in charge of the Manhattan Project, which resulted in the development of the atomic bomb, needed a mechanism to discuss matters of high secrecy over the telephone. General Groves developed a series of 10x10 matrices in which each matrix contained both letters of the alphabet as well as code word characters that represented different laboratory or manufacturing sites.

To reduce the possibility of an overheard telephone conversation being analyzed, General Groves took two actions. First, he developed a different matrix for each person he needed to talk to concerning matters of national security. This reduced the potential effect of the loss of a matrix and made it more difficult for a series of overheard conversations to be analyzed. Secondly, within each matrix, General Groves located multiple copies of frequently occurring letters in the English language, such as the letters A, E, I, O, U, and T. The number of repetitions of a character depended upon the frequency of occurrence of the letter in the alphabet. For example, in one of the general’s matrices, he included nine E’s and seven T’s. This technique considerably reduced the possibility and effectiveness of a frequency analysis being used to decipher an overheard conversation.


Interval Extraction

The last technique discussed in this chapter that is used to create a program to automate its operation involves the extraction of characters from the plaintext alphabet based upon a predefined interval. As each letter in the alphabet is extracted, it is removed from the plaintext alphabet and entered into the interval extracted alphabet.

Figure 4.5 illustrates two examples of the formation of interval extracted alphabets based upon using an interval of three positions. In the example at the top portion of Figure 4.5, the interval 3 extraction process is applied against a sequential plaintext alphabet. In the example at the bottom of Figure 4.5, the interval 3 extraction process is applied against a keyword-based mixed alphabet using KEYWORD as the keyword. Note the significant differences between the resulting extracted alphabets even though the extraction interval was the same for each example.


Figure 4.5  Developing interval extracted alphabet.

Encipherment and Decipherment

Once an interval extracted alphabet is formed, it can be used in the same manner as previously described for the simple and numeric-based transposition alphabets. You could use the interval 3 extracted alphabet produced in Figure 4.5 as the ciphertext alphabet for enciphering a message as previously illustrated in Figure 4.3. Similarly, you can use that alphabet and its relationship to the plaintext alphabet to decipher an enciphered message.

Automating Matrix-Based Systems

Encipherment

To facilitate the automation process required to encipher messages based upon transposition-based mixed alphabets, you can create two new subroutines. One subroutine, which I’ll label TRANSPORT, can be used to form either a simple or numeric transposition mixed alphabet sequence based upon the user’s preference. The second subroutine, which I’ll label INTERVAL, can be used to create an extracted alphabet based upon a predefined interval or position. After you create those two subroutines, you can add them to the previously created CIPHER5.BAS program and change the main portion of the program to permit the newly created subroutines to be invoked. The resulting program, which I’ll call CIPHER6.BAS, permits users to dynamically enter the name of the files they wish to use to store an input plaintext message as well as the resulting enciphered message.


Previous Table of Contents Next


Learn Encryption Techniques with Basic and C++
Learn Encryption Techniques with BASIC and C++
ISBN: 1556225989
EAN: 2147483647
Year: 2005
Pages: 92
Authors: Gil Held

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net