Next:
1. Overview
Project 7 Decryption Write-Up: Cracking the Code
CS100, Spring 2000
Due in Lecture, Thursday, May 4
1. Overview
1.1 The Story Line
1.2 How This Write-Up Differs From the Project 6 Write-Up
2. Background: Encryption and Decryption
2.1 Characters
2.2 Hidden Information
2.3 Encryption and Decryption
2.4 Substitution Ciphers
2.5 Encryption Key
2.6 Decryption Key
2.7 Inversion
3. Foundation for Cracking: Frequency Analysis
3.1 Natural Languages
3.2 Frequencies
3.3 Example
3.4 Unigram Frequencies
3.5 Bigram Frequencies
3.6 Example of Bigrams
3.7 Enciphering and Deciphering
4. Using Frequencies for Decryption
4.1 Recap - Where are we, and where are we going?
4.2 Decryption and Frequencies: How Might Frequencies Help?
4.3 Recognizing Unscrambled Frequencies
4.3.1 Assumptions and Conventions
4.4 Distance
4.4.1 A Note About Distance and Labels
4.5 Closeness
5. Attempts at Decryption
5.1 Sort Unigram Frequencies
5.1.1 Sorting implies Swapping
5.2 Sort Bigram Frequencies?
5.3 Exhaustive Search
6. Improving Decryption Methods with Swaps
6.1 Introduction to ``Hill-Climbing''
6.2 Why Swaps Are so Important
6.3 The Effects of Swaps on Bigram Tables
6.4 Continuing to Investigate Figure 33, e.g. The Mysterious Right Column
7. Decryption by Optimization
7.1 Hill-Climbing: Don't worry, be happy/optimistic: choose the best neighbor
7.2 Hill-Climbing in the Abstract
7.3 Simulated Annealing
About this document ...
Thomas Yan
2000-05-01