Question: 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,

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

1 Expert Approved Answer
Step: 1 Unlock

To create a program that implements various ciphers using objectoriented programming in Python we will follow these steps 1 Define the Base Class Mess... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!