Titelaufnahme

Titel
Visualisierung gängiger kryptographischer Algorithmen mittels CrypTool 2.0
Weitere Titel
Visualization of popular cryptographic algorithms using CrypTool 2.0
VerfasserSeyr, Ulrike
GutachterKoschuch, Manuel
Erschienen2012
Datum der AbgabeMai 2012
SpracheDeutsch
DokumenttypBachelorarbeit
Schlagwörter (DE)Advanced Encryption Standard / AES / CrypTool
Schlagwörter (EN)Advanced Encryption Standard / AES / CrypTool
Zugriffsbeschränkung
 _
Klassifikation
Zusammenfassung (Deutsch)

Im Rahmen dieser Arbeit wird einerseits das CrypTool 2.0 vorgestellt. Dabei handelt es sich um eine Open-Source E-Learning Plattform mit verschiedensten kryptographischen Algorithmen und Analysemethoden, die auf einfache, intuitive Weise kennengelernt und getestet werden können. Andererseits wird für eben dieses Tool eine zusätzliche Komponente entwickelt, die den aktuellen Verschlüsselungsalgorithmus Advanced Encryption Standard (AES) visuell darstellt.

Ursprünglich wurde der Vorgänger des CrypTool 2.0 zur Mitarbeitersensibilisierung einer Großbank entwickelt. Mittlerweile gibt es bereits vier verschiedene Varianten, die in mehreren Sprachen verfügbar sind. Dies wurde durch die Unterstützung zahlreicher freiwilliger Entwickler möglich, die das Projekt mit vielen Komponenten erweitern. Bei den meisten der bisherigen Algorithmen wird die Möglichkeit einer visuellen Darstellung bisher nicht genutzt. Da mit einer Visualisierung aber unter anderem ein leichter nachvollziehbarer Einblick in die Funktionsweise eines Algorithmus gegeben werden kann, soll dies mit der neuen Komponente für den AES ermöglicht werden.

Beim AES handelt es sich um einen symmetrischen Verschlüsselungsalgorithmus. Der Klartext wird jeweils in Blöcken von 128 Bits verschlüsselt. Die Schlüssellänge kann 128, 192 oder 256 Bits betragen. Bei der Verschlüsselung werden vier verschiedene Transformationen in mehreren Runden auf den Klartext angewandt. Die Entschlüsselung kann entweder durch inverse Transformationen, welche in umgekehrter Reihenfolge angewandt werden, oder eine äquivalente Funktion erfolgen.

Für die Entwicklung des Plug-ins werden zunächst die Funktionsweise und Möglichkeiten des CrypTools analysiert. Im nächsten Schritt wird die Funktionsweise des gewählten Verschlüsselungsalgorithmus erarbeitet und beschrieben. Bei der praktischen Umsetzung wird zuerst geklärt, welche Vorbereitungen für die Programmierarbeiten notwendig sind. Anschließend wird entschieden, wie die Visualisierung im Detail aussehen soll und entsprechende Entwürfe erstellt. Danach kann die eigentliche Programmierarbeit erfolgen. Abschließend werden die Bedienelemente und die Funktionsweise des neu erstellten Plug-ins anhand eines Anwendungsbeispiels erklärt.

Als Ergebnis der Arbeit ist die neue Komponente für das CrypTool 2.0 entstanden. Damit lassen sich die einzelnen Berechnungen des Algorithmus leicht nachvollziehen. Zudem können damit verschiedene Tests durchgeführt werden. So lassen sich etwa die Auswirkung von Änderungen beim Klartext bzw. Schlüssel auf das Endergebnis, aber auch auf die einzelnen Zwischenschritte zeigen. Außerdem wurden die Schritte, die für die Einbindung der Visualisierung in das Plug-in notwendig sind, genau beschrieben, um damit den Einstieg für künftige Entwickler zu erleichtern.

Zusammenfassung (Englisch)

In the course of this thesis CrypTool 2.0 is introduced. This is an open source e-learning platform which provides an easy to understand insight into cryptographic algorithms and analysis methods. On the other hand a new plug-in for this tool is developed, which visualizes the algorithm of the Advanced Encryption Standard (AES).

The predecessor of CrypTool 2 was originally developed by a major bank to raise the employee awareness. By now there are four different versions in several languages available. Numerous voluntary developers made this possible by creating new components for the project. However most of these components do not make use of the possibility to offer a visualisation for the algorithm they provide. As an illustration can explain the calculations of an algorithm in a more comprehensible way though, the new plug-in shall implement this for the AES.

The AES is a symmetric encryption algorithm. It encrypts the plaintext in blocks of 128 bits and can handle key lengths of 128, 192 or 256 bits. The encryption is based on four different transformations, which are applied on the plaintext in several rounds. The decryption can be carried out either by inverting the transformations and applying them in reverse order or by using an equivalent inverse cipher.

The first step in order to create this component is to analyse the possibilities and functions of the CrypTool 2.0. The next step is to acquire and explain the basis and calculations of the encryption algorithm. Then the required preparations for the programming process are collected, the details for the visualisation are planned and drafts for the visualisation are designed. After that the actual programming can be carried out. Finally, an example of use will explain the handling and functionality of the new plug-in.

As a result the new component for CrypTool 2.0 has arisen out of the thesis. Thereby the calculations of the algorithm are easier to understand and different tests can be performed such as the impact of small changes of the plaintext or key on the result and intermediate steps. Furthermore the necessary measures to integrate a visualisation into a plug-in are described in detail to supply future developers with an easy entry.