19323812 Projektseminar

SoSe 20: Softwareprojekt: Cryptoengineering

Marian Margraf


This software project offers the opportunity to learn about cryptographic engineering by working on one of the mentioned project ideas under our guidance

Zeitraum: 6 weeks in August / September / October
Betreuer: Franziskus Kiefer / Benjamin Zengin

Zusätzl. Angaben / Voraussetzungen: 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.

Studienfächer A-Z