Your country is at war and your enemies are using a secret code to communicate with each other. You have managed to intercept a message that read as follows:
The message is obviously encrypted using the enemys secret code. You have just learned that their encryption method is based upon the ASCII code. Individual characters in a string are encoded using this system. For
example, the letter `A’ is encoded using the number 65 and `B’ is encoded using the number 66.
Your enemys secret code takes each letter of the message and encrypts it as follows (using a secret key):
If (OriginalChar + Key > 126) then
EncryptedChar = ((OriginalChar + Key) – 127) + 32
EncryptedChar = (OriginalChar + Key)
For example, if the enemy uses Key = 10 then the message \Hey” would be
Encrypted H = (72 + 10) = 82 = 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 program that decrypts the intercepted message. You only know that the key used is a number between 1 and 100. 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.
HINT: since the string has a nin it, be sure to escape it with an additional n. You will want to put the following into your Java program.