Universität Duisburg-Essen
Verteilte Systeme
Selbstorganisierende Verteilte Berechnungen in CrypTool 2.0
Prüfer Prof. Dr.-Ing. Torben Weis
Betreuer Dr. Arno Wacker, Dipl.-Inform. Matthäus Wander
Bearbeiter Paul Lelgemann
Dauer 6 Monate

CrypTool 2.0 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. dem .NET Framework (zurzeit 3.5 SP1) und der Windows Presentation Foundation (WPF).

Moderne kryptoanalytische Verfahren sind häufig sehr rechen- und damit zeitaufwändig. Eine Möglichkeit den Zeitaufwand zu reduzieren, ist die Verteilung solcher Verfahren auf viele einzelne Rechner, die die Berechnung parallel ausführen. Die meisten existierenden Systeme für solch eine verteilte Berechnung basieren auf dem Client/Server-Prinzip, d. h. ein Server verteilt verschiedene kleinere Rechenaufgaben an die ihm angeschlossenen Clients. Im Rahmen dieser Diplomarbeit soll ein System für verteilte Berechnung entworfen und implementiert werden. Als Beispiel und für die prototypische Implementierung soll die vollständige Schlüsselsuche auf modernen kryptographischen Verfahren (z. B. AES) verwendet werden. Dabei soll das System nicht auf einer Client/Server-Architektur basieren sondern auf einem Peer-to-Peer (P2P) Netzwerk ohne jegliche zentrale Stelle. Des Weiteren müssen alle beteiligten Knoten an dem System gleichberechtigt sein und das System muss sich vollständig dezentral selbst organisieren. Anders als bisherige Ansätze soll die Organisation einer in das System gegebenen Aufgabe ohne Auswahl oder Ernennung von privilegierten Verwaltungs- oder Koordinatorknoten erfolgen, sondern durch die bearbeitenden Knoten ohne Rollenunterscheidung.

In einer früheren Arbeit wurde bereits das peers-at-play-Framework (pap) für einfache verteilte Berechnungen in CrypTool 2 eingebunden. Dabei wurde auch die vollständige Schlüsselsuche beispielhaft implementiert. In dem existierenden Ansatz gibt es allerdings einen Verwalter, welcher die einzelnen Aufgaben an die verschiedenen Rechner verteilt. Wenn dieser Verwalter das Netz verlassen sollte, so ist die gesamte Aufgabe verloren (bzw. zumindest unterbrochen). Das P2P-System wurde in diesem Falls rein als Transport- und Such-Dienst verwendet. Im Rahmen dieser Arbeit soll auf die Ergebnisse der früheren Arbeit aufgebaut werden und diese so erweitert werden, dass es keine zentrale Stelle in dem gesamten System gibt. Die kann erreicht werden, indem die Aufgabenbeschreibung nicht von einem Knoten verwaltet wird, sondern in den gemeinsamen Speicher des P2P-Systems geschrieben wird. Alle teilnehmenden Rechner müssen sich nun selbständig einer Aufgabe annehmen und nach Fertigstellung das Ergebnis auch wieder in den gemeinsamen verteilten Speicher eintragen. Es ist besonders auf Skalierbarkeit des Systems zu achten.

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 Diplomarbeit – 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