Answered step by step
Verified Expert Solution
Link Copied!

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... blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Operations Management

Authors: R. Dan Reid, Nada R. Sanders

4th edition

9780470556702, 470325046, 470556706, 978-0470325049

More Books

Students also viewed these Programming questions