Category: Academic

Oct 01

On the resolution of cryptographic SAT instances

For decades, a tremendous amount of research is being devoted to the design of efficient algorithms to solve the Boolean satisfiability problem (SAT). In practice, modern SAT solvers are able to solve a variety of difficult problems with surprising performances, including cryptanalysis-related problems. The purpose of this thesis is to investigate strategies for tuning SAT solvers to the cryptanalysis of a family of symmetric-key functions in order to gain insight into what makes these functions difficult to break.

Supervisor: Frédéric Lafitte, Director: Olivier Markowitch

Sep 25

Automatic synthesis of cryptographic protocols

Automatic synthesis methods, developed by the formal methods community, are based on different extensions of game theory and aim to produce algorithms and tools that automatically write (synthesize) pieces of code that comply with certainty with a given specification. These methods have mainly been applied to safely synthesize key elements of critical systems, where no failures are tolerated. The objective of this thesis is to explore the opportunity to apply these same techniques to synthesize cryptographic protocols such as fair-exchange protocols and/or key exchange protocols.

Directors: Gilles Geeraerts and Olivier Markowitch

Mar 16

Meltdown and Spectre

Presented recently, Meltdown and Spectre represent two critical vulnerabilities in modern processors. The adversaries can exploit these vulnerabilities in order to recover sensitive information stored in memory. The rationale is that these vulnerabilities allow adversaries to bypass the isolation between different applications. In this work, the student will present, execute and analyse these vulnerabilities (on several CPUs) in order to report their impact on real products.

Supervision: Liran Lerman – Director: Olivier Markowitch

Jun 27

Simple Power Analysis on RSA

The goal of this project was to demonstrate a side-channel attack against a simple
cryptographic protocol implemented on an embedded system. Side-channel attacks target
the implementation rather than the cryptographic algorithm and attempt to recover secret
values, such as keys, using different kinds of measurements.

This project was accomplished by Meunier Laurent, Orinx Cédric, Rigas Theofanis and Vanspouwen Tristan. Their report explains all details about this project, they also make available all the source code, so you can repeat their experiments. They have also made a short video [high quality] demonstration of their work, it quickly demonstrates what can be done using their setup. At the end their result show how easy it is to recover a secret key using simple power analysis on an unprotected device.

This project was done in 2016-17 for the course of Embedded Systems Design given by professor Gilles Geeraerts, the project was supervised by Nikita Veshchikov.



Feb 27

Side-channel attacks based on deep learning

Side-Channel Attacks are attacks against implementations of cryptographic algorithms. These attacks exploit physical properties of a device under attack. For example an attacker can measure the execution time or power consumption of a device while it executes a cryptographic algorithm.

Based on neural network, deep learning represents an active research in machine learning that allows producing automatic attacks requiring no a priori information on the underlying phenomenon. The purpose of this work is to shed new light on the capabilities of deep learning in side-channel attacks.

Supervision: Liran Lerman – Director: Olivier Markowitch

Oct 27

Block cipher in ECB mode

Here is yet another Tux image in bmp format encrypted using a block cipher in ECB mode. Once again, it shows us that it is not secure. The top left picture is the original, while the 3 other images are generated by encrypting image data using PRESENT-80 block cipher with 3 different keys.

This small exercise was suggested by Nikita Veshchikov during the exercise sessions of the course “Introduction to Cryptography” given by Professor Olivier Markowitch.

The C++ code by Jérôme Hellinckx is available and you can try it for yourself.



Oct 07

Les codes de Huffman adaptatifs

Comparaison des implantations possible et des complexités théorique et
Comparaison des algorithmes FGK et Lamda.

Contacts: Yves Roggeman

Oct 07

Les « Variable Length Arrays » (VLA) en C, C++ et d’autres langages Algol-like

Limites, implantation sous-jacente, efficacité.
Évolution du concept et analyse des arguments pro et contra pour C++17.

Contacts: Yves Roggeman

Oct 07

Comparaison des « threads » dans les standards Java 8 et C++14.

Choix des structures, des primitives.
Efficacité, limites, aisance d’usage.

Contacts: Yves Roggeman

Oct 07

Le « shuffling » pseudo-aléatoire

Comparaison de performances théoriques et d’implantations.
Algorithme de Fisher-Yates (dit de Knuth).

Contacts: Yves Roggeman