UCL Project Suggestions 2017/18 – Dr Courtois

Here are some projects by Dr Nicolas Courtois proposed to final year CS students:

Ransomware and Blockchain Forensics


We are going to study how ransomware propagates and operates. Mine data about payments. Detect specific events and monitor and analyse malware also.

Prerequisites: COMPGA12,programming, visualization, machine learning, working large databases.


Segregated Witness Digital Signatures and Off-Chain Payments in Bitcoin

We will study possibilities offered by new upgrades of bitcoin with Schnorr signatures.

Prerequisites: COMPGA12, COMPGA03 intro to cryptography, good programming, maths.

Anonymity Attacks on Bitcoin Monero Dash ZCash

We will study what and how the attacker can learn about the transaction history in anonymous crypto currencies such as Monero and SDC. We will built software attacks, explore and visualize large data sets.

Prerequisites: COMPGA12, some cryptography, good programming, visualization, working with large databases



Recovery of Private Keys for Bitcoin Wallets

We will develop and implement an attack which consist of discovering a private key of a bitcoin wallet by a side channel attack on a standard PC/laptop or on a smart card.

Prerequisites: COMPGA18 and COMPGA12, basic crypto, good programming skills, engineering background, statistics, operating systems, computer security.

Blockchain Forensics in Bitcoin and other crypto currencies


We are going to mine data from bitcoin blockchain etc etc and create large databases. Then we are going to try to detect specific events and monitor and analyse ransomware and bitcoin thefts.


Not obligatory: C++ or Java programming, databases, some maths (discrete logarithm problem), DSA/ECDSA digital signatures, introduction to Cryptography, COMPGA12, COMPGA18 cryptanalysis, Computer Security.

Cold War Cryptography and Modern Block Ciphers


We will study how various historical ciphers such as East-German T-310, Russian GOST cipher etc. We will exploit correlation, LC, DC, self-similarity, fixed points, involutions, reflection attacks etc.


Maths, good grade in all cryptography modules, maybe some programming.