Input Output (IOHK)

Cryptographic Engineer, Bitcoin DeFi

Input Output (IOHK)

full-time

Posted on:

Location Type: Remote

Location: Remote • 🇬🇧 United Kingdom

Visit company website
AI Apply
Apply

Job Level

Mid-LevelSenior

Tech Stack

Distributed SystemsHaskellRust

About the role

  • Contribute to the design, implementation, and integration of secure cryptographic protocols and primitives across diverse projects.
  • Turn advanced cryptographic designs into robust, production-ready systems at the intersection of applied research and engineering.
  • Work closely with researchers, protocol designers, software architects, and QA teams to ensure cryptographic correctness, performance, and maintainability.
  • Design and implement constructions such as digital signatures, zero-knowledge proofs, VRFs, commitment schemes, and accumulators.
  • Develop and maintain cryptographic libraries, primarily using Rust and Haskell, with occasional C for safety and performance.
  • Translate academic research and formal specifications into reliable, well-structured production code.
  • Participate in cryptographic design discussions, parameter tuning, and performance benchmarking.
  • Analyse and validate protocol design for security properties such as soundness, liveness, and resistance to practical attacks.
  • Troubleshoot, debug, and optimise cryptographic code and its interaction with broader systems.
  • Write and maintain clear documentation, including developer guides and internal design notes.
  • Stay current with developments in cryptography and assess their relevance for projects.

Requirements

  • Typically, a PhD in Computer Science, Cryptography, Mathematics, or a related field.
  • Proven experience in academic publications.
  • Practical experience in applied cryptographic engineering through academic research, industry work, or open-source contributions.
  • Proven proficiency in Rust (and ideally some Haskell) for systems-level cryptographic development.
  • Experience with version control systems, especially Git, in collaborative development environments.
  • Exposure to cryptography for blockchain, distributed systems, or consensus mechanisms is a plus.
  • Solid mathematical foundation in cryptography, number theory, finite fields, and probability.
  • Ability to work independently in highly-complex cryptographic topics.
  • Experience with elliptic curve cryptography, digital signatures, multi-signature schemes, and cryptographic commitments.
  • Familiarity with zero-knowledge proof systems and their application in distributed or blockchain-based protocols.
  • Hands-on experience implementing cryptographic primitives and protocols in Rust; exposure to Haskell is highly advantageous; familiarity with C is a plus.
  • Good understanding of cryptographic protocol design, including security properties like soundness and adversarial modelling.
  • Ability to read, interpret, and implement cryptographic research papers and formal specs.
  • Strong problem-solving and debugging skills, with a security-first mindset.
  • Clear written and verbal communication skills to collaborate effectively across engineering and research teams.
Benefits
  • Remote work
  • Laptop reimbursement
  • New starter package to buy hardware essentials (headphones, monitor, etc)
  • Learning & Development opportunities
  • Competitive PTO

Applicant Tracking System Keywords

Tip: use these terms in your resume and cover letter to boost ATS matches.

Hard skills
RustHaskellCcryptographic protocolsdigital signatureszero-knowledge proofselliptic curve cryptographymulti-signature schemescryptographic commitmentsperformance benchmarking
Soft skills
problem-solvingdebuggingindependent workclear communicationcollaborationtechnical documentationresearch interpretationparameter tuningcryptographic correctnesssecurity-first mindset
Certifications
PhD in Computer SciencePhD in CryptographyPhD in Mathematics