Your country is at war and your enemies are using a secret code to communicate with one another. You have managed to intercept a message that reads as follows:
:mmZ\dxZmx] Zpgy
The message is obviously encrypted using the enemy’s secret code. You have just learned that their encryption method is based upon the ASCII code (see Appendix 7). Individual characters in a string are encoded using this system. For example, the character ‘A’ is encoded using the number 65 and ‘B’ is encoded using the number 66. Your enemy’s secret code takes each letter of the message and encrypts it as follows:
if (OriginalChar + Key > 126) then
EncryptedChar = 32 + ((OriginalChar +Key) − 127)
else
EncryptedChar = (OriginalChar + Key)
For example, if the enemy uses Key = 10 then the message “Hey” would initially be represented as:
Character ASCII code
H 72.
e 101
y 121
And “Hey” would be encrypted as:
Encrypted H − (72 + 10) − 02 − R in ASCII
Encrypted e − (101 + 10) – 111 − o in ASCII
Encrypted y = 32 + ((121 + 10) − 127) = 36 = $ in ASCII
Consequently, “Hey” would be transmitted as “Ro$.” Write a Java program that decrypts the intercepted message. You only know that the key used is a number between 1 and 100. You can assume that the original message consists entirely of ASCII codes that represent only printable characters. Your program should try to decode the message using all possible keys between 1 and 100. When you try the valid key, the message will make sense. For all other keys, the message will appear as gibberish. Since there are only 100 keys this would obviously be a pretty crummy encryption system. This
You will want to use charAt ().
Important: Note that the secret code has a \ so you will need to escape encode it by using \\ if you hard-code it in your program.
Want to see the full answer?
Check out a sample textbook solutionChapter 4 Solutions
Java: An Introduction to Problem Solving and Programming (8th Edition)
Additional Engineering Textbook Solutions
Starting Out with Java: From Control Structures through Data Structures (4th Edition) (What's New in Computer Science)
Objects First with Java: A Practical Introduction Using BlueJ (6th Edition)
Starting Out With Visual Basic (8th Edition)
Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
C Programming Language
C++ How to Program (10th Edition)
- 1.6 Give state diagrams of DFAs recognizing the following languages. In all parts, the alphabet is {0,1}.arrow_forwardfor the following sequence of keys, do the following: MBX, EXB, GBX,…, ABX, AXB,…, QXB, YXB, … . 1. Fill in the 3 blanks with strings from your first, second, and third name.arrow_forwardPython: A bit shift is a procedure whereby the bits in a bit string are moved to the left or to the right. For example, we can shift the bits in the string 1011 two places to the left to produce the string 1110. Note that the leftmost two bits are wrapped around to the right side of the string in this operation. Define two scripts, shiftLeft.py and shiftRight.py, that expect a bit string as an input. The script shiftLeft shifts the bits in its input one place to the left, wrapping the leftmost bit to the rightmost position. The script shiftRight performs the inverse operation. Each script prints the resulting string.arrow_forward
- 1. a Write a regular expression for the set of binary strings where each string has at least one pair of consecutive zeros. b. write the regular expression for the following, where sigma = (a,b): i. string of length at least 2 ii. string of length at most 2 iii. all string starting with a and ending with b iv. Even length Stringsarrow_forward6. A palindrome is a number or text phrase that reads the same backwards or forwards. For example, each of the following five-digit integers is a palindrome: 12321, 55555, 45554 and 11611. Write a program that reads a 5 digit integer and determines whether it is a palindrome. Hint: One way to do this is to use division (/) and modulus (%) operators to separate the number into individual digits.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_forward
- python Write a Pig Latin converter. We will use a simple version of Pig Latin. To convert a word to Pig Latin: If the first letter of a word is a consonant: remove the first letter and place that letter at the end of the word. Then, append the string "ay" to the end of the word. If the first letter of the word is a vowel (a, e, i, o, u): Simply append "way" to the end of the word. Treat the letter "y" as a consonant. Make sure all letters in the Pig Latin word are lowercase. Ex: If the input is: Sleep the output is: leepsay Ex: If the input is: apple the output is: applewayarrow_forwardEncryption is done by adding relative distance in alphabets (a,b,c,d ...z) for each character in the string. There is no punctuation in the input string and all alphabets in the string are upper case. string n = "HELLO WORLD THIS ZEE WORLD"; string encrypt(string) string decrypt(string) Allowed to use C++/Python/JS Example Text: ABCDZ -> Encrypted Text: BDFHEarrow_forwardWrite a program that asks the user to enter a string, and then converts that string to Morse code. Use hyphens for dashes and periods for dots. Morse Code Table Character Code Character Code Character Code Character Code space space 6 - . . . . G --. Q --.- comma --..-- 7 -- . . . H . . . . R .-. period .-.-.- 8 ---.. I .. S . . . question mark ..--.. 9 ----. J .--- T - 0 ----- A .- K -.- U ..- 1 .---- B - . . . L .-.. V . . . - 2 ..--- C -.-. M -- W .-- 3 . . . -- D -.. N -. X -..- 4 . . . .- E . O --- Y -.-- 5 . . . .. F ..-. P .--. Z --..arrow_forward
- Q5\A) The Amplitude Modulation (AM) is a technique used in communication for transmitting information via radio carrier wave. AM works by varying the amplitude of the transmitted signal in relation to the information being sent. The equations of the carrier signal, the original signal to send, and the modulated signal combining the two signals are respectively: VI-V sin (2nfet) V2=Vm sin (2πfmt) V3-V sin (2nfet)+ Vm sin (2nfmt)* sin (2πfet) Supposing that Vc =Vm=1, fc-20, fm-1. Write a MATLAB program that plots the three signals with single call, the graphs must be contain (desired title, axis labels, annotations, with symbols for color, style, and marker) for each graph. Use the step 0.0025 for the time.arrow_forwardDetermine whether a string is a palindrome A palindrome is a string of characters that reads the same from right to left as it does from left to right, regardless of punctuation and spaces. Some famous English palindromes include the following “Madam, I’m Adam”, and “Never odd or even”. Of course, a simpler example would be the world “radar”.The specifications for this assignment are: Write and test a non-recursive solution in Java that determines whether a string is a palindrome •Your program should consist of at least two methods: (1) the main method (2) the method which performs the task of determining whether the specified string is a palindrome. You should name this method isPalindrome. You should name the class that contains your “main” method and the isPalindrome method FindPalindrome. •You must use a Stack and a Queue in your solution:Make sure to Write your own Stack and Queue based on the Vector in the Java API and use those in your solution. You should name those classes…arrow_forwardWrite a Python Program to Count Occurrences of a certain Character in a String. The user inputs a string value and the character to search. For example, if the string input value is PHILIPPINES and the character value is P, the output is value 3. There are 3 occurrences of P in the PHILIPPINES. The program must count the same character whether it is in lowercase or uppercase.arrow_forward
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning