Offene Stelle: Wissenschaftlicher Mitarbeiter/ wissenschaftliche Mitarbeiterin (DoktorandIn)

Artificial Intelligence im Software Engineering

Im Rahmen des vom FWF geförderten Projekts „iDEOS – Interactive Spreadsheet Debugging“ ist die Stelle eines/r wissenschaftlichen Mitarbeiters/-in (DoktorandIn) (Laufzeit 3.5 Jahre, Beschäftigungsausmaß 75%) zu vergeben.

Im Projekt werden neue Verfahren zur automatisierten Fehlersuche in Programmen auf Basis von Methoden der künstlichen Intelligenz entwickelt und praktisch erprobt. Primäres Anwendungsziel der Forschungsarbeiten sind Spreadsheets, welche in vielen Bereichen als Grundlage für wichtige Entscheidungen dienen.

Die Stelle kann ab 1. September besetzt werden. Voraussetzungen für die Anstellung sind ein einschlägiges Studium (z.B. Informatik, Informationsmanagement) sowie ein guter Studienerfolg.

Das Projekt ist eine Kooperation zwischen der TU Graz und der Universität Klagenfurt. Die Anstellung erfolgt an der TU Graz.

Weitere Auskünfte erhalten Sie bei:

Prof. Dietmar Jannach (dietmar [dot] jannach [at] aau [dot] at)
Institut für Angewandte Informatik

Studierende gesucht – Diplom- / Master-Arbeit – Integration von Sunset/FFapl in JCrypTool

Integration von Sunset/FFapl in JCrypTool

