• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

KarpelesLab / tss-lib / 24556290321
77%

Build:
DEFAULT BRANCH: master
Ran 17 Apr 2026 09:04AM UTC
Jobs 1
Files 114
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

17 Apr 2026 08:44AM UTC coverage: 75.998% (+0.3%) from 75.683%
24556290321

push

github

MagicalTux
add post-quantum threshold ML-DSA-44 signing (mldsatss)

Implements the ML-DSA variant from "Threshold Signatures Reloaded: ML-DSA
and Enhanced Raccoon with Identifiable Aborts" (Borin, Celi, del Pino,
Espitau, Niot, Prest, ePrint 2025/1166) on top of KarpelesLab/mldsa.
Produces byte-identical FIPS 204 signatures that verify with stock
mldsa.PublicKey44.Verify.

v1 scope is ML-DSA-44, trusted-dealer keygen (matching the paper's
reference), and signer committees of size 2 ≤ t ≤ n ≤ 6. The parameter
table (K, r, r', nu) and sharing patterns are copied verbatim from the
authors' Go reference at github.com/GuilhemN/threshold-ml-dsa-and-raccoon.

Package layout mirrors ecdsatss/eddsatss:
- doc.go         — academic-prototype warning, not production-ready
- params.go      — (t, n) parameter table + honest-signer sharing patterns
- key.go         — Key44 share store + recoverShare per signing subset
- keygen.go      — TrustedDealerKeygen44 (deterministic from 32-byte seed)
- msgsigning.go  — JSON wire messages for rounds 1/2/3
- signature.go   — SignatureData container (raw FIPS 204 bytes)
- signing.go     — Signing44 party state machine (commit hash → reveal w
                   → responses → combine), including the threshold-specific
                   makeHintLowBits44 variant that still yields FIPS 204
                   UseHint-valid hints
- signing_test.go — end-to-end sweep over 14 (t, n) pairs plus context
                   mismatch rejection

DKG, resharing, identifiable aborts, ML-DSA-65/87 variants, and
side-channel resistance of the float64 hyperball sampler are explicit
non-goals for this prototype.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

542 of 665 new or added lines in 4 files covered. (81.5%)

6 existing lines in 2 files now uncovered.

10319 of 13578 relevant lines covered (76.0%)

2327.49 hits per line

Uncovered Changes

Lines Coverage ∆ File
73
83.52
mldsatss/signing.go
34
63.44
mldsatss/key.go
10
50.0
mldsatss/params.go
6
94.5
mldsatss/keygen.go

Coverage Regressions

Lines Coverage ∆ File
3
92.71
-2.08% ecdsa/keygen/prepare.go
3
82.19
-4.11% ecdsa/signing/finalize.go
Jobs
ID Job ID Ran Files Coverage
1 24556290321.1 17 Apr 2026 09:04AM UTC 114
76.0
GitHub Action Run
Source Files on build 24556290321
  • Tree
  • List 114
  • Changed 6
  • Source Changed 0
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24556290321
  • fde7e4f7 on github
  • Prev Build on master (#24413446242)
  • Next Build on master (#24556386822)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc