In this project, you will individually:
- Develop a Python program that implements at least two encryption algorithms,
- Each algorithm should have two functions, one to encrypt and one to decrypt
- The functions should have a docstring and comments where needed
- The algorithms can be of any cipher or encryption. Some examples of ciphers:
- Caesar Cipher: you must implement a Caesar Cipher brute force breaker function that will count for the encryption/decryption
- Monoalphabetic Substitution (each letter is replaced by the same letter)
- Vigenere
- Affine Cipher
- Transposition
- XOR w/ one-time pad
- Some other cipher you find or a special one you invent yourself
- Each algorithm should have two functions, one to encrypt and one to decrypt
- In a PORTFOLIO.md markdown file, you will describe each algorithm, provide examples of clear text and cipher text, and describe any weaknesses the cipher has.
-
Implement your algorithms using the project benchmark organizer as a guide. Your program should ask the user whether they want to encrypt or decrypt and then prompt them for the appropriate text.
-
Document your functions in the PORTFOLIO.md file. Be sure to include clear examples of clear text and cipher text. Also describe any weaknesses the cipher has.