Zugriffspfad / Path

  1. Home
  2. Fachbereiche
  3. Informatik
  4. Modulhandbuc...
  5. Kryptologisches Programmierpraktikum

Hauptnavigation / Main Navigation

Unternavigation / Sub Navigation

Standardverweise

Kryptologisches Programmierpraktikum

Inhalte
  • Erläuterung der wichtigsten kryptographischen Grundlagen:
    • Symmetrische Verfahren: klassische Verfahren, AES, Blockmodi wie CBC und GCM, Stromchiffren
    • Asymmetrische Verfahren: RSA, Rabin, Elgamal, Diffie Hellman
    • Hash-Verfahren
    • Pseudozufallszahlen
    • Zertifikate
    • Elliptische Kurven
  • Implementierung kryptographischer Verfahren in Java und anderen Programmiersprachen
  • Aufbau und Anwendung bestehender Krypto-Bibliotheken wie JCA, JCE und Bouncy Castle
  • Test driven Software Development mit JUnit-Tests
  • Exception Handling bei der Java Kryptologie
  • Secure Software Engineering
  • Code-Review guter und schlechter Krypto-Implementierungen
  • Die grundlegenden Primitiven werden in kryptographischen Protokollen und Anwendungen wie z.B. PBKDF, Secret Sharing, Schlüsselaustauschverfahren, Gruppenverschlüsselung verwendet und implementiert.
Literatur
Lernziele Die Studierenden sollen
  • die zugrunde liegenden kryptographischen Primitiven kennen.
  • wichtigste Java-Klassen mit Bezug zur Kryptologie wie z.B. Cipher, ECCurve oder BigInteger inklusive der wichtigsten Konstruktoren, Attribute, Methoden und Exceptions kennen.
  • ausgewählte kryptologische Verfahren wie z.B. das klassische Verfahren Playfair, das Rabin-Verfahren oder Secret Sharing nach Shamir für kleine Zahlen berechnen und diese sicher in Java implementieren können.
  • typische kryptologische Fehler kennen, erkennen und vermeiden lernen.
  • bestehende Krypto-Bibliotheken kennen und anwenden können.
  • erlernen, kryptologische Java-Applikationen zu entwickeln inklusive der Definition geeigneter Exceptions und JUnit-Testfällen.
  • zu einem gewählten kryptologischen Thema eigenständig in Teamarbeit einen lauffähigen Demonstrator inkl. geeigneter JUnit-Testfälle konzipieren und entwickeln.
Lehrform
Art und Umfang
Vorlesung
Übung (2 SWS)
Seminar/Seminaristischer Unterricht (2 SWS)
Labor
Projekt
Voraussetzungen für die Teilnahme Erbrachte Studienleistung im Modul "Objektorientierte Programmierung", Erbrachte Studienleistung oder parallele Teilnahme am Modul "IT-Sicherheit"
Prüfungsvorleistung Regelmäßige Teilnahme an der Vorlesung
Regelmäßige Teilnahme an den Übungen
Regelmäßige Bearbeitung von Haus-/Laborarbeiten
Bestehen von Leistungsstandkontrollen
Prüfungsform
Art und Umfang
Schriftliche Prüfung
Mündliche Prüfung
Prüfung am PC (90 Minuten Bearbeitungszeit)
Hausarbeit/Projekt mit Kolloquium
Verwendbarkeit
Informatik PF WPF
Informatik - Digitale Medien und Spiele (Schwerpunkt Medien) PF WPF
Informatik - Digitale Medien und Spiele (Schwerpunkt Spiele) PF WPF
Informatik - Sichere und mobile Systeme PF WPF
Medizininformatik PF WPF
Angebot Sommersemester Wintersemester Unregelmäßig
Arbeitsaufwand
ECTS-Punkte Kontaktzeit Selbststudium
5 60 Stunden 90 Stunden
Lehrende(r) Prof. Dr. K. Knorr
Modulverantwortliche(r) Prof. Dr. K. Knorr
Änderungsdatum 19.09.2018
Christian Bettinger, 19. September 2018