Answered step by step
Verified Expert Solution
Question
1 Approved Answer
MUST be completed in PYTHON using object oriented programming. Cannot be procedure based You need to develop a program that implements the Substitution, Playfair, Caesar,
MUST be completed in PYTHON using object oriented programming. Cannot be procedure based
You need to develop a program that implements the Substitution, Playfair, Caesar, Transposition, Product, and RSA ciphers. The program prompts the user for a message to encrypt, then randomly applies one of the implemented encryption algorithms. The program contains different classes such as a Message class with two derived classes, plaintextMsg and ciphertextMsg. You may need to include more classes, methods, and attributes. The Message class contains attributes and methods that could be used to apply a cipher to a string, either to encrypt or to decrypt a message. The plaintextMsg class has attributes and methods to encrypt a message. The ciphertextMsg class contains a method used to decrypt a message. Once the encryption is performed your program needs to display the original message and the encrypted version of it. The program keeps asking the user for different messages to encrypt until the user inputs 'Stop. Once the user asks for STOP, the program display all the plaintext messages, the encrypted versions and the applied method. Important Notes: Make sure your program follows proper OOP rules (pythonic) that you learnt in the course. Note that procedure-based programs are NOT accepted. Please note that you never want to directly access attributes outside a class; thus, you need to define properties in order to work with attributes. Make sure you include proper exception handling mechanisms when required. The program needs to include all the concepts learnt in the course (e.g., inheritance, operator overloading, exception handling, etc.). Names chosen for classes, methods, and variables should effectively convey the purpose and meaning of the named entity. The layout of your code should be readable and consistent. This means things like indentation, wrapping of long lines, the layout of parameter lists, etc. Code duplication should be avoided by factoring out common code into separate methods.
Step by Step Solution
★★★★★
3.40 Rating (159 Votes )
There are 3 Steps involved in it
Step: 1
PlayFairCipherpy keyinputEnter key keykeyreplace keykeyupper def matrixxyini...Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started