Declaration All sentences or passages quoted in this dissertation from other people's work have been specifically acknowledged by clear cross-referencing to author, work and page(s). Any illustrations which are not the work of the author of this dissertation have been used with the explicit permission of the originator and are specifically acknowledged. I understand that failure to do this amounts to plagiarism and will be considered grounds for failure in this dissertation and the degree examination as a whole.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.