Uncross your fingers.

ppad detects and eliminates the most subtle timing vulnerabilities in critical production infrastructure.

We like to know our stuff isn't vulnerable to timing attacks. Read on to learn how we can help you know your stuff isn't vulnerable either.

(scroll ↓)

Constant-time auditing

We audit arbitrary cryptographic code and executables for timing leaks: statically, at every instruction the machine actually executes, and dynamically, down to the hardware it executes on, using state-of-the-art analysis tools that we build and operate ourselves.

See exactly what your timing profile is, across multiple architectures and when compiled or optimized via multiple backends, at both the raw assembly and microarchitectural levels. Understand exactly where, under what conditions, and in what capacity you may be exposed to a timing attack.

you get
self-contained, independently verifiable audits in which every leak signal is identified, and every claim supported by concrete evidence.
for
anyone handling keys, signatures, and other sensitive cryptographic material.

Security analysis

We construct first-principles threat, adversary, and security models for cryptographic systems, identifying e.g. what an attacker can reach, what an attack would cost, and where a design or implementation may be unsound.

you get
a written analysis, in the style of our published work on ppad-hmac-drbg, ppad-sha{256,512}, and ppad-fixed, as well as proofs, proofs-of-concept, etc., as appropriate.
for
teams who want to understand or communicate their exact security posture, or who want a substrate upon which to employ formal methods.

Security engineering

We remediate defects that audits find, or rapidly build things out, from spec or otherwise, in differing languages or timing-hostile runtimes, with second-to-none quality and pace.

Our track record includes examples like blazing-fast constant-time Montgomery arithmetic primitives, fastest-in-class SHA2 hash functions, and constant-time RFC8439 authenticated encryption; property, cross-library, and Wycheproof tested.

The proof of the pudding, as they say, is in the eating.

you get
pull requests, patches, or fresh codebases, as needed, along with credible evidence that any crucial invariants are upheld.
for
teams with vulnerabilities to eliminate, or with cryptographic/security infrastructure to build correctly from the start.

Continuous assurance

We ensure that your timing profile remains clean in the face of code or toolchain updates, upgrades, or migrations: quickly, effortlessly, and on demand. Be certain that attacks on your supply chain don't introduce subtle timing vulnerabilities.

you get
at-will substratum and censor analyses, along with immediate remediation of any discovered defects.
for
teams who want to sleep well at night.

Engagements

Get in touch to discuss your project and its needs. We'll help you get an idea of what kind of support you could probably use, and will be happy to provide you with a proposal and quote.

We will typically want to get a baseline assessment of your timing profile before proposing either a more formal audit, remediation and verification, or ongoing assurance.