Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Ring of Xinu Unbeknownst to Lord Xinu (Dark Lord of the Mips), his super-secret, Wormhole X-Treme! cereal box decoder is actually a pretty lousy secret

image text in transcribed

Ring of Xinu Unbeknownst to Lord Xinu (Dark Lord of the Mips), his super-secret, Wormhole X-Treme! cereal box decoder is actually a pretty lousy secret message channel. (Lord Xinu's specialty is embedded operating systems, not cryptography.) Thwart Lord Xinu's insidious scheme to commandeer the world's home networking appliances by building a program that will crack his decoder ring's code. Simple Cryptanalysis The downfall of Lord Xinu's decoder ring scheme is that there are effectively only 27 possible key values. You can use any number as the key, but after the first modulus is taken, you're back to 27 real possibilities Code breakers often begin attacking such a weak cipher by trying all of the possibilities, hoping one of the results will obviously be the original message How will our program recognize when we've found the right key? Many algorithms exist, but one common technique is to examine the frequency of letters in the deciphered text. Written English has a known profile of letter frequencies. Let us assume that the correct key will result in the deciphered text that results in the most occurrences of the letter 'E'. This is a very close pass, but actually gives us the wrong key for most test inputs it gives us the incorrect key value that happens to decipher space characters rom the original in the letter E Instead we want the key that g ves us the nectar es um ero E n the deciphered text. Construct a program that takes ciphertext output from the encoder-ring program, tries decoding it with all 27 possible keys, and outputs the key value that resulted in the second largest number of E's, followed by the deciphered text Notes Unlike the first project, this project does not require command-line arguments. Unlike the first project, which could handle an arbitrary length text to encipher, your code breaker is only required to handle message lengths of up to 1024 characters Whereas the first project could be implemented without use of arrays, this project will require them. You can implement this program using only statically-allocated arrays. That is, you need not use pointers and dynamic memory allocation at this point. This simple code breaker is by no means perfect - it is only likely to work on longer messages in which 'E' is indeed the most common letter. A more elaborate crypt analysis engine would look at the relative frequencies of other letters, and probably search for common combinations of et e n is such as "the", "of", or "is". In the case of a tie, your code breaker should return the lowest key value that produces the maximum number of E's. Ring of Xinu Unbeknownst to Lord Xinu (Dark Lord of the Mips), his super-secret, Wormhole X-Treme! cereal box decoder is actually a pretty lousy secret message channel. (Lord Xinu's specialty is embedded operating systems, not cryptography.) Thwart Lord Xinu's insidious scheme to commandeer the world's home networking appliances by building a program that will crack his decoder ring's code. Simple Cryptanalysis The downfall of Lord Xinu's decoder ring scheme is that there are effectively only 27 possible key values. You can use any number as the key, but after the first modulus is taken, you're back to 27 real possibilities Code breakers often begin attacking such a weak cipher by trying all of the possibilities, hoping one of the results will obviously be the original message How will our program recognize when we've found the right key? Many algorithms exist, but one common technique is to examine the frequency of letters in the deciphered text. Written English has a known profile of letter frequencies. Let us assume that the correct key will result in the deciphered text that results in the most occurrences of the letter 'E'. This is a very close pass, but actually gives us the wrong key for most test inputs it gives us the incorrect key value that happens to decipher space characters rom the original in the letter E Instead we want the key that g ves us the nectar es um ero E n the deciphered text. Construct a program that takes ciphertext output from the encoder-ring program, tries decoding it with all 27 possible keys, and outputs the key value that resulted in the second largest number of E's, followed by the deciphered text Notes Unlike the first project, this project does not require command-line arguments. Unlike the first project, which could handle an arbitrary length text to encipher, your code breaker is only required to handle message lengths of up to 1024 characters Whereas the first project could be implemented without use of arrays, this project will require them. You can implement this program using only statically-allocated arrays. That is, you need not use pointers and dynamic memory allocation at this point. This simple code breaker is by no means perfect - it is only likely to work on longer messages in which 'E' is indeed the most common letter. A more elaborate crypt analysis engine would look at the relative frequencies of other letters, and probably search for common combinations of et e n is such as "the", "of", or "is". In the case of a tie, your code breaker should return the lowest key value that produces the maximum number of E's

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Concepts

Authors: David Kroenke

4th Edition

0136086535, 9780136086536

More Books

Students also viewed these Databases questions