Specialized Cryptography Engineer
Input Output HK - Remote
6 months ago
Input Output HK Limited (‘IOHK’) is an engineering company that builds cryptocurrencies and blockchains for academic institutions, government entities and corporations. IOHK is a decentralised company that fosters small, innovative and agile teams executing on ideas which have the potential to cause cascading disruption.
How We Work
- Remote Teamwork: Our firm has employees worldwide and collaboration is crucial.
- Communication with the Research Community: We keep in touch with researchers who are working to improve blockchain technology and we incorporate their work into the products that we build.
- Consistent Building and Testing: IOHK implements creative solutions with constant testing.
IOHK is looking for a talented, specialised cryptographic engineer to join our growing in-house cryptography team. The candidate will be responsible for cryptographic implementations and their use. The prospective candidate will work closely with the team leader, and directly with research, engineering and product management teams throughout the current and future set of projects which have link with cryptography. The individual should have a good understanding of cryptography (e.g. mathematics, information theory, primitives, implementations) and the ability to deliver working implementation related to these domains. The ideal candidate should understand and follow best engineering processes and practices, and should demonstrate a working knowledge of a functional programming language (preference is for Haskell), and system languages (preferably Rust or C).
- Read & review cryptographic research papers and implement them as a prototype.
- Make available missing cryptographic primitives.
Transform prototypes into production level projects.
- Conduct behavioral, statistical & Formal verifications of implementations.
- Interact and coordinate with research, engineering and product management teams.
- A solid understanding of cryptography: basic theory & use.
- Functional programming experience (Preferably Haskell).
- System programming experience.
- Ability to translate specifications (e.g. cryptography research papers, RFCs) into working code.
- Know when and how to use basic cryptographic primitives.
- Can reason about complex & abstract problems.