ecrust-protocol 0.1.0

Cryptographic protocols built on top of the ecrust field and elliptic-curve layers
Documentation

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.