JCrypTool (https://www.cryptool.org/de/jcryptool) ist ein modernes, mächtiges und leicht erlernbares eLearning Werkzeug für das (Selbst-)Studium von Kryptographie. Das System ist plugin-basiert, und bietet per Menü Zugriff auf eine Vielzahl kryptographischer Algorithmen, deren Funktionsweise und Verhalten schnell und leicht anhand eigener Beispiele untersucht und verstanden werden kann.

Sunset/FFapl[1] ist eine integrierte Entwicklungsumgebung, welche der schnellen Implementierung von kryptographischen Basismechanismen dient. Hierfür wurde die Programmiersprache „FFapl“ (Finite Field Application Language) geschaffen, welche kryptographisch relevante Strukuren (Restklassengruppen, Ringe, endliche Körper) als first-class Datentypen unterstützt, wodurch der sonst übliche Rückgriff auf Bibliotheken hinfällig wird. Die Manipulation von Daten geschieht unabhängig vom Typ in der gewohnten Infix-Notation (etwa Division in endlichen Körpern, Addition von Punkten auf elliptischen Kurven[2], o.ä.).

Funktionalitäten der Erweiterung im Einzelnen:

  • Einbindung des Sunset/FFapl Skript-Interpreters in JCrypTool
  • Konzeptionierung und Implementierung von Ein- und Ausgabefunktionen für Benutzer/innen Eingaben.

Das Sunset/FFapl System ist unter GPL-3 lizensiert und frei verfügbar in github[3]. Die Aufgabenstellung besteht primär in der Integration des Skript-Interpreters für FFapl in JCrypTool; eine Integration von „Sunset“ als Entwicklungsumgebung für die FFapl Sprache ist nach Maßgabe der Möglichkeiten möglich.

Der Kreativität sind keine Grenzen gesetzt. Der/m Studierenden steht es nach Absprache mit dem Betreuer frei, das Funktionen-Repertoire der Software ggf. zu erweitern. Das Projekt ist in enger Kooperation mit der JCrypTool Community abzuwickeln, d.h. der ständige Kontakt und Austausch mit der Community (insbes. Prof. Dr. Bernhard Esslinger, Universität Siegen) ist ausdrücklich erwünscht; die Betreuung der Master-Arbeit an der Universität Klagenfurt übernimmt Prof. Dr. Stefan Rass.

Projektverlauf und Aufgaben:

  • Einarbeitung in JCrypTool und Sunset/FFapl
  • Konzeption der Software und Erweiterungen
  • Implementierung, Beschreibung und Tests

Rahmenbedingungen:

  • Projektstart: Ab sofort!
  • Projektende: 6-8 Monate nach Beginn (excl. Einarbeitungszeit)

Voraussetzungen:

  • Ausgezeichnete Kenntnisse der Programmiersprache Java
  • (programmiertechnische) Kreativität

Ansprechpartner und Betreuer:

Literatur

  • O. Ortner: Eine Umgebung zum vereinfachten Prototyping von Krypto-Verfahren, Master-Arbeit, Universität Klagenfurt, 2012.
  • Rass, J. Winkler: Computer Aided Teaching of Elliptic Curve Cryptography, Proc. of the 17th Int. Conference on Interactive Collaborative Learning, ICL2014, ISBN 978-1-4799-4438-5, pp. 180-175.
  • Sunset/FFapl github repository: https://github.com/stefan-rass/sunset-ffapl

 

Studierende gesucht – Diplom- / Master-Arbeit – Verifiable Secret Sharing in JCrypTool

Verifiable Secret Sharing in JCrypTool

JCrypTool (https://www.cryptool.org/de/jcryptool) ist ein modernes, mächtiges und leicht erlernbares eLearning Werkzeug für das (Selbst-)Studium von Kryptographie. Das System ist plugin-basiert, und bietet per Menü Zugriff auf eine Vielzahl kryptographischer Algorithmen, deren Funktionsweise und Verhalten schnell und leicht anhand eigener Beispiele untersucht und verstanden werden kann.

Ziel der Master-Arbeit ist die Einbindung einer bestehenden Implementierung des verifiable Secret Sharing (VSS) Verfahrens von Gennaro, Rabin und Rabin, sowie den dafür benötigten Verfahren wie Committments in JCrypTool. Aufbauend auf der Implementierung[1] soll Nutzer/innen ermöglicht werden, einfache Multi-Party Computations (MPC) selbst zu implementieren, um deren Korrektheit und Sicherheit zu verfizieren. Aktuelle Angriffsmethoden auf Multi-Party Protokolle, insbesondere die sog. Chosen-Instruction Attack[2] (eine Form des Seitenkanal-Angriffs), sollen zu Demonstrations-zwecken in JCrypTool konzeptioniert und implementiert werden.

Funktionalitäten der Erweiterung im Einzelnen:

  • Einbindung von VSS in JCrypTool
  • Unterstützung von Multy-Party Computation
  • Konzept und ggf. Umsetzung von Chosen-Instruction Attacks auf MPC
  • Optional: Visualisierung für MPC.

Eine Java-Implementierung des VSS Verfahrens von Gennaro, Rabin und Rabin, einschließlich eines Skript-Interpreters für Multi-Party Computation existiert bereits[1], und soll in JCrypTool integriert werden. Die Aufgabenstellung umfasst daher sowohl einen integrativen Teil (bzgl. der Einbindung bestehender Systeme), als auch einen Teil selbstständiger Entwicklung (bzgl. der Simulation von Chosen-Instruction Side-Channel Angriffen).

Der Kreativität sind keine Grenzen gesetzt. Der/m Studierenden steht es nach Absprache mit dem Betreuer frei, das Funktionen-Repertoire der Software ggf. zu erweitern. Das Projekt ist in enger Kooperation mit der JCrypTool Community abzuwickeln, d.h. der ständige Kontakt und Austausch mit der Community (insbes. Prof. Dr. Bernhard Esslinger, Universität Siegen) ist ausdrücklich erwünscht; die Betreuung der Master-Arbeit an der Universität Klagenfurt übernimmt Prof. Dr. Stefan Rass.

Projektverlauf und Aufgaben:

  • Einarbeitung in JCrypTool und den VSS Prototyp[1]
  • Konzeption der Software und Erweiterungen
  • Implementierung, Beschreibung und Tests

Rahmenbedingungen:

  • Projektstart: Ab sofort!
  • Projektende: 6-8 Monate nach Beginn (excl. Einarbeitungszeit)

Voraussetzungen:

  • Ausgezeichnete Kenntnisse der Programmiersprache Java
  • Kenntnisse der Kryptographie (secret sharing und MPC)
  • (programmiertechnische) Kreativität

Ansprechpartner und Betreuer:

Literatur

  • Pachatz: Implementation and Security Analysis of Secret Sharing Protocols, Master-Arbeit, Universität Klagenfurt, 2018.
  • Rass, P. Schartner: On the Security of a Universal Cryptocomputer The Chosen Instruction Attack, IEEE Access, 2016, 1, DOI: 10.1109/ACCESS.2016.2622724

Studierende gesucht – Softwarepraktikum – Virulentes Postscript File

Virulentes Postscript File

Digitale Signaturen sind prinzipiell auf jeder Form von Datei möglich, sichern im Allgemeinen jedoch lediglich die Unverändertheit der Datei an sich, nicht jedoch die Integrität der Inhalte, welche die Datei ggf. bei Anzeige in einem geeigneten Viewer erzeugt.

Postscript ist (ähnlich wie PDF) eine Seitenbeschreibungssprache, welche abhängig vom Kontext ihrer Anzeige durchaus unterschiedliche Texte hervorbringen kann, jenachdem welche Bedinungen der Postscript-Code auf dem System vorfindet, wo er angezeigt wird.

Dies führt zu dem möglichen Angriff, ein digital signiertes Postscript Dokument so zu gestalten, dass der angezeigte Text – trotz Signatur – veränderbar ist, da er dynamisch während der Anzeige erzeugt wird, die signatur sich jedoch nur auf den anzeigenden Code, und nicht auf dessen Ausgabe bezieht.

Ziel des Software-Praktikums ist die Schaffung eines Demonstrators, welcher genau diese Problematik live demonstrieren lässt. Im Einzelnen soll ein Postscript-File und Demonstrations-Skript erzeugt werden, welches folgende Eigenschaften erfüllt:

  • Abfrage lokaler Bedingungen an das anzeigende System. Konkret soll auf das Vorhandensein gewisser Dateien, Verzeichnisse, Pfade, o.ä. innerhalb des Postscript Codes geprüft und geeignet (unterschiedlich) reagiert werden können.
  • Möglichkeit, wenigstens zwei Versionen des gleichen Textes innerhalb des Postscript Dokuments zu verankern, und abhängig von der vorab geprüften Bedingung unterschiedlich anzuzeigen.
  • Anbringen einer (standardisierten) digitalen Signatur, und Demonstration der Veränderbarkeit des Textes, trotz verifizierbarer digitaler Signatur.

Hinweis: Für die Umsetzung des Projekts sind keine Kenntnisse über Kryptographie erforderlich; der Mechanismus der digitalen Signatur soll explizit in vorhandener Form, d.h. über kommerziell oder frei verfügbare Software-Werkzeuge genutzt werden.

Der Kreativität bei der Umsetzung sind keine Grenzen gesetzt. Das Projekt kann als Software-Praktikum in einem Team von 2-3 Personen abgewickelt werden.

Projektverlauf und Aufgaben:

  • Einarbeitung in die Postscript Sprache (im erforderlichen Umfang)
  • Konzeption des Dokuments und des Demo-Skripts
  • Implementierung und Demonstration

Rahmenbedingungen:

  • Projektstart: Ab sofort!
  • Projektende: 6-8 Monate nach Beginn (excl. Einarbeitungszeit)

Voraussetzungen:

  • Gute Programmierkenntnisse
  • Grundkenntnisse der angewandten Kryptologie und der linearen Algebra
  • Kreativität

Ansprechpartner und Betreuer: