Universität Duisburg-Essen
Verteilte Systeme
Design und Entwicklung einer erweiterten graphischen Benutzerschnittstelle für CrypTool 2.0
Prüfer Prof. Dr.-Ing. Torben Weis
Betreuer Dr. Arno Wacker, Dipl.-Inform. Matthäus Wander
Bearbeiter Viktor Matkovic
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. Seit der Entwicklung des ursprünglichen Editors wurde verschiedene Studien über dessen Benutzerfreundlichkeit durchgeführt, unter anderem von Pädagogen. Diese Änderungen ziehen konzeptionelle Änderungen in dem Design des Editors mit sich. Daher soll im Rahmen dieser Arbeit eine völlig neue Implementierung des graphischen Editors basierend auf den gesammelten Erfahrungen entwickelt werden. In einer parallelen Arbeit wird dabei die darunterliegende Laufzeitkomponente des Editors neu konzipiert. Dabei wird eine klare Trennung zwischen dem Model, der View und dem Control (MVC-Prinzip) angestrebt. 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 – diese beiden Komponenten werden in der parallen Arbeit entwickelt. Die vorgeschlagene Arbeit stellt dabei den View-Teil dar und muss sich nahtlos in das gesamte Konzept integrieren. Dabei müssen einerseits die Anforderungen an die Benutzerfreundlichkeit und andererseits die Anforderungen an die gesamte Umgebung, wie z.B. die Ausführungsgeschwindigkeit berücksichtigt werden. Als Grundlage dafür sollen die seit Erstellung des existierenden Editors durchgeführten Studien dienen. Eine weitere Anforderung an diese Arbeit ist die sorgfältige Dokumentation, damit in späteren Arbeiten aus dem Prototyp ein praktisch einsetzbarer Editor entstehen kann.

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