Eine der wichtigsten Regeln der Kryptographie lautet: "Implementiere niemals kryptographische Funktionen selbst!" In diesem Software-Projektpraktikum werden wir diese Regel gründlich verletzen. Anstelle von standardisierten Verfahren, wie etwa TLS, und bekannten Bibliotheken die diese Implementieren, wie etwa OpenSSL, wird in diesem Praktikum von den Studierenden ein eigenes Verfahren selbst entworfen und auch implementiert.
Zu Beginn muss gemeinsam ein Protokoll entworfen werden, das mittels RSA, einer schnellen symmetrischen Chiffre, einem Message Authentication Code und eines Zero Knowledge Proofs eine sichere Verbindung aufbaut und dabei sicherstellt, dass beide Seiten ihren Kommunikationspartner erkennen können. Dieses Protokoll wird dann in Gruppen implementiert und am Ende Allen vorgestellt.
Folgende Technologien werden auf jeden Fall in dem Praktikum verwendet:
Grundsätzlich sind Vorkenntnisse im Bereich von Netzwerkprogrammierung und Softwareentwicklung hilfreich für dieses Praktikum, aber nicht erforderlich.
Bei einer Teilnahme am Praktikum wird folgendes erwartet: