Programming Project (Cryptography)
In this project, you are going to write a computer program to perform ciphertext-only cryptanalysis for the Affine cipher or the [liii Cipher (m=2). You are free to select your favorite programming language. You can make use of any reference materials, but you cannot copy entire program code from others. You are required to demonstrate your program with meaningful examples to your professor and to submit a project report with one to two pages to document
(1) Algorithms you have applied and assumptions you have made,
(2) Program specifications and designs,
(3) Flow to compile and run your program with an example, and
(4) References, if any. You will get a bonus if you search for a research paper that is relevant to your project topic and give a simple discussion to prepare your work with the work presented in your selected paper in your project report. Note that if you are working with a team, you should perform the ciphertext-only attacks for both Affine cipher and Hill cipher.
(1) Cryptanalysis of the Affine Cipher.
Note: Frequency analysis of English letters is needed. Then, users can provide (guess) two plaìntext and ciphertext pairs according to the frequency analysis results. If the guess is correct, a meaningful plaintext should be displayed. You can use Exercise 1.2 1(c) as your testing example.
(2) Cryptanalysis of the Hill Cipher (m2).
Note: Frequency analysis of English letters (digrams) is needed. Then, users can provide (guess) two plaintext and cipherlext pairs according to the frequency analysis results. If the guess is correct, a meaningful plaintext should be displayed. You can use Exercise 1.25 as your testing