Senior C++ / Cryptography Engineer


View job offers

About Quarkslab

Quarkslab is a French company specializing in information security R&D, consulting and software development. Our expertise is in combining offensive and defensive security to help organizations adopt a new security posture: Force the attackers, not the defender, to adapt constantly. Through our consulting services as well as our software we provide tailored solutions to organizations, helping them to protect their assets, sensitive data, and users against increasingly sophisticated attacks.

Quarkslab is an avid and active user of, and contributor to, Open Source Software and develops and maintains state-of-the-art security tools such as LIEF , QBDITritonIrma, and several other projects.

We develop two commercial software products: QFlow, a platform to automate and orchestrate security analysis of files at scale, and QShield, advanced code and data protection software to disrupt code lifting, reverse engineering and tampering attacks.

Job description

The QShield team develops several protection solutions, for mobile applications and embedded devices - targeting code, cryptographic algorithms, and attesting the legitimacy of the runtime environment and platform.

These tools run on different kinds of environments, including Linux, Windows, macOS, Android, and iOS, and architectures, such as x86_64 and arm for instance, and some of them rely on third-party components such as LLVM, a state-of-the-art open source C/C++ compiler. This job specifically focuses on the engineering of a collection of C++ tools and libraries that embed some common cryptographic algorithms and/or protocols, but also provide other broader features.

The challenge you will face will be to help develop and maintain the protection solutions while being regularly exposed to new, exotic, and interesting concepts, related to cryptography. You will need to do some online research and read cryptographic standards, find and study reference implementations and inform the rest of the team on what would be the sound choices/design in a given context. You will also participate in the implementation of customer-specific requirements and customer support.

If you like C++, technical challenges, you know a bit of cryptography, and you are curious about learning more, do not hesitate to contact us!

Key Responsibilities

  • Help maintain and develop our different tools, with a focus on cryptographic components.
  • Ensure the quality of the delivered product in terms of security, performance, and code size.
  • Communicate your developments to the rest of the team.

What is QShield?

At Quarkslab we develop QShield, a software for application protection. Our solutions include a tool to protect Java/Kotlin programs and a C/C++ code-obfuscator based on LLVM, a white-box cryptography library, a RASP framework, a digital vault and remote attestation solutions. All these components help to increase the security of applications and firmware/middleware to protect IP, APIs, secrets and every sensitive information used or provided by software.

Where can you help us?

Why work at Quarkslab?

Work with an amazing team, eager to learn and play with new approaches and technologies, mixing various skills (security, compilation, program analysis, reverse engineering, software engineering). International environment with offices in Paris and Buenos Aires (team croissants vs. team asado), representations in Tokyo and Singapore.

  • Attend conferences in your field, learn from many internal events (weekly conference, trainings, research activities).
  • Contribute and support Open Source Software: Our own tools and other people's projects.
  • Flexible work hours, work from home.
  • Premium health insurance.

Recruitment process:

  1. Call with our talent acquisition manager.
  2. Video call with the Hiring Manager.
  3. Do a short programming challenge
  4. Interview with C-Level, QShield business unit and HR Manager at Quarkslab’s Office (or remote due to Covid).
  5. HR debrief and job offer.

Quarkslab is proud to be an equal opportunity workplace employer. We are committed to equal employment opportunity regardless of race, colour, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability or gender identity. If you have a disability or special need that requires accommodation, please let us know and we will be happy to accommodate.



Hard Skills

The skills or knowledge we think you should have:

  • 3 years+ experience in development in C++
  • Knowledge of cryptography (comfortable with reading cryptographic standards and knowledge about best practices in cryptography)

But also, that would be nice if you knew:

  • CMake, Git, and Gitlab
  • Some of the targeted environments (in particular Windows or macOS) or architectures (in particular Arm or IoT)
  • Notions of cryptographic protocol design and analysis (common attacks and more elaborate cryptographic structures)
  • Notions of software protections applied to cryptography (side-channel protections, white-box implementations)
  • Notions of reverse engineering
  • Python

Soft Skills

  • Team player to exchange your knowledge with others
  • Autonomous and able to be creative / think outside the box
  • Spoken English
Made byTaleez