constant-time-testing

Installation
Summary

Detect timing side channels in cryptographic implementations to prevent secret extraction attacks.

  • Covers four tool categories: formal verification (mathematical proofs), symbolic execution (concrete counterexamples), dynamic tracing (runtime secret tracking), and statistical testing (real-world timing measurement)
  • Provides workflow combining dudect for initial leak detection and timecop for pinpointing root causes, with formal verification for high-assurance audits
  • Identifies four common vulnerability patterns: secret-dependent branches, array lookups, integer division, and shift operations that leak timing information
  • Includes implementation guide covering assessment, detailed analysis, remediation, and CI integration for continuous monitoring
SKILL.md

Constant-Time Testing

Timing attacks exploit variations in execution time to extract secret information from cryptographic implementations. Unlike cryptanalysis that targets theoretical weaknesses, timing attacks leverage implementation flaws - and they can affect any cryptographic code.

Background

Timing attacks were introduced by Kocher in 1996. Since then, researchers have demonstrated practical attacks on RSA (Schindler), OpenSSL (Brumley and Boneh), AES implementations, and even post-quantum algorithms like Kyber.

Key Concepts

Concept Description
Constant-time Code path and memory accesses independent of secret data
Timing leakage Observable execution time differences correlated with secrets
Side channel Information extracted from implementation rather than algorithm
Microarchitecture CPU-level timing differences (cache, division, shifts)

Why This Matters

Related skills
Installs
2.2K
GitHub Stars
5.1K
First Seen
Jan 19, 2026