To understand the non-uniform distribution of English letters and how that may be exploited in cryptanalysis
To understand the non-uniform distribution of English letters and how that may be exploited in cryptanalysis Also looking at polyalphabetic cipher and its weakness.
FrequencyAnalyzer.java program that runs a frequency analysis of English text.
FrequencyCryptanalysis.java program that uses the code you wrote in the previous step, and cryptanalyze the following ciphertext and recover the plaintext:
To understand the working of a polyalphabetic cipher and its weakness. In particular, the Vigenère cipher will be studied.
VigenereCipher.java program includeds code encrypt() and decrypt() methods.
VigenereCryptanalysis.java program includes cryptanalysis() an method that finds the correct encryption key, given a ciphertext encrypted using a Vigenère cipher.