The University of Sheffield
Department of Computer Science

Robert Purchase Undergraduate Dissertation 2000/01

"A Cryptographer's Workbench"

Supervised by R.Gaizauskas

Abstract

The purpose of this work is to design and develop a system which can be used by amateur code-breakers to encode, decode and break several different types of simple ciphers. This dissertation begins by introducing and describing a number of different ciphers, from simple substitution ciphers such as the Caesar shift, through to more modern systems such as DES and public-key encryption.

The stages of development of the software system are then described, from the initial requirements analysis, through design, implementation and, finally, testing and evaluation phases. The final workbench system was developed in Java, providing mono-alphabetic substitution and Vigenère encryption and decryption, as well as effective code-breaking modules for mono-alphabetic substitution, using frequency analysis; the Caesar shift, using a brute-force approach; and the Vigenère cipher, using a "hill-climbing" approach to discover the best keyword.

The system developed will be tested using a variety of texts written in different styles of English, to evaluate the performance of the code-breaking modules.