Problem
Write javascript Node.js program which implements the following two classical cryptosystem which we covered in class: a) Affine Cipher b) Vigenere Cipher Your program should consist of at least five functions: a) 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. b) 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. c) 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. submit your source code and a document containing: a) Your compilation instructions. b) Your execution instructions. c) 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