| Client: | Alfred Graham Gash |
| Contractors: | John Jemsek ( Producer ) |
| Philip Ong ( Technical Director ) | |
| Joon Ohh | |
| Steve Park | |
| Rob Whitehurst | |
| Amarish Khopkar |
General Description
Modern cryptography is a remarkable field. It manages to solve problems
that
one might guess to be unsolvable, to define goals that one might assume
to be
undefinable, and to prove theorems that one might think to be unprovable.
Cryptography deals with very human concerns---issues of privacy, authenticity,
and trust---but it does so in a way that is concrete and mathematical.
The word cryptography comes from the Latin crypt, meaning
secret, and graphia, meaning writing. So cryptography
is literally secret writing: the study of
how to obscure what you write so as to render it unintelligible to
those who should
not read it. Nowadays cryptography entails a lot more than finding
good ways for
keeping your communications secret.
Contractor Agreement
The members of the CYPHER team: John Jemsek, Amarish Khopkar, Joon Ohh,
Steve Park,
Rob Whitehurst, and Philip Ong hereby known as the contractors agree
to provide fully
functional software that meets the specifications defined under Primary
Requirements.
This software will be available to the Client no later than May 4th, 2000.
The contractors also agree that if time permits, there is a possibility
of the software
containing added features outlined in sections Secondary Requirements
and Tertiary Requirements,
however the contractors hold no responsibility for these requirements
be met in the
final product. The contractors also agree to provide documentation
and updated progress
reports for this project on the CYPHER web page.
Primary Requirements
1. The user will be presented with a scrollable window containing
the source message to be decrypted.
A second window will display the corresponding
decrypted text. Replacing a letter or string in the second
window (perhaps by the mouse-based "select and replace"
method) will result in all similar text being replaced,
at least in the case of substitution ciphers.
2. A capability for dynamically specifying the alphabet will be provided.
3. The kind of decryption to be performed will be selectable.
These will be usable in succession, to handle
messages encrypted by multi-step methods.
4. Displays of various statistics will be provided, including
the 1 letter and 2 - 4 letter-group histograms of
the messages. These histograms will be presented
in both tabular and graphical form (although not necessarily
in both forms simultaneously).
5. At least partial dictionary look up of decrypted text will be implemented.
It will be automatic and work
for both full and partial (i.e. likely) words.
When matches are found, they will be visually marked so that
they pop out to the user. Partial matches
will not display exactly the same as full matches.
6. The handling of transposition cyphers will allow the text to
be "re-blocked" arbitrarily. Thus, the messages
will be able to be arranged as a matrix of arbitrary
dimensions for transposition. Note that this may sometimes
require addition or removal of padding characters.
This case will be possible but not automatically selected,
unless the existence of padding is detected.
Secondary Requirements
1. The system will be able to handle messages with various character
sizes. For example, encryption of an
alphabet having only 26 letters, space, and a few
punctuation symbols, will only require storing 6 bits per message.
Thus the initial data to be decrypted will have
to be unpacked.
2. For enigma-type cyphers, the design of the enigma machine must
be defined by the user, and then the
decryption could be done by brute force. Specifically,
the UNIX crypt(3) function is an example of an
enigma machine. It should be possible to crack
passwords using the product, if the proper model of crypt
is specified.
Tertiary Requirements
Alfred Graham Gash, hereby referred to as the Client, agrees to provide
the contractors with the necessary
computing resources beyond those available to the contractors. Specifically,
the client will act as a liaison
between the contractors and the Computer Science Department at UNC-Chapel
Hill when the need arises.
If the client is unable to meet this requirement, thorough testig will
be limited. Furthermore, the client agrees
to make himself available to respond to questions and comments in a
timely fashion.
Risks
Signatures
Alfred Graham Gash ( Client ) ____________________________________
David Stotts ( Boss ) ___________________________________________
John Jemsek ( Producer ) ________________________________________
Philip Ong ( Technical Director ) ___________________________________
Amarish Khopkar ( Contractor ) ___________________________________
Stephen Park ( Contractor ) ______________________________________
Robert Whitehurst ( Contractor ) __________________________________
Joon Ohh ( Contractor ) ________________________________________