Affine and Vigenere Cipher

This assignment you are required to complete these problems using JavaScript Node.js or Python. Your assignment will be email to me as one zip file which must include instructions on how to compile and execute your code. If we are unable to compile and execute your code, you will receive zero points for that portion of the assignment. Students will not be allowed to submit modifications to their code following the deadline for any reason. Students are expected to complete this assignment on their own and follow the NYIT Academic Integrity Policy.

Write a Python program which implements the following two classical cryptosystem which we covered in class:

Affine Cipher

Vigenere Cipher 

Your program should consist of at least five functions:

Two functions named encrypt, one for each of the two algorithms which accepts a lowercase alphabetical plaintext string and key as input and outputs a corresponding cipher text string.

Two functions named decrypt, one for each of the two algorithms which accepts a lowercase alphabetical ciphertext string and a key as input and outputs a corresponding plaintext string.

A main function which will offer users the option to select a cryptosystem, mode (encryption or decryption), and specify plaintext/ciphertext and key inputs using either the command line or a simple GUI. The output of each cryptosystem function should be display to stdout.

Note that the format of your key will vary depending on which ciphers you choose to implement. 

For this problem you should submit your source code and a document containing:

Your compilation instructions.

Your execution instructions.

The output from a sample run in which you use your program to encrypt and decrypt a message using each of your cryptosystems which shows the input, output, and keys used in each.

Need a custom answer at your budget?

This assignment has been answered 3 times in private sessions.

Or buy a ready public solution below.

Buy ready solution

Solution previews

© 2020 Codify Tutor. All rights reserved