The idea of the Caesar Cipher is to pick an integer and shift every letter of your message by that integer. In other words, suppose the shift is kth . Then, all instances of the i letter of the alphabet that appear in the plaintext should become the (i + k) th letter of the alphabet in the ciphertext. You will need to be careful with the case in which i + k > 26 (the length of the alphabet).
Treat uppercase and lowercase letters individually, so that uppercase letters are always mapped to an uppercase letter, and lowercase letters are always mapped to a lowercase letter. If an uppercase letter maps to “A”, then the same lowercase letter should map to “a”. Punctuation and spaces should be retained and not changed. For example, a plaintext message with a comma should have a corresponding ciphertext with a comma in the same position.
We will have a Message class with two subclasses EncryptMessage and DecryptMessage.
Message contains methods that could be used to apply a cipher to a string, either to encrypt or to decrypt a message (since for Caesar codes this is the same action). EncryptMessage has methods to encode a string using a specified shift value; our class will always create an encoded version of the message, and will have methods for changing the encoding. DecryptMessage contains a method used to decode a string.
When you have completed your implementation, you can either create a DecryptMessage instance using an encrypted string that someone provides you and try to decrypt it; or you can encrypt your own EncryptMessage instance, then create a DecryptMessage instance from the encrypted message within the EncryptMessage instance, and try to decrypt it and see if it matches the original plaintext message.
Your job will be to fill methods for all three of these classes according to the specifications given in the docstrings of part2project.py.
15 freelancers are bidding on average $119 for this job
I have the source code of this as I did this as an assignment for my python course I got an A. I would like to work on this project message me so we can discuss.
hi i am pradeep ragul S The question was interesting and i always use to engage my self to this kind of competitive programming hope i am wating for your good news Thank you (in advanvce)
Hey, I am an expert in python and have worked on various projects. I can complete your project within a day. Please feel free to contact me any time. Waiting to hear from you. Best Regards, Samra Nasir