In the past many different forms of substitution ciphers have been employed. One such substitution cipher known as a Polyalphabetic substitution cipher was often used by the Union Army in the American Civil War whereby every character was rotated by a different amount according to a given key. For example if the key was 2369, the first character of the word to be encrypted is rotated by 2, the second character by 3, the third by 6 and the forth by 9. The following illustrates this process.
key: 2369
Homer Simpson ---- > Jrsnt Ulsyurt
If the word is larger than the key, then the substitution repeats modulus the key size. Such ciphers are easily cryptanalysed and are not recommended for practical use.
Task:
You are to write a Java Swing GUI which implements the encryption scenario described above. The program must provide the user with a graphical method of manipulating plain and cipher text in an easy and convenient manner allowing for keys of an arbitrary size. The following lists the basic features and functionality the program must exhibit.
Due Date
Week 9
Submission Details
Work in groups of up to 2 is permitted. Groups must be registered with the tutor prior to lecture recess. Only submit one copy if working in a group.
Demonstrate working program in your tut in week 9. It is the students responsibility to ensure that their program is capable of running in Windows on H: drive prior to the start of the tut.
Provide your tutor with all source code and gif files on a reliable floppy disk at beginning of your tut in week 9.
Also provide a hard copy of the source code.
Weighting
This assignment is worth 15% of your overall grade in this subject.
Marking Scheme
Execution
Program structure and design
Visual appearance
Exception checking/handeling
Comments
Formatting