Cryptography Reference
In-Depth Information
was encrypted with those two keys in that order, and we know that the first two characters in the plaintext were
ab .
1.6 Summary
In this chapter, we discussed many techniques used regularly throughout civilization until the start of the twen-
tieth century. As can be seen from the demonstrated analysis, the encryption techniques are very weak from a
modern standpoint, although easy to implement. However, the ideas behind these ciphers, including substitu-
tions and transpositions, represent the core of modern ciphers, and we can learn a lot by studying the analyses
of these now mostly defunct ciphers.
Furthermore, we looked at many of the simple cryptanalytic methods used to break apart these cryptographic
schemes. Although modern ciphers are not this easy to break, analyzing these ciphers illustrates ideas that res-
onate throughout the rest of the topic. Particularly, it is important to know that ciphers are not broken by acci-
dent — it takes a lot of work, patience, cleverness, and sometimes a bit of luck.
Exercises
Exercise1. Thefollowingmessageisencryptedwithamonoalphabeticcipher.Ignoringspacesandpunctuation,
decrypt the message.
WKH FDW LQ WKH KDW VWULNHV EDFN
Exercise 2. Write a program to find the most common digraphs in a Latin-based alphabet, ignoring everything
except alphabetic characters.
Exercise 3. Write a program to find the most common trigraphs in a non-Latin-based language (say, using
Unicode).
Exercise 4. Write a program to use a dictionary file (a listing of valid words in the appropriate language) to
break single transposition ciphers. Your program should work by choosing the decryption with the highest num-
ber of dictionary words formed. Such dictionary files can either be compiled (by finding a large enough source
of similar text to the kind being analyzed, and making a list of the words found in it), or by using a pre-con-
structed dictionary file.
Exercise5. ImplementKasiski'smethodforbreakingpolyalphabetic ciphers.Thefirststepshouldbeproducing
a candidate list of numbers that could be the key length. Then, assuming that the underlying cipher is a Vigenère
polyalphabetic cipher,attempt tobreak the ciphertext into multiple ciphertexts andperform afrequency analysis
on each. The program should produce a reasonable guess to a certain selection of keys, as well as accompanying
plaintexts. Use of a dictionary file is encouraged to increase the precision.
References
[1] Marc Okrand. The Klingon Dictionary. (Pocket topics, New York, 1992).
Search WWH ::




Custom Search