Project3_enigma_machine

# Project3_enigma_machine - Project 17 Encryption and...

This preview shows pages 1–3. Sign up to view the full content.

Project 17 – Encryption and Decryption via a simplified ENIGMA machine Overview In this project, you develop a program to read text from a file, encrypt it using a simplified variation of a historically famous technique, and write it back out to a file for subsequent decryption by your program. (This description has code examples in C, but your Java code would be very similar. Pay careful attention to the suggested Object Oriented approach near the end of this document, as well.) You'll learn a lot about arrays and functions, and perhaps get a feel for intellectual cat-and-mouse game of code breaking that occupied some of the greatest mathematical and, ultimately computer science minds of the previous century. Alan Turing was the most famous of these cryptographers. Please see: http://en.wikipedia.org/wiki/Alan_Turing Peter Hilton, who spoke last year at Valencia worked on an even more complex German code called FISH. ( http://en.wikipedia.org/wiki/Peter_Hilton) Learning Objectives L3 - Selection and repetition constructs in Java. L4 – Collections (e.g. List, Queue) and Arrays L5 - Object-oriented principles using Java. You'll get a good chance here to see how manipulating characters as numbers is particularly useful.

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Background One of the most fascinating stories from World War II concerns the Allies successful efforts to break the German ENIGMA cipher. The Germans used a a code-generating machine called ENIGMA which they believed unbreakable. Through a combination of exploiting design defects, capitalizing on operational mistakes, and flashes of brilliance, the Allies were able to break the ENIGMA and related codes throughout the war. The intelligence gained through the decryption of the German messages is generally believed to have hastened Allied victory by some years. A good reference on the ENIGMA machine is: http://en.wikipedia.org/wiki/Enigma_machine The ENIGMA was a portable, electromechanical device resembling an old-fashioned typewriter. As the operator pressed the keys for each letter in the original message (the plaintext ), the machine enciphered (scrambled) the letters into ciphertext and illuminated a bulb showing which letter should be sent in place of the original. In other words, if the plaintext was “ATTACK AT DAWN”, pressing the A key for the first A in ATTACK might light the lamp for the letter G. Keying the first T in ATTACK might light the X. Thus far we're describing a simple substitution (or Caesar ) ciphe r. http://www.simonsingh.net/The_Black_Chamber/caesar.html If every A had produced a G, and every T an X, then the Allies could have solved the obtained the plaintext almost immediately from the ciphertext by simple techniques, including looking at the frequency of letters and letter pairs.
This is the end of the preview. Sign up to access the rest of the document.

## This note was uploaded on 03/01/2012 for the course COP 2800 taught by Professor Geraldreed during the Spring '08 term at Valencia.

### Page1 / 7

Project3_enigma_machine - Project 17 Encryption and...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online