···14141515## Security Notice
16161717-This implementation uses Zarith for P-256 elliptic curve arithmetic, which is
1818-**not constant-time**. This means the implementation has timing side-channel
1919-vulnerabilities. For high-security deployments, consider using hardware security
2020-modules or ensuring operations occur on trusted networks only.
1717+This implementation uses mirage-crypto-ec for P-256 elliptic curve operations,
1818+which provides **constant-time** arithmetic via code generated by fiat-crypto.
1919+Scalar operations use Zarith but only for protocol-level math (not secret-dependent
2020+branching). The P-256 point operations are constant-time.
21212222## Installation
2323···86868787### P-256 Curve
88888989-- `Spake2.P256.scalar_mult k p` - Scalar multiplication
9089- `Spake2.P256.add p q` - Point addition
9090+- `Spake2.P256.negate p` - Point negation
9191- `Spake2.P256.to_bytes p` - Encode point (SEC1 uncompressed)
9292- `Spake2.P256.of_bytes s` - Decode and validate point
9393