CP2003  Assignment 2
Cryptographic GUI

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.

When the encrypt button is clicked the contents of the plain text are encrypted and displayed in the cipher text area.  Alternately when the decrypt button is pressed the text present in the cipher text area is decrypted according to the key and reproduced in the plain text area.  The following picture serves as a guide for what the appearance of the GUI should resemble.  Creativity and improvement on the design is encouraged within reason.

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



Copyright 2000.  James Cook University, School of IT.