Question
Please write in python object-oriented programming Project Description: Encryption is a process of converting a message, image, or any other form of data into encoded
Please write in python object-oriented programming
Project Description:
Encryption is a process of converting a message, image, or any other form of data into encoded data that can only be decoded by someone who can decrypt the message (usually with a key or the like). The science of writing secret codes is called cryptography. For thousands of years, cryptography has made secret messages that only the sender and recipient could read, even if someone captured the messenger and read the coded message. A secret code system is called a cipher.
A good encryption algorithm should produce output that looks random to a bystander but is easily decipherable with the correct key. Thus, encryption algorithms make use of pseudo-random encryption keys.
Lets start with some definitions:
Encryption or Enciphering: the process of encoding messages to make them unreadable.
This algorithm has two inputs: a plaintext and a secret key.
Decryption or deciphering: making encrypted messages readable again by decoding them (recovering the plaintext from ciphertext).
Cipher: an algorithm for performing encryption and decryption.
Plaintext: the original message.
Ciphertext: the encrypted message.
Note: a ciphertext still contains all of the original message information, even if it looks nonsense.
Secret key: the same key used for encryption and decryption.
Cryptography: the science of studying ciphers.
For this project, you need to develop a game that converts normal English words into secret codes. In order to convert, the program randomly applies an encryption algorithm to any given message. The algorithms you need to implement include Substitution, Playfair, Caesar, Transposition, Product, and RSA ciphers.
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 displays all the plaintext messages, the encrypted versions, and the applied method.
For this program add comments, allow user input, and call for the main function at the end. Please allow for the actual code to run properly without error.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
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