Title: Cryptographic Software Engineer
Location: Remote; United States
Experience: Entry - Mid Level
Job Function: Engineering
Employment Type: Full-Time
Industry: Computer & Network Security
About The Position
Keyfactor and the Bouncy Castle team are looking for a Software Engineer/ Cryptography Specialist, to join the open-source cryptography project famous for the use of cartoon spies. You are proficient in either Java or C#, and comfortable in the other. Decent background in mathematics will help. We do not expect a zero-knowledge proof that you are the right person, but if you know what ZKP is, then you just might be.
Position favors someone who is patient, likes solving technical problems, and conquering standards documents. This is a job best approached from the point of view that you will probably never know enough, but there is plenty of scope to learn more. You will contribute to a product that is used by millions of humans and devices out there, hence the ability to patiently communicate with and provide support to non-cryptography versed engineers and users is a necessity.
The position is based in the United States and can be performed remotely when necessary. Applicants must hold US citizen status.
Responsibilities
- Analysis of specifications crypto & security that are relevant to the Bouncy Castle APIs and its users.
- Taking part of implementation of crypto & security algorithms, protocols and related components
- Working with support for Keyfactor’s Bouncy Castle Support customers.
- Specification and review of crypto & security architectures.
- Attack modeling and creation of security countermeasures.
- Root cause analysis of security defects.
- Technical interface to customers and to the products development teams, on design, implementation and proper use of cryptographic algorithms and protocols.
- Certification support and technical interface with evaluator and certifier bodies (FIPS, Common Criteria)
Skills and Qualifications
- Driven and action-oriented
- Ability to work independently, proactively, and responsibly, and to take initiative
- Positive and customer-focused
- Structured and organized
- Excellent problem solving skills
- Easily cooperates with others
- In-depth knowledge of cryptography (e.g. has taken university courses)
- Solid background in math (number theory, abstract algebra) and algorithms
- Programming experience in one or more of the following languages: Java, C#, C, C++, Rust.
- Prior experience with implementation of cryptographic protocols
- Familiarity with the UNIX command line and developer tools (e.g., git, gradle)
- Familiarity with reading cryptography research papers and standard documents will be considered positively
- Knowledge in “reading and writing” ASN.1
- Fluency in spoken and written English
- MSc. or Ph.D. in computer science, mathematics, or a related discipline with an active interest in Cryptography will be considered positively
#LI-DNI