Universität Duisburg-Essen
Verteilte Systeme
Design, Implementation and Evaluation of a Vigenere Analyzer Plugin for CrypTool 2.0
Prüfer Prof. Dr.-Ing. Torben Weis
Betreuer Dr. Arno Wacker, Dipl.-Inform. Matthäus Wander
Bearbeiter Danail Vazov
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.

The Vigenere Cipher is a classical polyalphabetic substitution cipher. Substitution ciphers are generally attacked by using some kind of statistical analysis like frequency of the letter or bigram occurrences. The first step for analyzing a Vigenere cipher is the analysis of the used key length. The probably key length of a Vigenere cipher can determined by applying the Kasiski and the Friedman tests. With the knowledge of the key length l, analysis of the Vignere cipher is reduced to the analysis of l different monoalphabetic ciphers.
In the context of this thesis a Cryptool 2.0 plugin for analyzing the Vigenere cipher should be developed and evaluated. The Vigenere-Analyzer-plugin should use the already existing plugins for the Kasiski, Friedmann and Frequency test. This plugin works on the input of a given ciphertext and should provide as a result the keyword used. In case of uncertainties, there should be a possibility integrated where the user can provide missing information like parts of the used key or uncertain character mappings. 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