Here are some projects by Dr Nicolas Courtois proposed to final year CS students (MEng and MSc Information Security):
1. Cold War Cryptography and Modern Block Ciphers
REMARK: UP TO 4 STUDENTS CAN TAKE THIS PROJECT.
Description: We will study how to break various historical ciphers such as East-German T-310, DES, Russian GOST cipher etc. We will exploit invariant attacks, same as project T plus correlations and slide attacks as extra steps. Main reference: https://eprint.iacr.org/2018/1242
Prerequisites: COMP0058 and project T, COMP0025. Block ciphers, symmetric crypto, hash functions, scientific programming skills, mathematical proofs, polynomials, finite fields, modular arithmetic, abstract algebra.
2. Security and Privacy of AZTEC protocol
Done with industrial partner, Clearmatics based in London. While Monero and Zcash are commonly referred to as the most private crypto-assets, privacy on Ethereum remains an open problem. Due to the support of arbitrary state transitions via the use of smart contracts, the Ethereum blockchain has gained a lot of traction in the industry, making transaction privacy a stronger requirement. In this project, we propose to study the security and privacy level of the AZTEC protocol, a
protocol that has been introduced a few months ago, and that aims to add privacy on top of the
Ethereum blockchain. This study would focus on the constructs introduced in the paper, on the potential information
leakages resulting from this protocol and on the potential correlation attacks that could undermine the privacy promises of the protocol.
Prerequisites: COMP0058, COMP0025, COMP0061, COMP0143. Also COMP0054. Some maths. Experience with crypto protocols and crypto source code and implementations, maybe some provable security. .
3. ZCash Sapling, Stealth Address and Attacks on ZeroCash
Done with industrial partner, Clearmatics based in London. Difficult project for very best of our students. Potentially 2 students. A few days ago, the ZCash team disclosed and patched a vulnerability in an older version of
their software. This mistake was a result of a cryptographic flaw in the BCTV14 paper, which introduces a zkSNARK construct. Despite the paper being publicly accessible, this vulnerability is believed to have escaped years of review from the community, and has been translated into a bug in the Zcash software. While this counterfeiting vulnerability has now been fixed in the new release of Zcash (Sapling Oct 2018), this discovery clearly shows that not enough people have spent time reviewing the BCTV14 paper, and that security proofs are fundamental. In this project, we aim to review of the Zcash Sapling protocol, and study the various constructs that have been introduced in this new version of the project. Info about recent attack on ZeroCash: https://z.cash/blog/zcash-counterfeiting-vulnerability-successfully-remediated.
Prerequisites: COMP0058, COMP0025, COMP0061, COMP0143. Also COMP0054. Experience with crypto protocols and crypto source code and implementations, maybe some provable security. Zero-knowledge proofs, polynomials over finite fields.
4. Algebraic Polynomial Invariants and Codes Defined Over Elliptic Curves
Description: We will look for results such as Theorem D73 deep inside https://eprint.iacr.org/2017/440
We will look at special cases, singular points where the result is not true, and study special elliptic curves where more such results are true.
Prerequisites: COMP0058 and project D73, COMP0025. SAGE, scientific programming skills, mathematical proofs, polynomials, finite fields, modular arithmetic, abstract algebra.
5. Stealth Address, Ring Signatures, Anonymous Staking
We will study the privacy techniques in Monero, ShadowCash, SpectreCoin etc and recent researhc on these topics..
Prerequisites: COMP0058, COMP0025, COMP0061, COMP0143. Also COMP0054. Experience with crypto protocols and crypto source code and implementations, maybe some provable security.
6. Recovery of Private Keys for Bitcoin Wallets
We will develop and implement an attack which consist of discovering a private key of a bitcoin wallets due to a mathematical theorem.
Prerequisites: COMP0058, COMP0025, COMP0061, COMP0143. Also COMP0054. Basic crypto, good programming skills, engineering background, maths, modular arithmetic, linear algebra, elliptic curves (project D73). Write simple mathematical theorems with proofs.