Full Grade: 100 pts ``` In this assignment, you need to implement the Enhanced Caesar Cipher (see Module 2 slides).
**Part 1:** Implement both encryption and decryption. For encryption, given a plaintext and the key _n_ , your program should be able generate its ciphertext. For decryption, given a ciphertext and the key _n_ , your program should be able to decrypt it and get the plaintext.
**Part 2:** Implement a brute-force attack that can decipher any ciphertext encrypted using the Enhanced Caesar Cipher where the plaintext is from a certain vocabulary specified in a text file. Specifically, given a particular ciphertext and the vocabulary text file, your program should be able to find the key _n_ and the plaintext. For your convenience, a sample vocabulary text file _sample.txt_ is attached. Note that your algorithm should work for other vocabulary file as well.