Skip to content
agentusehub

Debug low-level cryptography code

Cryptography engineer Filippo Valsorda's write-up on Claude Code debugging low-level crypto.

Time saved
Not reported
Setup time
Not reported
Running cost
Not reported
Cost range
Not reported

Use case overview

Cryptography engineer Filippo Valsorda's write-up on Claude Code debugging low-level crypto.

Reported experience

  1. What they did

    Filippo Valsorda ran Claude Code (Opus 4.1, no system prompt) on his new Go ML-DSA implementation. His prompt named the test command and code directory, described the failing symptom, and asked it to think hard. It read the code and traced the bug. It also tested a hypothesis with a small test of its own. He then repeated this on two earlier signing bugs, using a fresh session for each.

  2. How it went

    It found all three bugs in one shot without help. The Verify bug took minutes: high bits were taken twice. Its proposed fixes were mediocre, so Valsorda threw them away and rewrote them himself.

  3. Worth knowing

    Use well-scoped failing tests, start a fresh session for each independent bug, and treat the agent's output as a pointer to the bug, not a fix to merge.

Example prompts

Try with Claude Code
I have a failing test in my cryptography code at [path], where [describe the symptom, e.g. wrong output for certain inputs]. Investigate why it fails, compare against [reference implementation or test vectors], and propose a fix. Finished means the tests pass and you've explained the root cause, and you should show me the diff before changing any files.
Coding · Advanced
  1. Write migration plan
  2. Agent edits in batches
  3. Tests per batch

Ship a 40-file refactor with a coding agent

Plan, execute and review a cross-cutting refactor in small batches, with Claude Code making the edits and GitHub Copilot reviewing each PR.

Claude Code · GitHub Copilot
Coding · Advanced
  1. Run coverage
  2. Pick 3 riskiest files
  3. Write + run tests

Generate missing unit tests for untested modules

Claude Code reads your coverage report, picks the riskiest untested modules and writes unit tests that pass, one small PR at a time.

Claude Code · GitHub Copilot · Slack