Skip to content

test(auths-crypto): measure that secret comparison is constant-time#347

Merged
bordumb merged 1 commit into
mainfrom
loop/foundation-2026-06-23_000727
Jun 23, 2026
Merged

test(auths-crypto): measure that secret comparison is constant-time#347
bordumb merged 1 commit into
mainfrom
loop/foundation-2026-06-23_000727

Conversation

@bordumb

@bordumb bordumb commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

The constant-time lint proves ct_eq is called; it cannot prove the compiled
comparison runs in input-independent time. Add a dudect-style Welch t-test
that times the comparison across two input classes (input matches the secret
vs differs in the first byte). A naive early-return byte compare is the
negative control the harness must flag as leaky (it measures |t|~thousands);
the production subtle::ct_eq must show none (|t|~single digits). Batched,
black-box'd, outlier-trimmed, median over rounds for stability.

Auths-Id: did:keri:EB5cPHY0t-ejNC_rUzPS1dclTvd6kG-R9mQzjozCuGgd
Auths-Device: did:keri:EB5cPHY0t-ejNC_rUzPS1dclTvd6kG-R9mQzjozCuGgd
Auths-Anchor-Seq: 1

The constant-time lint proves ct_eq is called; it cannot prove the compiled
comparison runs in input-independent time. Add a dudect-style Welch t-test
that times the comparison across two input classes (input matches the secret
vs differs in the first byte). A naive early-return byte compare is the
negative control the harness must flag as leaky (it measures |t|~thousands);
the production subtle::ct_eq must show none (|t|~single digits). Batched,
black-box'd, outlier-trimmed, median over rounds for stability.

Auths-Id: did:keri:EB5cPHY0t-ejNC_rUzPS1dclTvd6kG-R9mQzjozCuGgd
Auths-Device: did:keri:EB5cPHY0t-ejNC_rUzPS1dclTvd6kG-R9mQzjozCuGgd
Auths-Anchor-Seq: 1
@vercel

vercel Bot commented Jun 23, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
auths Ready Ready Preview, Comment Jun 23, 2026 12:22am

@bordumb bordumb merged commit 911aee7 into main Jun 23, 2026
1 check was pending
@github-actions

Copy link
Copy Markdown

Auths Commit Verification

Commit Status Details
8a7d4cc6 ❌ Failed No signature found

Result: ❌ 0/1 commits verified


How to fix

Commit 8a7d4cc6 has no Auths signature (no Auths-Id/Auths-Device trailer).

1. Install auths

macOS: brew install auths
Linux: Download from releases

2. One-time setup (creates your identity and configures Git)

auths init

3. Sign this branch and push

auths sign origin/main..HEAD
git push --force-with-lease

For CI to verify the signer, commit an identity bundle:

auths id export-bundle --alias main --output .auths/ci-bundle.json --max-age-secs 31536000

Quickstart →

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant