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

kaidokert / krabiecdsa-rs / 31564347974
93%

Build:
DEFAULT BRANCH: main
Ran 12 Aug 2026 04:47AM UTC
Jobs 1
Files 1
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

12 Aug 2026 04:46AM UTC coverage: 92.889% (-1.8%) from 94.681%
31564347974

push

github

web-flow
Standardize ECDH onto the kem 0.3 no_std traits (#40)

* Standardize ECDH onto the kem 0.3 no_std traits

The ad-hoc EphemeralSecret/SharedSecret/PublicKey API was bespoke; expose
P-256/P-384/secp256k1 ECDH through RustCrypto's `kem` 0.3 traits instead,
the same interface ML-KEM uses, so a hybrid key exchange drives both
uniformly. A DecapsulationKey is an ephemeral secret scalar (its
EncapsulationKey is d·G, the SEC1 key_share); Encapsulate::encapsulate_with_rng
against a peer yields (ciphertext = e·G, shared = x(e·peer)) and
TryDecapsulate::try_decapsulate recovers x(d·ct).

kem is the only new direct dep — Generate/TryKeyInit/KeyExport/Array/typenum
all re-export through it, and its CryptoRng is the same rand_core 0.10 the
signer already uses (already in-tree via signature 3.0). The Kem markers are
generic over the backend; a small EcdhCurve trait carries the per-curve
hybrid-array sizes (U32/U48 shared, U65/U97 SEC1). The secret d·P reuses the
existing validated, taint-gated ecdh_shared_x_ct; peer points are validated
up front via a factored validate_peer_sec1.

Unblinded — coordinate/scalar blinding of d·P is a follow-up. Cross-checked
against openssl 3.6.3 (KAT both directions + pubkey match), a full KEM
encaps/decaps roundtrip, and invalid-peer rejection. ct-verify (ladder,
strict panic-audit, ctgrind) unaffected — the ladder is unchanged.

85 of 110 new or added lines in 1 file covered. (77.27%)

2 existing lines in 1 file now uncovered.

1032 of 1111 relevant lines covered (92.89%)

16066.98 hits per line

Uncovered Changes

Lines Coverage ∆ File
25
92.89
-1.79% ecdsa/src/lib.rs

Coverage Regressions

Lines Coverage ∆ File
2
92.89
-1.79% ecdsa/src/lib.rs
Jobs
ID Job ID Ran Files Coverage
1 31564347974.1 12 Aug 2026 04:47AM UTC 1
92.89
GitHub Action Run
Source Files on build 31564347974
  • Tree
  • List 1
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #31564347974
  • 2ad8a835 on github
  • Prev Build on main (#31562104955)
  • Next Build on main (#31569246807)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc