Universität Duisburg-Essen
Verteilte Systeme
Design, Implementation and Evaluation of a Monoalphabetic Substitution Analyzer Plugin for CrypTool 2.0
Prüfer Prof. Dr.-Ing. Torben Weis
Betreuer Dr. Arno Wacker, Dipl.-Inform. Matthäus Wander
Bearbeiter Georgi Angelov
Beginn Juli 2009
Dauer 3 Monate

CrypTool 2.0 - the successor of the well known e-learning application for cryptography and cryptanalysis CrypTool - is an open source project which enables learners and teachers, developers and others interested in cryptography to apply and analyze cryptographic mechanisms with a modern and easy to use application. It is based on modern and state-of-the-art technologies like the latest .NET Framework (currently 3.5 SP1) and has a pure plugin architecture, which makes it easy for developers to add new functionality.
The main idea behind CrypTool 2.0 is to support users in experimenting with various cryptographic mechanisms like classic, symmetric and asymmetric encryption, digital signatures and hash values. Many cryptographic algorithms, like AES or SHA1 have already been developed as plugins. Users can interconnect these plugins by using a graphical dataflow language. With this it is possible to create custom protocols and learn how certain algorithms work or can be analyzed.

Some classical cryptographic algorithms are based on substitution of characters of a certain alphabet. Such substitution ciphers can be divided in two categories, i.e. the monoalphabetic and the polyalphabetic ciphers. In a monoalphabetic cipher a character of the plaintext is always mapped to the same character of the ciphertext. On the other hand, polyalphabetic ciphers map each plaintext character onto different ciphertext characters, making statistical analysis harder. The most common way to attack these algorithms is by the usage of statistical analysis. In this thesis we want to develop a CrypTool 2-plugin for a general analysis of monoalphabetic ciphers. In CrypTool 2.0 there is already a plugin which does simple monoalphabetic substitution and a plugin which counts the frequency of letter in a given text. By using these two plugins, in the context of this thesis a new plugin should be developed which automatically breaks/analyzes a given ciphertext (known-plaintext-attack). To automatically detect if the analysis is correct a dictionary plugin can be used. Furthermore, in cases when the analysis yields to uncertain results, the plugin should allow for easy user intervention, i.e. requesting undermined mappings of charecters from the user. A good example for this can be found in the original version of CrypTool 1.4.

The plugin must be developed in the general CrypTool 2.0 version control system and will therefore be open source. When finished, it should be released with CrypTool 2.0. Additionally, a documentation describing how to use the plugin must be integrated into the plugin. Furthermore a extended description of the problem and design decisions must be submitted at the end of this work as a bachelor thesis.

Requirements: profound knowledge in cryptography and stochastics. Knowledge of object-oriented programming languages like C# and WPF would be helpful.


© Universität Duisburg-Essen, Verteilte Systeme - Kontakt: webmaster@vs.uni-due.de

Impressum - Datenschutz