Discuss with your teammate which subjects you desire to investigate. If you all agree on a topic not
listed below please inform us of your choice.
For each topic some references or simple guidelines are provided together with a goal to achieve. Thoroughly investigate the chosen subject from a cryptographic perspective.
This project should take more time than project 1. Therefore do not wait the last minute to start up.
Writing a good project requires several days of work, so make sure you start early enough.
Any source of information can be used (internet, textbooks, OS documentation. . . ). However, in any
case, do not recopy the materials and quote your sources.
When reading new information, understand it, process it, consider how it relates to what you already
know, and how you can reach conclusions beyond the ones offered in your source.
1. Side channel attacks
Goal: as much as possible reproduce the experiments and recover a secret key
2. Breaking WEP encryption
How is WEP encryption working, and how to break it?
Goal: implement an attack to recover the secret key
Note: the implementation must be yours, the goal is not to learn how to run aircrack-ng,
but to implement the attack yourself
3. Tor, an anonymity network
Official Tor website: https://www.torproject.org/
Goal: understand “onion routing”, study the code and present at least two attacks, taken
from research articles, on the Tor network
4. Hash functions
Website on sponge functions and SHA-3: http://sponge.noekeon.org/
Goal: understand the sponge construction and implement Keccak
5. TrueCrypt is dead
Website with much documentation: http://andryou.com/truecrypt/index.php
Goal: carefully read all the documentation and understand all the possible attacks and how to
prevent them. How secure was TrueCrypt and why is it dead?
Note: the official reason is very unlikely to be the right one. . .
Goal: study the code and understand the many recent security issues
Goal: study the code and understand the various attacks that lead to the “important security fixes”
mentioned on their website
8. Multiple polynomials quadratic sieve*
Simple presentation: http://www.cs.virginia.edu/crab/QFS˙Simple.pdf
Goal: fully understand the mathematics behind the MPQS and implement it
9. Shor algorithm∗
Goal: understand the basics of quantum computing and explain how RSA can be broken using a
Goal: understand how the bitcoin currency works and how it makes use of more advanced cryptography and mathematics
*Those slightly more advanced projects will benefit from a softer grading policy.