constant-time-analysis

Analyze compiled cryptographic code for timing side-channel vulnerabilities.

Updated Jan 30, 2026
One-click install
npx skills add https://github.com/andrescardonas7/salchipapa-web --skill constant-time-analysis-andrescardonas7
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: constant-time-analysis
Source: https://github.com/andrescardonas7/salchipapa-web/tree/main/.cursor/skills/constant-time-analysis
Command: npx skills add https://github.com/andrescardonas7/salchipapa-web --skill constant-time-analysis-andrescardonas7

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pypdf, pdfplumber, pdf2image, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps developers identify and fix timing side-channel vulnerabilities in cryptographic code, preventing attackers from leaking secret data by measuring execution time.

Core Features & Use Cases

  • Detects Variable-Time Instructions: Flags dangerous CPU instructions (like division) and conditional branches that depend on secret data.
  • Supports Multiple Languages: Analyzes C, C++, Go, Rust, PHP, JavaScript, Python, Ruby, Java, C#, and Swift.
  • Cross-Architecture Analysis: Checks code for vulnerabilities across various CPU architectures (x86_64, ARM64, etc.).
  • Use Case: A developer implementing a new encryption algorithm can use this Skill to ensure their code is resistant to timing attacks before deployment.

Quick Start

Use the constant-time-analysis skill to check the provided Rust code for any timing vulnerabilities.

Frequently Asked Questions about constant-time-analysis

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find timing side-channel vulnerabilities in compiled cryptographic code?

To find timing side-channel vulnerabilities, analyze compiled assembly or bytecode for variable-time instructions and secret-dependent branches. This process detects dangerous operations like division and floating-point math that may leak secret information through execution time.

What is a timing attack and how does variable-time code cause secret data leaks?

A timing attack measures execution time to leak secret cryptographic data. Variable-time code causes these leaks when CPU instructions like division or conditional branches take different durations depending on secret values, allowing attackers to infer the data.

Can I check for secret-dependent branches across different CPU architectures like ARM64 and x86_64?

Yes, you can check for secret-dependent branches across different CPU architectures like ARM64 and x86_64. Cross-architecture analysis flags dangerous conditional branches and variable-time instructions to ensure code is resistant regardless of the target platform.

Does constant-time analysis support multiple programming languages including Rust, Go, and C?

Yes, constant-time analysis supports multiple programming languages including Rust, Go, C, C++, PHP, JavaScript, Python, Ruby, Java, C#, and Swift. It examines the compiled output to identify timing vulnerabilities across these different environments.

What's the best way to ensure an encryption algorithm is resistant to timing attacks before deployment?

The best way to ensure an encryption algorithm is resistant to timing attacks is to analyze its compiled code for variable-time instructions and secret-dependent branches. This identifies dangerous operations like division or conditional logic before deployment.

What types of CPU instructions cause timing side-channel vulnerabilities in cryptography?

CPU instructions that cause timing side-channel vulnerabilities include division, floating-point math, and conditional branches. When these variable-time instructions depend on secret data, they leak information by varying execution time based on the secret values.