Skip to main content

Crate protocol

Crate protocol 

Source
Expand description

Protocol layer for ecrust.

This crate is meant to sit above the reusable finite-field (fp) and elliptic-curve (ec) crates and host protocol implementations.

Current modules:

  • scalar fixed-width secret scalars suitable for constant-time APIs
  • ecdh elliptic-curve Diffie–Hellman key agreement
  • elgamal elliptic-curve ElGamal over group elements

§Side-channel note

The protocol layer uses a fixed-width scalar container together with the Montgomery-ladder API from ec::point_ops::CtPointOps, which keeps the scalar-processing path free of secret-dependent branches.

That said, the current affine Weierstrass backend in ec still contains exceptional-case branching in point addition and doubling. So these protocols are a good constant-time-oriented structure to build on, but they should not yet be treated as production-grade hardened implementations.

Modules§

ecdh
Elliptic-curve Diffie–Hellman helpers.
elgamal
Elliptic-curve ElGamal over group elements.
scalar
Fixed-width secret scalar container.