home *** CD-ROM | disk | FTP | other *** search
-
- ---[ Phrack Magazine Volume 7, Issue 51 September 01, 1997, article 13 of 17
-
-
- -------------------------[ Monoalphabetic Cryptanalysis (Cyphers, Part One)
-
-
- --------[ Jeff Thompson aka 'Mythrandir' <jwthomp@cu-online.com>
-
-
-
- Written for Phrack and completed on Sunday, August 31st, 1997.
-
-
- ---------
-
- First a quick hello to all of those I met at DefCon this year. It was
- incredible fun to finally put faces to many of the people I have been talking
- with for some time. It was truly was a treat to meet so many others who are
- alive with the spirit of discovery.
-
- ----------
-
-
- This is the first in a series of articles on Cryptology that I am writing.
- The goals of these articles will be to attempt to convey some of the excitement
- and fun of cyphers. A topic of much discussion in regards to cryptography
- currently, is about computer based cyphers such as DES, RSA, and the PGP
- implementation. I will not be discussing these. Rather, these articles will
- cover what I will term classical cryptology. Or cryptology as it existed
- before fast number crunching machines came into existance. These are the sorts
- of cyphers which interested cryptographers throughout time and continue to be
- found even to this very day. Even today, companies are producing software
- whose encryption methods are attackable. You will find these commonly among
- password protection schemes for software programs. Through the course of these
- articles I will explain in practical terms several common cypher types and
- various implementations of them as well as cryptanalytic techniques for
- breaking these cyphers.
-
- Creating cyphers is fun and all, but the real excitement and often times tedium
- is found in Cryptanalysis. Many of the ideas presented in these articles will
- based on three sources. The following two books: The Codebreakers by David
- Kahn (ISBN: 0-684-83130-9) and Decrypted Secrets by F.L. Bauer
- (ISBN: 3-540-60418-9). Both authors have put together wonderful books which
- both cover the history and methods of Cryptology. Do yourself and the authors
- a favor and purchase these books. You will be very pleased with the lot.
- Finally, a miniscule amount of these articles will be written based on my own
- personal experience.
-
- The fun is in the journey and I welcome you on what is certain to be an
- interesting trip. Please feel free to raise questions, engage me in
- discussions, correct me, or simply offer suggestions at jwthomp@cu-online.com.
- Please be patient with me as I am traveling extensively currently, and may be
- away from the computer at length occasionally.
-
- Out the door and into the wild...
-
-
- --Monoalphabetic Cyphers
-
- Monoalphabetic cyphers are often currently found in simple cryptograms in books
- and magazines. These are just simple substitution cyphers. This does not
- mean that they are always simple for the beginning amateur to solve.
-
- Three common monoalphabetic cyphers which are used are substitution, cyclical,
- and keyed cyphers.
-
-
- -Substitution Cyphers
-
- By taking an alphabet and replacing each letter with another letter in a
- unique fashion you create a simple monoalphabetic cypher.
-
- Plaintext Alphabet A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
- Cypher Alphabet Z I K M O Q S U W Y A C E B D F H J L N P R T V X G
-
-
- Plaintext Message
-
- The blue cow will rise during the second moon from the west field.
-
- Cyphertext Message
-
- nuo icpo kdt twcc jwlo mpjwbs nuo lokdbm eddb qjde nuo toln qwocm.
-
-
- -Cyclical Cyphers
-
- By taking an alphabet and aligning it with a rotated alphabet you get a
- cyclical cypher. For example:
-
- Plaintext Alphabet A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
- Cypher Alphabet N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
-
-
- Indeed, you may recognize this cypher as a ROT13 which is commonly used on
- news groups to obscure messages.
-
-
- -Keyed Cypher
-
- Another way to create a monoalphabetic cypher is to choose a keyword or phrase
- as the beginning of the cypher alphabet. Usually, only the unique letters from
- the phrase are used in order to make sure the plaintext to cyphertext behaves
- in a one to one fashion.
-
- For example:
-
- Plaintext Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
- Cypher Alphabet L E T O S H D G F W A R B C I J K M N P Q U V X Y Z
-
- The passphrase in this cypher is "Let loose the dogs of war" The advantage of
- such a system is that the encryption method is easy to remember. Also, a
- method of key change can be created without ever having to distribute the keys.
- For example, one could use the 4 words at a time of some piece of literature.
- Every message could use the next four words. Indeed, this change could occur
- more frequently, but that is a subject for another article.
-
-
- -Bipartite Substitution
-
- Bipartite substition is the use of symbol pairs to represent plaintext. Later
- we will see that this sort of substitution lends itself to be easily made more
- difficult to analyze. Two examples of this are:
-
- 1 2 3 4 5 A B C D E
- 1 A B C D E A A B C D E
- 2 F G H I J B F G H I J
- 3 K L M N O C K L M N O
- 4 P Q R S T or D P Q R S T
- 5 U V W X Y E U V W X Y
- 6 Z 0 1 2 3 F Z 0 1 2 3
- 7 4 5 6 7 8 G 4 5 6 7 8
- 9 9 . - ? , H 9 . - ? ,
-
-
- Obviously, the letters do not need to be placed in this order as their solutions
- would not be that difficult to guess.
-
-
-
- --Cryptanalysis
-
-
- Previously we created a cyphered message:
-
- nuo icpo kdt twcc jwlo mpjwbs nuo lokdbm eddb qjde nuo toln qwocm.
-
-
- If one were to receive this message, figuring out its contents might seem
- fairly daunting. However, there are some very good methods for recovering the
- plaintext from the cyphertext. The following discussion will work under the
- assumption that we know the cyphers with which we are dealing are
- monoalphabetics.
-
-
- -Frequency Analysis
-
- The first method we will use is frequency analysis. Natural languages have
- many qualities which are very useful for the analysis of cyphertext. Languages
- have letters which occur more commonly in text, collections of letters which
- are more frequent, patterns in words, and other related letter occurances.
-
- Counting up the occurances of letters we find that there are...
-
- letter occurances
- b 3
- c 4
- d 5
- e 2
- i 1
- j 3
- k 2
- l 3
- m 3
- n 4
- o 8
- p 2
- q 2
- s 1
- t 3
- u 3
- w 4
-
- The order of greatest frequency to least is:
-
- 8 5 4 3 2 1
- {o} {d} {c n w} {b j l m t u} {e k p q} {i s}
-
-
- If this sort of analysis were run on many volumes of english you would find that
- a pattern would emerge. It would look like this:
-
- {e} {t} {a o i n} {s r h} {l d} {c u m f} {p g w y b} {v k} {x j q z}
-
- You will notice an immediate correlation between e and o. However, for the
- rest of the letters we can not be very certain. In fact, we can not be very
- certain about e either.
-
- Since this text is short it is helpful to take a look at some of the other
- behaviors of this text.
-
- Counting up the first, second, third, and last letters of the words in this
- text we find the following frequencies:
-
-
- First Letter in word Occurances
-
- e 1
- i 1
- j 1
- k 1
- l 1
- m 1
- n 3
- q 2
- t 2
-
- Order:
-
- n q t e i j k l m
-
-
- Second letter in word Occurances
- c 1
- d 2
- i 1
- n 1
- o 2
- p 1
- u 3
- w 3
-
- Order:
-
- u w d o c i n p
-
-
- Third letter in word Occurances
-
- c 1
- d 2
- i 1
- k 1
- l 2
- o 4
- p 1
- t 1
- u 1
-
- Order:
-
- o d l c i k p t u
-
-
- Last letter in word Occurances
-
- b 1
- c 1
- e 1
- m 1
- n 1
- o 5
- s 1
- t 1
-
-
- English frequency for first letter:
-
- t a o m h w
-
- Second letter:
-
- h o e i a u
-
- Third letter:
-
- e s a r n i
-
- Last letter:
-
- e t s d n r
-
- Noticing the higher frequency count for 'o' in the third and last letters of
- words in addition to its absence as a first letter in any words gives us strong
- reason to believe that 'o' substitutes for 'e'. This is the first wedge into
- solving this cypher.
-
- However, do not be fooled by the apparent strengths of frequency analysis.
- Entire books have been written without the use of some letters in the English
- alphabet. For instance The Great Gatsby was written without using the letter
- 'e' in one word of the book.
-
-
- Other items to analyze in cyphertext documents is the appearance of letters in
- groups. These are called bigrams and trigrams. For example, 'th' is a very
- common letter pairing in the english language. Also, as no surprise 'the' is
- a very common trigram. Analysis of english documents will find these results
- for you.
-
-
- So now that that we have developed a simple way of starting to attack cyphers
- lets examine a few ways to make them more difficult to break.
-
-
- --Strengthening Cyphers
-
-
- -Removing word and sentence boundaries
-
- A simple way to complicate decypherment of a cyphertext is to remove all
- spacing and punctuation. This makes it more difficult to perform a frequency
- analysis on letter positions. However, it is possible to make reasonable
- guesses as to word positions once yoy begin to study the document. Another
- method is to break the cyphertext into fixed blocks. For example after every
- four letters a space is placed.
-
- The previous cypher text would appear as this:
-
- nuoicpokdttwccjwlompjwbsnuolokdbmeddbqjdenuotolnqwocm.
-
-
- or this:
-
- nuoi cpok dttw ccjw lomp jwbs nuol okdb medd bqjd enuo toln qwoc m
-
-
- You will notice that the above line ends with a single character. This gives
- away the end of the text and would be better served by the placement of nulls,
- or garbage characters. The above line becomes:
-
- nuoi cpok dttw ccjw lomp jwbs nuol okdb medd bqjd enuo toln qwoc mhew
-
- 'hew' will decypher to 'qmi' which will clearly appear to be nulls to the
- intended recipient.
-
-
- -Nulls
-
- Nulls are characters used in messages which have no meanings. A message could
- be sent which uses numbers as nulls. This makes decypherment more difficult as
- part of the message has no meaning. Until the decypherer realizes this, he
- may have a hard time of solving the message.
-
-
- -Polyphony
-
- Another method that can be applied is the use of polyphones. Polyphones are
- simply using a piece of cyphertext to represent more than one piece of
- plaintext. For example a cyphertext 'e' may represent an 'a' and a 'r'. This
- does complicate decypherment and may result in multiple messages. This is
- dangerous as these messages are prone to errors and may even decypher into
- multiple texts.
-
- A new cyphertext alphabet would be
-
- Cyphertext alphabet A B C D E F G H I J L N P
- Plaintext alphabet Z X U S Q O M K H N R V W
- B D F G I A C E L P J T Y
-
- Our old plaintext message becomes
-
- nih aich gfp peii ledh bclejd nih dhgfjb gffj clfg nih phdn cehib
-
- This decypherment becomes very tricky for someone to accomplish. Having some
- knowledge of the text would be a great help.
-
- If it appears that very few letters are being used in a document then you may
- wish to suspect the use of polyphones within a document.
-
-
- -Homophones
-
- Homophones are similar to polyphones except that there is more than one
- cyphertext letter for every plaintext letter. They are useful to use in that
- they can reduce the frequencies of letters in a message so that an analysis
- yields little information. This is very easy to do with bipartite
- substitution cyphers. For example:
-
- a b c d e
- a a b c d e
- b f g h i j
- c k l m n o
- d p q r s t
- e u v w x y
- f z * * * *
-
- *(fb, fc, fd, fe are NULLS)
-
- We can add homophones to the message like this:
-
- a b c d e
-
- i h g a a b c d e
- k j b f g h i j
- n l c k l m n o
- o m d p q r s t
- p e u v w x y
- f z * * * *
-
- The optimal way to set up these homophones is to calculate the frequency of
- appearance in the natural language you are using of each row of letters.
- Homophones should be added so that the cyphertext appearance of each homophone
- is reduced to a level where frequency analysis would yield little information.
-
-
- -Code Words
-
- One final method which can be used is that of code words. Simply replace
- important words in the plaintext with code words which represent another word.
- For example the nonsense plaintext that has been chosen for this document could
- actually mean:
-
-
- The blue cow will rise during the second moon from the west field.
-
- The king is angry and will attack in two weeks with the 1st calvary by way of
- the foothills.
-
- blue is angry
- cow is king
- rise is attack
- second is two weeks
- moon is 1st calvary
- west field stands for some foothills on the west side of the kingdom.
-
-
- Throughout this document I have mentioned frequency analysis of english
- documents. This is a fairly tedious task to do by hand, and so I am
- developing software to aid in frequency analysis of documents. I will be
- making it available via my website at http://www.cu-online.com/~jwthomp/ on
- Monday, September 8th. Please watch for it in the Cryptography section.
-
-
- Ok, now to try your hand at a few cyphertexts..
-
- This one has to do with war.
- 1)
- kau noelb'd oerf xmtt okkopw ok qoxb euoqf kau kurhtoe wbmcakds, obq dkemwu amd
- podktu xamtu xu altq amr
-
-
- This one is an excerpt from a technical document.
- 2)
- etdsalwqs kpjsjljdq gwur orrh frurdjkrf sj qtkkjps npjtk ljeethalwsajhq
- sgrqr kpjsjljdq tqr w jhr sj ewhy kwpwfane ijp spwhqeaqqajh sykalwddy tqahn
- ldwqq f ahsrphrs kpjsjljd wffprqqrq sj qkrlaiy qkrlaial etdsalwqs npjtkq
-
-
- Mail me your answers and I'll put the first person who solves each cypher in
- the next Phrack.
-
- In fact, I would enjoy seeing some participation in this for the next Phrack.
- After reading this, I welcome the submission of any "Monoalphabetic" cypher
- based on the discussions of this article. Please do not yet submit any
- polyalphabetic cyphers (Next article). When submitting to me, please send me
- two letters. The first mail should include only the encyphered text. Make
- sure it is enough so that a reasonable examination can be made of the cypher.
- This first mail should have a subject "Cyphertext submission". If you are
- using a method of encypherment not found in this article, please enclose a
- brief description of the type of method you used. Follow this mail up with
- another entitled "Cyphertext Solution" along with a description of the
- encyphering method as well as the key or table used.
-
- I will select a number of these texts to be printed in the next Phrack, where
- readers may have a chance at solving the cyphers. The reason I ask for two
- seperate mailing is that I will want to take a crack at these myself. Finally,
- the names of individuals will be placed in the following phrack of the first
- to solve each cypher, and whomever solves the most cyphers prior to the next
- Phrack release (real name or pseudonym is fine).
-
-
- Please mail all submissions to jwthomp@cu-online.com
-
- I welcome any comments, suggestions, questions, or whatever at
- jwthomp@cu-online.com
-
-
- ----[ EOF
-