Universität Duisburg-Essen
Verteilte Systeme
Design und Entwicklung einer schnellen Laufzeitumgebung für CrypTool 2.0
Prüfer Prof. Dr.-Ing. Torben Weis
Betreuer Dr. Arno Wacker
Bearbeiter Nils Kopal
Dauer 3 Monate

CrypTool 2.0 – der Nachfolger der bekannten e-Learning Anwendung für Kryptographie und Kryptoanalyse CrypTool – ist ein Open-Source Projekt welches Lernenden, Lehrenden und Entwickler mit Interesse an der Kryptographie die Möglichkeiten eröffnet selbst verschiedene kryptographische und kryptoanalytische Verfahren anzuwenden und auszuprobieren. Die moderne Benutzeroberfläche ermöglicht per einfachem und intuitiven Drag & Drop das Erstellen von einfachen bis hin zu sehr komplexen kryptographischen Algorithmen. Dies geschieht dabei mit einer graphischen Programmiersprache, welche speziell für diesen Zweck entwickelt wurde. Der Benutzer kann dabei ohne besondere Programmierkenntnisse die Algorithmen miteinander verbinden und so eigene, neue Algorithmen und Abläufe erschaffen und testen. CrypTool 2 basiert auf modernsten Techniken wie z.B. das .NET Framework (zurzeit 3.5 SP1) und der Windows Presentation Foundation (WPF). Darüber hinaus ist die Architektur von CrypTool 2.0 vollständig Plug-In-basiert und modular aufgebaut wodurch die Entwicklung neuer Funktionalitäten stark vereinfacht wird. Im Rahmen dieses Projekts wurden bereits eine Mehrzahl von kryptographischen Algorithmen wie z.B. AES, SHA1 oder die Enigma als Plug-Ins entwickelt.

Eine Kernkomponente von CrypTool 2.0 ist der graphische Editor, mit dem es möglich ist verschiedene Plug-Ins in beliebiger Art und Weise zu verknüpfen und dadurch sogenannte visuelle Programme zu erstellen. Bei der Entwicklung des aktuellen Editors wurde der Fokus auf die visuelle Rückmeldung für den Benutzer gelegt. Dadurch kann der Benutzer zwar jeden einzelne Schritt des visuellen Programms verfolgen, allerdings ist die Ausführung des gesamten Programms genau durch diese Visualisierung künstlich begrenzt. Programme, die viele Schritte durchlaufen, wie z. B. eine vollständige Schlüsselsuche auf einem Chiffre, können mit dieser Methode nicht realisiert werden. Im Rahmen dieser Arbeit soll ein neues Konzept für solch einen Editor entstehen. Dabei soll sowohl die visuelle Rückmeldung als auch die schnelle Ausführung von Programmen möglich sein. Diese Aufgabe lässt sich mit Hilfe einer klaren Trennung zwischen dem Model, der View um dem Control erreichen (MVC-Prinzip). D. h. mit Hilfe der visuellen Programmierung wird zunächst ein Model erstellt und durch die visuellen Komponenten (View) dargestellt. Das Model besteht aus dem Programm, das durch die Laufzeitumgebung (Control) ausgeführt wird. Mit dieser Herangehensweise kann z. B. durch Abschalten der visuellen Komponente die maximale Geschwindigkeit des Systems erreicht werden. Ziel dieser Arbeit ist somit ein klares Konzept für eine MVC-basierte Laufzeitumgebung und eine prototypische Implementierung. Eine weitere Anforderung an diese Arbeit ist die sorgfältige Dokumentation, damit in späteren Arbeiten aus dem Prototypen ein praktisch einsetzbarer Editor entstehen kann. Die visuellen Komponenten (View) dieses Konzepts werden zeitgleich in einer anderen Bachelorarbeit entwickelt.

Die entwickelten Plug-Ins im Rahmen dieser Arbeit müssen in das bestehende Versionierungssystem (SVN) von CrypTool 2.0 als Open-Source integriert werden. Dabei ist angestrebt, dass die entwickelten Plug-Ins bei Abschluss der Arbeit einen so hohen Qualitätsstand erreichen, so dass diese in einem zukünftigen Release der Software mit veröffentlich werden können. Zusätzlich wird zu jedem Plug-In eine durchgehende Dokumentation im Quelltext und eine Hilfeseite, welche durch den Benutzer abrufbar ist, erwartet. Abschließend muss die gesamte Arbeit, insbesondere die Problembeschreibung, Anforderungen, Ergebnisse und getroffene Entscheidungen in Form einer schriftlichen Ausarbeit – der Bachelorarbeit – zu dem festgesetzten Zeitpunkt beim Prüfungsamt eingereicht werden. Zusätzlich besteht die Möglichkeit die Arbeit im Rahmen eines Kolloquiums vorzustellen.

 

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

Impressum - Datenschutz