Cryptography Software Engineer - 100%

  • EPFL
  • Contract-Vario GmbH, Zu den Gründen, Ahrensbök, Germany
  • 22/09/2021
Full time Data Science Data Engineering Data Analytics Big Data Statistics Software Engineering

Job Description

EPFL, the Swiss Federal Institute of Technology in Lausanne, is one of the most dynamic university campuses in Europe and ranks among the top 20 universities worldwide. The EPFL employs more than 6,000 people supporting the three main missions of the institutions: education, research and innovation. The EPFL campus offers an exceptional working environment at the heart of a community of more than 16,000 people, including over 12,000 students and 4,000 researchers from more than 120 different countries.

Cryptography Software Engineer - 100%

Your mission :
The Laboratory for Computation Security at EPFL led by Prof. Alessandro Chiesa investigates the foundations and applications of cryptographic proofs. These are cutting-edge cryptographic tools that enable computations to be cheaply verified in a privacy-preserving way, and have revolutionized the scalability and privacy of distributed systems such as blockchains. Research areas include computational complexity, zero-knowledge proofs, succinct non-interactive arguments (SNARGs), and privacy-enhancing technologies (such as peer-to-peer private payment systems and smart contracts).
You will join the lab as a full-time developer, and collaborate with other researchers (graduate students and postdoctoral scholars) to create high-quality open-source software that realizes complex cryptographic protocols. Your software will directly impact the open-source cryptography and security communities.

Main duties and responsibilities include :
You will work on implementation and practical aspects of new protocols in the areas of cryptographic proofs, as well as their application to peer-to-peer systems.
Your responsibilities will include:

  • Realizing secure and efficient implementations of new cryptographic protocols
  • Design and implement ergonomic APIs for users
  • Timely reviews for (internal and external) PRs, including ensuring that documentation, testing, and benchmarking standards are met
  • Writing documentation, examples, and tutorials
  • Increasing coverage of tests and benchmarks
  • Propagating dependency updates across our ecosystem of libraries
  • Managing ecosystem-wide releases
  • Optimizing benchmarking and CI infrastructure
  • Helping prepare pedagogical material (software projects for courses)

Your profile :

  • Excellent command of English (oral and written)
  • Experience coding in Rust and C++
  • Knowledge of how open-source projects work
  • A problem-solver and independent attitude
  • Master's degree in Computer Science (or equivalent engineering experience)
  • Knowledge of basic algebra (groups, finite fields, …) and basic cryptography (hash functions, encryption, …)
  • Curiosity to learn new mathematical and cryptography concepts as needed

Nice to have:

  • Experience in contributing to and maintaining open source projects
  • Experience with writing secure code that is robust against common security pitfalls, such as denial-of-service and endianness and edge-case issues
  • Experience implementing cryptographic protocols
  • Experience with writing comprehensive test suites and using advanced testing techniques such as fuzzing
  • Knowledge of and interest in the blockchain space

We offer :

  • Excellent conditions working at the IC school at EPFL in Lausanne
  • Hands-on experience with implementing cutting-edge cryptography in Rust
  • Getting your code deployed in state-of-the-art cryptography projects
  • Mentorship from SNARK experts (Prof. Chiesa and his research group)

Start date :
As soon as possible

Term of employment :
Fixed-term (CDD)

Duration :
CDD of 1 year, which can be renewed

Contact :
Prof. Alessandro Chiesa

Remark :
Only candidates who applied through EPFL website or our partner Jobup’s website will be considered. Files sent by agencies without a mandate will not be taken into account