MCS 150

Cryptanalysis

January Term 2007

      This is a course in making and breaking codes. Students will be engaged in learning how to "crack" enciphered messages without knowing, at the outset, the enciphering keys. Beginning with cryptograms of the sort found in newspapers and puzzle books, we shall work our way through successively more complicated enciphering schemes and learn methods of attack based on exhaustive search, computer programs, statistics, and mathematics. This course will also survey the history of cryptography and modern developments, including public-key cryptography and data encryption techniques. 

Instructor: John Holte

Textbooks

Class meetings

Course web site

Work outside class

Course content

Cryptography Math/stats/computing Cryptanalysis
Shift ciphers
Decimation
Affine ciphers
Modular arithmetic
Solving a x = b (mod m)
Histograms
Brute force solutions
Solving affine ciphers
Monoalphabetic substitution:
Aristocrats & Patristocrats
Frequency distributions
Combinatorics
Using frequency data
Probable word method
Pattern words
Polyalphabetic substitution
Vigenere cipher
Index of coincidence
Prime factorization
Periods of sequences
Use of I.C. and Kasiski analysis
Reduction to a monoalphabet
Polygraphic systems
Playfair cipher
Hill's system
Matrix operations
Digraph frequencies
Solving A x = b (mod m)
Known plaintext attack
Solving Hill ciphers
by algebra
Transposition ciphers Permutations
Division algorithm
Paper and scissors
methods 
Public key encryption Fermat's Little Theorem
Chinese Remainder Theorem
Factorization attacks

 

 

 

Syllabus

Grading

 

Academic honesty

Home