Python Programming: An Introduction to Computer Science, 3rd Ed.
3rd Edition
ISBN: 9781590282755
Author: John Zelle
Publisher: Franklin, Beedle & Associates
expand_more
expand_more
format_list_bulleted
Question
Chapter 5, Problem 7PE
Program Plan Intro
Program plan
- Inside the “main()” function,
- Declare “plaintext” and “key” and get input from the user.
- Declare “ciphertext” and then encode the plaintext into ciphertext.
- Print the encoded message.
- Call the “main()” function.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
A Caesar cipher is a simple substitution cipher based on the idea of shifting
each letter of the plaintext message a fixed number (called the key) of
positions in the alphabet. For example, if the key value is 2, the word
"Sourpuss" would be encoded as "Uqwtrwuu." The original message can
be recovered by “reencoding" it using the negative of the key.
Write a program that can encode and decode Caesar ciphers. The in-
put to the program will be a string of plaintext and the value of the key.
The output will be an encoded message where each character in the orig-
inal message is replaced by shifting it key characters in the Unicode char-
acter set. For example, if ch is a character in the string and key is the
amount to shift, then the character that replaces ch can be calculated as:
chr (ord (ch) + key).
62
Encrypt
Caesar cipher is a kind of substitution cipher. Instead of using a substitution table, the alphabets are rotated by a number (a key). For example, if the key is 3, plaintext alphabet a would become d, and plaintext alphabet z would become c.
Write a program that implements the Caesar Cipher. You program will first prompt for the key and then for the mode (E for encryption and D for decryption) and finally for the message to be encrypted / decrypted. Your program will then output the encryption / decryption message.
For this question, the input message may consists of any character, the program should encrypt or small letter case a to z only. All other characters should be kept intact after encryption or decryption.
Substitution ciphers are encryption/decryption algorithms that replace one letter or number with another. The first attested use of a substitution cipher in military affairs was by Julius Caesar, described by him in Gallic Wars (cf. Kahn pp83-84). In caesar cipher , you replace each letter by 3rd letter on. If it is out of bound (later than Z), then round to the head (letter A) and continue the shift. For example:meet me after the toga party
PHHW PH DIWHU WKH WRJD SDUWB
Please write a program in Java to implement the Caesar Cipher:
a. Implement the encryption algorithm. Ask the user to input one all lower case normal sentence (called plaintext) using the nextLine method, and then output the encrypted text (called ciphertext).
b. Implement the decryption algorithm. Ask the user to input one encrypted sentence (i.e. ciphertext) using the nextLine method, and then output the decrypted text (i.e. plaintext).
Chapter 5 Solutions
Python Programming: An Introduction to Computer Science, 3rd Ed.
Ch. 5 - Prob. 1TFCh. 5 - Prob. 2TFCh. 5 - Prob. 3TFCh. 5 - Prob. 4TFCh. 5 - Prob. 5TFCh. 5 - Prob. 6TFCh. 5 - Prob. 7TFCh. 5 - Prob. 8TFCh. 5 - Prob. 9TFCh. 5 - Prob. 10TF
Ch. 5 - Prob. 1MCCh. 5 - Prob. 2MCCh. 5 - Prob. 3MCCh. 5 - Prob. 4MCCh. 5 - Prob. 5MCCh. 5 - Prob. 6MCCh. 5 - Prob. 7MCCh. 5 - Prob. 8MCCh. 5 - Prob. 9MCCh. 5 - Prob. 10MCCh. 5 - Prob. 1DCh. 5 - Prob. 2DCh. 5 - Prob. 3DCh. 5 - Prob. 4DCh. 5 - Prob. 5DCh. 5 - Prob. 1PECh. 5 - Prob. 2PECh. 5 - Prob. 3PECh. 5 - Prob. 4PECh. 5 - Prob. 5PECh. 5 - Prob. 6PECh. 5 - Prob. 7PECh. 5 - Prob. 8PECh. 5 - Prob. 9PECh. 5 - Prob. 10PECh. 5 - Prob. 11PECh. 5 - Prob. 12PECh. 5 - Prob. 13PECh. 5 - Prob. 14PECh. 5 - Prob. 15PECh. 5 - Prob. 16PE
Knowledge Booster
Similar questions
- Write a Program using any programming language you are comfortable with to implement Ceasar Shift cipher technique. The algorithm should take “plaint text” and key as input and gives the cipher text as output.arrow_forwardPython The Dan Cipher works like this: shift the first lowercase character to the right by 1, the second lowercase character to the right by 2, and so on. Characters that are not lowercase characters are not changed. Write a program that takes a string and prints the result of applying the Dan Cipher.arrow_forwardExample 2 Enter message to be encrypted: Dèyè mòn, gen mòn. Enter step size: -1 ORIGINAL MESSAGE Dèyè mòn, gen mòn. ENCRYPTED MESSAGE Cçxç lim, fdm lim. Enter message to be encrypted: Dèyè mòn, gen mòn. Enter step size: 0 ORIGINAL MESSAGE Dèyè mòn, gen mòn. ENCRYPTED MESSAGE Dèyè mòn, gen mòn. Enter message to be encrypted: QUIT Example 3 Enter message to be encrypted: Perfer et obdura, dolor hic tib: proderit olim. Enter step size: 8 ORIGINAL MESSAGE Perfer et obdura, dolor hic tibi proderit olim. ENCRYPTED MESSAGE Xmznmz m| wjl)zi, lwtwz pąk |qją xzwlmzą| wtqu. Enter message to be encrypted: QUITarrow_forward
- Implement the first round of AES ( Advanced Encryption Standard ) in python. Given a message with 128 bits, two subkeys subkey0 and subkey1, your program should be able to perform one AddKey before Round 1 and the corresponding operations (SubBytes, ShiftRows, Mix-Columns, and AddKey) in Round 1, and output the result of the encryption after Round 1.arrow_forwardWrite a python program that scans in a large number of tweets from a file, and prints the top 5 hashtags. Approach Parse each word in the file Find a way to isolate the hashtags from the rest of the tweet Compute the frequency of each unique hashtag. Find the top 5 hashtags. Caveats 1. Because this is public dataset, there are many tweets that use special characters that may cause issues during reading in your file. To avoid this, explicitly specify the encoding mode in open when reading in the file. with open('twitter_data.txt', 'r', encoding='utf8') as f: 2. When parsing hashtags be sure to change everything to lowercase. There are cases in the file where two hashtags are the same but differ in case. 3. There is no standard way of sorting a dictionary based on the values. Python gives you access to a sorted function where you can pass in a collection and also specify a comparator which outlines how you want to sort the values. This can be done with a one line lambda function.arrow_forwardWrite a Python program to implement Caesar cipher. Caesar cipher is used to encrypt text by replacing each letter by another letter that comes after it in the alphabet by a fixed number of letters (encryption number n). If the last letter of the alphabet (letter 'z') is reached, the program continues to count from the beginning of the alphabet (letter 'a'). The user enters the text and the encryption number (n), and the program prints the encrypted text. The program can be used to decrypt an encrypted text by entering the encrypted text and the negative value of encryption number (-n).arrow_forward
- A simple and very old method of sending secret messages is the substitution cipher. You might have used this cipher with your friends when you were a kid. Basically, each letter of the alphabet gets replaced by another letter of the alphabet. For example, every 'a' get replaced with an 'X', and every 'b' gets replaced with a 'Z', etc. Write a program thats ask a user to enter a secret message. Encrypt this message using the substitution cipher and display the encrypted message. Then decryped the encrypted message back to the original message. You may use the 2 strings below for your subsitition. For example, to encrypt you can replace the character at position n in alphabet with the character at position n in key. To decrypt you can replace the character at position n in key with the character at position n in alphabet. Have fun! And make the cipher stronger if you wish! Currently the cipher only substitutes letters - you could easily add digits, puncuation, whitespace and so forth.…arrow_forwardExperiment 1: IMPLEMENTATION OF CAESAR CIPHER Objective: To implement the simple substitution technique named Caesar cipher using C+ language. Theory: To enerypt a message with a Caesar cipher, each letter in the message is changed using a simple rule: shift by three. Each letter of the message is shifted a fixed distance (3 for example) down the alphabet, A becomes D, B becomes E, and so on. For the last letters, we can think of alphabet as a circle and "wrap around", W becomes Z. X becomes A, Y becomes B, and Z becomes C. To change a message back, cach letter is replaced by the one three before it. Example ABCDEFGHIJKLMNOPQRSTUVWXYZ t t t t t t t t ttt t t t t t t tt t t t t t t ft DEFGHIJKLMNOPQRSTUVW XY Z ABc) digorithm STEP-1: Read the plain text from the user. STEP-2: Read the key value from the user. STEP-3: If the key is positive then encrypt the text by adding the key with each character in the plain text. STEP-4: Else subtract the key from the plain text. STEP-5: Display the…arrow_forwardWrite a Python program to implement Caesar cipher, Caesar cipher is used to encrypt text by replacing each letter by another letter that comes after it in the alphabet by a fixed number of letters (encryption number n). If the last letter of the alphabet (letter '2') is reached, the program continues to count from the beginning of the alphabet (letter 'a'), The user enters the text and the encryption number (n), and the program prints the encrypted text. The program can be used to decrypt an encrypted text by entering the encrypted text and the negative value of encryption number (-n). Example1: Enter message: Hello World! Enter encryption key: 5 Mjqqt Btwail Example2: Enter message: Mjgqt Btwqil Enter encryption key: -5 Hello World!arrow_forward
- please code in python Implement an encryption function that tests that input 0xADE1 yields ciphertext (188, 153). You may hard-code these values for testing. Do NOT use ANY string/character manipulation or arithmetic functions to implement your solution.arrow_forwardIn cryptography, a Caesar cipher is a very simple encryption techniques in which each letter in the plain text is replaced by a letter some fixed number of positions down the alphabet. For example, with a shift of 3, A would be replaced by D, B would become E, and so on. The method is named after Julius Caesar, who used it to communicate with his generals. ROT-13 (“rotate by 13 places”) is a widely used example of a Caesar cipher where the shift is 13. In Python, the key for ROT-13 may be represented by means of the following dictionary: key = {‘a’:’n’, ‘b’:’o’, ‘c’:’p’, ‘d’:’q’, ‘e’:’r’, ‘f’:’s’, ‘g’:’t’, ‘h’:’u’,‘i’:’v’, ‘j’:’w’, ‘k’:’x’, ‘l’:’y’, ‘m’:’z’, ‘n’:’a’, ‘o’:’b’, ‘p’:’c’,‘q’:’d’, ‘r’:’e’, ‘s’:’f’, ‘t’:’g’, ‘u’:’h’, ‘v’:’i’, ‘w’:’j’, ‘x’:’k’,‘y’:’l’, ‘z’:’m’, ‘A’:’N’, ‘B’:’O’, ‘C’:’P’, ‘D’:’Q’, ‘E’:’R’, ‘F’:’S’,‘G’:’T’, ‘H’:’U’, ‘I’:’V’, ‘J’:’W’, ‘K’:’X’, ‘L’:’Y’, ‘M’:’Z’, ‘N’:’A’,‘O’:’B’, ‘P’:’C’, ‘Q’:’D’, ‘R’:’E’, ‘S’:’F’, ‘T’:’G’, ‘U’:’H’, ‘V’:’I’,‘W’:’J’, ‘X’:’K’,…arrow_forwardIn cryptography, a Caesar cipher is a very simple encryption techniques in which each letter in the plain text is replaced by a letter some fixed number of positions down the alphabet. For example, with a shift of 3, A would be replaced by D, B would become E, and so on. The method is named after Julius Caesar, who used it to communicate with his generals. ROT-13 (“rotate by 13 places”) is a widely used example of a Caesar cipher where the shift is 13. In Python, the key for ROT-13 may be represented by means of the following dictionary: key = {‘a’:’n’, ‘b’:’o’, ‘c’:’p’, ‘d’:’q’, ‘e’:’r’, ‘f’:’s’, ‘g’:’t’, ‘h’:’u’,‘i’:’v’, ‘j’:’w’, ‘k’:’x’, ‘l’:’y’, ‘m’:’z’, ‘n’:’a’, ‘o’:’b’, ‘p’:’c’,‘q’:’d’, ‘r’:’e’, ‘s’:’f’, ‘t’:’g’, ‘u’:’h’, ‘v’:’i’, ‘w’:’j’, ‘x’:’k’,‘y’:’l’, ‘z’:’m’, ‘A’:’N’, ‘B’:’O’, ‘C’:’P’, ‘D’:’Q’, ‘E’:’R’, ‘F’:’S’,‘G’:’T’, ‘H’:’U’, ‘I’:’V’, ‘J’:’W’, ‘K’:’X’, ‘L’:’Y’, ‘M’:’Z’, ‘N’:’A’,‘O’:’B’, ‘P’:’C’, ‘Q’:’D’, ‘R’:’E’, ‘S’:’F’, ‘T’:’G’, ‘U’:’H’, ‘V’:’I’,‘W’:’J’, ‘X’:’K’,…arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education