What problem does it solve? Cryptographic implementations can leak secret keys through timing variations in execution, even when the underlying algorithms are mathematically secure. This Skill helps you detect these timing side channels before attackers exploit them to extract private keys, passwords, or other sensitive material. ## Core Features & Use Cases - Violation Pattern Recognition: Identify the four common constant-time violations—secret-dependent branches, array accesses, division, and shifts—in C/C++ crypto code. - Tool Selection Guidance: Choose between formal verification (ct-verif, SideTrail), symbolic execution (Binsec), dynamic tracing (Timecop/Valgrind), and statistical testing (dudect) based on your assurance needs. - Phased Testing Workflow: Follow a four-phase process from initial statistical screening through root-cause analysis, remediation, and CI integration. - Use Case: You are reviewing a pull request that modifies RSA modular exponentiation code. Use this Skill to write a dudect harness that compares timing between fixed and random exponents, then use Timecop to pinpoint the exact conditional branch leaking exponent bits. ## Quick Start Audit my cryptographic function for timing side channels by writing a dudect test harness and explaining any leakage it detects.