This software project offers the opportunity to learn about cryptographic engineering by working on one of the mentioned project ideas under our guidance
Time frame: 17.8 - 31.10.20
Coordinators: Benjamin Zengin / Tudor Soroceanu
Requirements: The course has compulsory attendance. It is expected that the participants write code and contribute to an existing code base. Basic knowledge of IT-security and cryptography are required.
Potential projects:
- Optimization of post-quantum cryptographic schemes for new processor architectures
Task: Optimize post-quantum cryptographic schemes for processor architectures other than Haswell and Cortex M-4 (e.g. Cortex A-7). - Visualization of post-quantum cryptography algorithms
Task: Implement PQ algorithms and think about visualizations. - Implement crypto algorithms in Rust and hacspec
Task: Implement an cryptographic algorithm of your choice (that hasn't been implemented already) in hacspec. If there's enough time, use the specification to verify existing implementations or generate a C reference implementation from it. - Verify parts of Botan (with cryptol and saw)
Task: Verify the correctness of crypto implementations in Botan using tools such as cryptol and saw. - Implement hacspec to XXX compiler
Task: Implement a compiler from the hacspec language (which will look a little like this but in Rust) to a formal language such as cryptol or gallina. - Implement isogeny basics in sage
Task: Implement efficient arithmetic for isogeny-based cryptography in sage (Tudor has references) - Do something in Botan
Task: Implement a new crypto algorithm in the Botan library, e.g. csidh or kyber.
Task: Implement FFI API and Rust bindings for Botan.