Implementation/Reverse Engineering

The specific scope for the topics below can be adjusted for either Bachelor or Master Students.

  • Implementing and Proving Algorithms in SPARK

SPARK is an Ada-based programming language, which is used for the developement of dedicated secure software. SPARK supports the specification and the verification of the information flow of an implementation, as well as pre- and postconditions.  The goal is to implement easy algorithms in SPARK (sorting and searching, the arithmetic of big numbers, etc.), and to prove the implementations using the SPARK toolset.

  • A Simulator/Demonstrator for Grover and Other Quantum Algorithms

Quantum algorithms have the reputation of being difficult to grasp. To some degree, this reputation may be well-deserved -- but not all quantum algorithms are so difficult. The main goal for the thesis is a simplified quantum simulator with a visual interface to implement some simple quantum algorithms, such as Grover's quantum search algorithm. The simulator shall be used to give junior students a first impression of quantum algorithms, e.g., in the context of "Byte the Bytes".

  • Evaluation of RUST as a language for secure and reliable software.

RUST is a language which has been introduced with the development of reliable
software in mind. To evaluate RUST, some cryptographic library shall be
used and some security protocols shall be implemented, and compared to
implementations in other languages, such as the Ada language or C and C++.

Topics for Bachelor Students

  • Reverse Engineering Rider Apps

In the last few years, and especially during the recent pandemic, delivery services on bikes flooded the market. Despite the comfort of getting all possible goods delivered to one's home, those delivery services have to face sharp criticism due to the delivery staff's bad working conditions. The biggest players in this system all have in comon that they deploy smartphone apps for their delivery staff to automate work processes. In some cases, those apps rely on suspicious permissions, which could be a potential threat for their user's privacy. Therefore, it is desireable to Reverse Engineer those apps, compare them and investigate possible privacy violations.