# @suaveplan/crypto-curve - Elliptic-curve primitives with per-primitive selector layout: secp256k1, ed25519, x25519, p256, p384, p521. Noble + native impls selected at build time via crypto.config.ts. Zero runtime mocks; thin wrappers over @noble/curves. ## Summary Low-level elliptic-curve building blocks for the `@suaveplan/crypto` stack. Exposes four curves — secp256k1, Ed25519, X25519, and NIST P-256 — each as a standalone subpath export so bundlers only ship the primitives actually used. Every curve provides key generation, signing/verification (or key agreement), and raw byte operations. Implementation flavour (`'noble'` vs `'native'`) is selected at build time via the repo-root `crypto.config.ts`; all Phase 0 implementations route to `@noble/curves`. Use this package when you need raw curve operations; for high-level AEAD, signing, or sealed-box use `@suaveplan/crypto` instead. ## Documentation tree - [codes](./src/errors/codes/codes.md) — _(no submodules)_ - [codes](./src/errors/codes/codes.md) — _(no submodules)_ - [crypto-curve-error](./src/errors/crypto-curve-error/crypto-curve-error.md) — _(no submodules)_ - [crypto-curve-error](./src/errors/crypto-curve-error/crypto-curve-error.md) — _(no submodules)_ - [ed25519](./src/primitives/ed25519/ed25519.md) — _(no submodules)_ - ed25519.select — _(no submo… - [ed25519.select](./src/primitives/ed25519/ed25519.select/ed25519.select.md) — _(no submodules)_ - [ed25519.select](./src/primitives/ed25519/ed25519.select/ed25519.select.md) — _(no submodules)_ - [ed25519.native](./src/primitives/ed25519/impl/ed25519.native/ed25519.native.md) — _(no submodules)_ - [ed25519.native](./src/primitives/ed25519/impl/ed25519.native/ed25519.native.md) — _(no submodules)_ - [ed25519.noble](./src/primitives/ed25519/impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_ - [ed25519.noble](./src/primitives/ed25519/impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_ - [ed25519](./src/primitives/ed25519/ed25519.md) — _(no submodules)_ - ed25519.select — _(no submo… - [p256](./src/primitives/p256/p256.md) — _(no submodules)_ - p256.native — _(no submodul… - [p256.native](./src/primitives/p256/impl/p256.native/p256.native.md) — _(no submodules)_ - [p256.native](./src/primitives/p256/impl/p256.native/p256.native.md) — _(no submodules)_ - [p256.noble](./src/primitives/p256/impl/p256.noble/p256.noble.md) — _(no submodules)_ - [p256.noble](./src/primitives/p256/impl/p256.noble/p256.noble.md) — _(no submodules)_ - [p256.select](./src/primitives/p256/p256.select/p256.select.md) — _(no submodules)_ - [p256.select](./src/primitives/p256/p256.select/p256.select.md) — _(no submodules)_ - [p256](./src/primitives/p256/p256.md) — _(no submodules)_ - p256.native — _(no submodul… - [p384](./src/primitives/p384/p384.md) — _(no submodules)_ - p384.native — _(no submodul… - [p384.native](./src/primitives/p384/impl/p384.native/p384.native.md) — _(no submodules)_ - [p384.native](./src/primitives/p384/impl/p384.native/p384.native.md) — _(no submodules)_ - [p384.noble](./src/primitives/p384/impl/p384.noble/p384.noble.md) — _(no submodules)_ - [p384.noble](./src/primitives/p384/impl/p384.noble/p384.noble.md) — _(no submodules)_ - [p384.select](./src/primitives/p384/p384.select/p384.select.md) — _(no submodules)_ - [p384.select](./src/primitives/p384/p384.select/p384.select.md) — _(no submodules)_ - [p384](./src/primitives/p384/p384.md) — _(no submodules)_ - p384.native — _(no submodul… - [p521](./src/primitives/p521/p521.md) — _(no submodules)_ - p521.native — _(no submodul… - [p521.native](./src/primitives/p521/impl/p521.native/p521.native.md) — _(no submodules)_ - [p521.native](./src/primitives/p521/impl/p521.native/p521.native.md) — _(no submodules)_ - [p521.noble](./src/primitives/p521/impl/p521.noble/p521.noble.md) — _(no submodules)_ - [p521.noble](./src/primitives/p521/impl/p521.noble/p521.noble.md) — _(no submodules)_ - [p521.select](./src/primitives/p521/p521.select/p521.select.md) — _(no submodules)_ - [p521.select](./src/primitives/p521/p521.select/p521.select.md) — _(no submodules)_ - [p521](./src/primitives/p521/p521.md) — _(no submodules)_ - p521.native — _(no submodul… - [secp256k1](./src/primitives/secp256k1/secp256k1.md) — _(no submodules)_ - secp256k1.native — _(no sub… - [secp256k1.native](./src/primitives/secp256k1/impl/secp256k1.native/secp256k1.native.md) — _(no submodules)_ - [secp256k1.native](./src/primitives/secp256k1/impl/secp256k1.native/secp256k1.native.md) — _(no submodules)_ - [secp256k1.noble](./src/primitives/secp256k1/impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_ - [secp256k1.noble](./src/primitives/secp256k1/impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_ - [secp256k1.select](./src/primitives/secp256k1/secp256k1.select/secp256k1.select.md) — _(no submodules)_ - [secp256k1.select](./src/primitives/secp256k1/secp256k1.select/secp256k1.select.md) — _(no submodules)_ - [secp256k1](./src/primitives/secp256k1/secp256k1.md) — _(no submodules)_ - secp256k1.native — _(no sub… - [x25519](./src/primitives/x25519/x25519.md) — _(no submodules)_ - x25519.native — _(no submod… - [x25519.native](./src/primitives/x25519/impl/x25519.native/x25519.native.md) — _(no submodules)_ - [x25519.native](./src/primitives/x25519/impl/x25519.native/x25519.native.md) — _(no submodules)_ - [x25519.noble](./src/primitives/x25519/impl/x25519.noble/x25519.noble.md) — _(no submodules)_ - [x25519.noble](./src/primitives/x25519/impl/x25519.noble/x25519.noble.md) — _(no submodules)_ - [x25519.select](./src/primitives/x25519/x25519.select/x25519.select.md) — _(no submodules)_ - [x25519.select](./src/primitives/x25519/x25519.select/x25519.select.md) — _(no submodules)_ - [x25519](./src/primitives/x25519/x25519.md) — _(no submodules)_ - x25519.native — _(no submod… - [codes](./src/errors/codes/codes.md) — _(no submodules)_- [crypto-curve-error](./src/errors/crypto-curve-error/crypto-curve-error.md) — _(no submodules)_- [crypto-curve-error](./src/errors/crypto-curve-error/crypto-curve-error.md) — _(no submodules)_- [ed25519](./src/primitives/ed25519/ed25519.md) — _(no submodules)_- [ed25519.select](./src/primitives/ed25519/ed25519.select/ed25519.select.md) — _(no submodules)_- [ed25519.select](./src/primitives/ed25519/ed25519.select/ed25519.select.md) — _(no submodules)_- [ed25519.native](./src/primitives/ed25519/impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.native](./src/primitives/ed25519/impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.noble](./src/primitives/ed25519/impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519.noble](./src/primitives/ed25519/impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519](./src/primitives/ed25519/ed25519.md) — _(no submodules)_- [p256](./src/primitives/p256/p256.md) — _(no submodules)_- [p256.native](./src/primitives/p256/impl/p256.native/p256.native.md) — _(no submodules)_- [p256.native](./src/primitives/p256/impl/p256.native/p256.native.md) — _(no submodules)_- [p256.noble](./src/primitives/p256/impl/p256.noble/p256.noble.md) — _(no submodules)_- [p256.noble](./src/primitives/p256/impl/p256.noble/p256.noble.md) — _(no submodules)_- [p256.select](./src/primitives/p256/p256.select/p256.select.md) — _(no submodules)_- [p256.select](./src/primitives/p256/p256.select/p256.select.md) — _(no submodules)_- [p256](./src/primitives/p256/p256.md) — _(no submodules)_- [p384](./src/primitives/p384/p384.md) — _(no submodules)_- [p384.native](./src/primitives/p384/impl/p384.native/p384.native.md) — _(no submodules)_- [p384.native](./src/primitives/p384/impl/p384.native/p384.native.md) — _(no submodules)_- [p384.noble](./src/primitives/p384/impl/p384.noble/p384.noble.md) — _(no submodules)_- [p384.noble](./src/primitives/p384/impl/p384.noble/p384.noble.md) — _(no submodules)_- [p384.select](./src/primitives/p384/p384.select/p384.select.md) — _(no submodules)_- [p384.select](./src/primitives/p384/p384.select/p384.select.md) — _(no submodules)_- [p384](./src/primitives/p384/p384.md) — _(no submodules)_- [p521](./src/primitives/p521/p521.md) — _(no submodules)_- [p521.native](./src/primitives/p521/impl/p521.native/p521.native.md) — _(no submodules)_- [p521.native](./src/primitives/p521/impl/p521.native/p521.native.md) — _(no submodules)_- [p521.noble](./src/primitives/p521/impl/p521.noble/p521.noble.md) — _(no submodules)_- [p521.noble](./src/primitives/p521/impl/p521.noble/p521.noble.md) — _(no submodules)_- [p521.select](./src/primitives/p521/p521.select/p521.select.md) — _(no submodules)_- [p521.select](./src/primitives/p521/p521.select/p521.select.md) — _(no submodules)_- [p521](./src/primitives/p521/p521.md) — _(no submodules)_- [secp256k1](./src/primitives/secp256k1/secp256k1.md) — _(no submodules)_- [secp256k1.native](./src/primitives/secp256k1/impl/secp256k1.native/secp256k1.native.md) — _(no submodules)_- [secp256k1.native](./src/primitives/secp256k1/impl/secp256k1.native/secp256k1.native.md) — _(no submodules)_- [secp256k1.noble](./src/primitives/secp256k1/impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_- [secp256k1.noble](./src/primitives/secp256k1/impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_- [secp256k1.select](./src/primitives/secp256k1/secp256k1.select/secp256k1.select.md) — _(no submodules)_- [secp256k1.select](./src/primitives/secp256k1/secp256k1.select/secp256k1.select.md) — _(no submodules)_- [secp256k1](./src/primitives/secp256k1/secp256k1.md) — _(no submodules)_- [x25519](./src/primitives/x25519/x25519.md) — _(no submodules)_- [x25519.native](./src/primitives/x25519/impl/x25519.native/x25519.native.md) — _(no submodules)_- [x25519.native](./src/primitives/x25519/impl/x25519.native/x25519.native.md) — _(no submodules)_- [x25519.noble](./src/primitives/x25519/impl/x25519.noble/x25519.noble.md) — _(no submodules)_- [x25519.noble](./src/primitives/x25519/impl/x25519.noble/x25519.noble.md) — _(no submodules)_- [x25519.select](./src/primitives/x25519/x25519.select/x25519.select.md) — _(no submodules)_- [x25519.select](./src/primitives/x25519/x25519.select/x25519.select.md) — _(no submodules)_- [x25519](./src/primitives/x25519/x25519.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [crypto-curve-error](./src/errors/crypto-curve-error/crypto-curve-error.md) — _(no submodules)_- [crypto-curve-error](./src/errors/crypto-curve-error/crypto-curve-error.md) — _(no submodules)_- [ed25519](./src/primitives/ed25519/ed25519.md) — _(no submodules)_- ed25519.select — _(no submodules)_- [ed25519.select](./src/primitives/ed25519/ed25519.select/ed25519.select.md) — _(no submodules)_- [ed25519.native](./src/primitives/ed25519/impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.native](./src/primitives/ed25519/impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.noble](./src/primitives/ed25519/impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519.noble](./src/primitives/ed25519/impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519](./src/primitives/ed25519/ed25519.md) — _(no submodules)_- ed25519.select — _(no submodules)_- p256.native — _(no submodules)_- [p256.native](./src/primitives/p256/impl/p256.native/p256.native.md) — _(no submodules)_- [p256.noble](./src/primitives/p256/impl/p256.noble/p256.noble.md) — _(no submodules)_- [p256.noble](./src/primitives/p256/impl/p256.noble/p256.noble.md) — _(no submodules)_- [p256.select](./src/primitives/p256/p256.select/p256.select.md) — _(no submodules)_- [p256.select](./src/primitives/p256/p256.select/p256.select.md) — _(no submodules)_- [p256](./src/primitives/p256/p256.md) — _(no submodules)_- p256.native — _(no submodules)_- p384.native — _(no submodules)_- [p384.native](./src/primitives/p384/impl/p384.native/p384.native.md) — _(no submodules)_- [p384.noble](./src/primitives/p384/impl/p384.noble/p384.noble.md) — _(no submodules)_- [p384.noble](./src/primitives/p384/impl/p384.noble/p384.noble.md) — _(no submodules)_- [p384.select](./src/primitives/p384/p384.select/p384.select.md) — _(no submodules)_- [p384.select](./src/primitives/p384/p384.select/p384.select.md) — _(no submodules)_- [p384](./src/primitives/p384/p384.md) — _(no submodules)_- p384.native — _(no submodules)_- p521.native — _(no submodules)_- [p521.native](./src/primitives/p521/impl/p521.native/p521.native.md) — _(no submodules)_- [p521.noble](./src/primitives/p521/impl/p521.noble/p521.noble.md) — _(no submodules)_- [p521.noble](./src/primitives/p521/impl/p521.noble/p521.noble.md) — _(no submodules)_- [p521.select](./src/primitives/p521/p521.select/p521.select.md) — _(no submodules)_- [p521.select](./src/primitives/p521/p521.select/p521.select.md) — _(no submodules)_- [p521](./src/primitives/p521/p521.md) — _(no submodules)_- p521.native — _(no submodules)_- secp256k1.native — _(no submodules)_- [secp256k1.native](./src/primitives/secp256k1/impl/secp256k1.native/secp256k1.native.md) — _(no submodules)_- [secp256k1.noble](./src/primitives/secp256k1/impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_- [secp256k1.noble](./src/primitives/secp256k1/impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_- [secp256k1.select](./src/primitives/secp256k1/secp256k1.select/secp256k1.select.md) — _(no submodules)_- [secp256k1.select](./src/primitives/secp256k1/secp256k1.select/secp256k1.select.md) — _(no submodules)_- [secp256k1](./src/primitives/secp256k1/secp256k1.md) — _(no submodules)_- secp256k1.native — _(no submodules)_- x25519.native — _(no submodules)_- [x25519.native](./src/primitives/x25519/impl/x25519.native/x25519.native.md) — _(no submodules)_- [x25519.noble](./src/primitives/x25519/impl/x25519.noble/x25519.noble.md) — _(no submodules)_- [x25519.noble](./src/primitives/x25519/impl/x25519.noble/x25519.noble.md) — _(no submodules)_- [x25519.select](./src/primitives/x25519/x25519.select/x25519.select.md) — _(no submodules)_- [x25519.select](./src/primitives/x25519/x25519.select/x25519.select.md) — _(no submodules)_- [x25519](./src/primitives/x25519/x25519.md) — _(no submodules)_- x25519.native — _(no submodules)_- [crypto-curve-error](./src/errors/crypto-curve-error/crypto-curve-error.md) — _(no submodules)_- [crypto-curve-error](./src/errors/crypto-curve-error/crypto-curve-error.md) — _(no submodules)_- [ed25519](./src/primitives/ed25519/ed25519.md) — _(no submodules)_- ed25519.select — _(no subm… - [ed25519.select](./src/primitives/ed25519/ed25519.select/ed25519.select.md) — _(no submodules)_- [ed25519.select](./src/primitives/ed25519/ed25519.select/ed25519.select.md) — _(no submodules)_- [ed25519.native](./src/primitives/ed25519/impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.native](./src/primitives/ed25519/impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.noble](./src/primitives/ed25519/impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519.noble](./src/primitives/ed25519/impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519](./src/primitives/ed25519/ed25519.md) — _(no submodules)_- ed25519.select — _(no subm… - [p256](./src/primitives/p256/p256.md) — _(no submodules)_- p256.native — _(no submodu… - [p256.native](./src/primitives/p256/impl/p256.native/p256.native.md) — _(no submodules)_- [p256.native](./src/primitives/p256/impl/p256.native/p256.native.md) — _(no submodules)_- [p256.noble](./src/primitives/p256/impl/p256.noble/p256.noble.md) — _(no submodules)_- [p256.noble](./src/primitives/p256/impl/p256.noble/p256.noble.md) — _(no submodules)_- [p256.select](./src/primitives/p256/p256.select/p256.select.md) — _(no submodules)_- [p256.select](./src/primitives/p256/p256.select/p256.select.md) — _(no submodules)_- [p256](./src/primitives/p256/p256.md) — _(no submodules)_- p256.native — _(no submodu… - [p384](./src/primitives/p384/p384.md) — _(no submodules)_- p384.native — _(no submodu… - [p384.native](./src/primitives/p384/impl/p384.native/p384.native.md) — _(no submodules)_- [p384.native](./src/primitives/p384/impl/p384.native/p384.native.md) — _(no submodules)_- [p384.noble](./src/primitives/p384/impl/p384.noble/p384.noble.md) — _(no submodules)_- [p384.noble](./src/primitives/p384/impl/p384.noble/p384.noble.md) — _(no submodules)_- [p384.select](./src/primitives/p384/p384.select/p384.select.md) — _(no submodules)_- [p384.select](./src/primitives/p384/p384.select/p384.select.md) — _(no submodules)_- [p384](./src/primitives/p384/p384.md) — _(no submodules)_- p384.native — _(no submodu… - [p521](./src/primitives/p521/p521.md) — _(no submodules)_- p521.native — _(no submodu… - [p521.native](./src/primitives/p521/impl/p521.native/p521.native.md) — _(no submodules)_- [p521.native](./src/primitives/p521/impl/p521.native/p521.native.md) — _(no submodules)_- [p521.noble](./src/primitives/p521/impl/p521.noble/p521.noble.md) — _(no submodules)_- [p521.noble](./src/primitives/p521/impl/p521.noble/p521.noble.md) — _(no submodules)_- [p521.select](./src/primitives/p521/p521.select/p521.select.md) — _(no submodules)_- [p521.select](./src/primitives/p521/p521.select/p521.select.md) — _(no submodules)_- [p521](./src/primitives/p521/p521.md) — _(no submodules)_- p521.native — _(no submodu… - [secp256k1](./src/primitives/secp256k1/secp256k1.md) — _(no submodules)_- secp256k1.native — _(no su… - [secp256k1.native](./src/primitives/secp256k1/impl/secp256k1.native/secp256k1.native.md) — _(no submodules)_- [secp256k1.native](./src/primitives/secp256k1/impl/secp256k1.native/secp256k1.native.md) — _(no submodules)_- [secp256k1.noble](./src/primitives/secp256k1/impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_- [secp256k1.noble](./src/primitives/secp256k1/impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_- [secp256k1.select](./src/primitives/secp256k1/secp256k1.select/secp256k1.select.md) — _(no submodules)_- [secp256k1.select](./src/primitives/secp256k1/secp256k1.select/secp256k1.select.md) — _(no submodules)_- [secp256k1](./src/primitives/secp256k1/secp256k1.md) — _(no submodules)_- secp256k1.native — _(no su… - [x25519](./src/primitives/x25519/x25519.md) — _(no submodules)_- x25519.native — _(no submo… - [x25519.native](./src/primitives/x25519/impl/x25519.native/x25519.native.md) — _(no submodules)_- [x25519.native](./src/primitives/x25519/impl/x25519.native/x25519.native.md) — _(no submodules)_- [x25519.noble](./src/primitives/x25519/impl/x25519.noble/x25519.noble.md) — _(no submodules)_- [x25519.noble](./src/primitives/x25519/impl/x25519.noble/x25519.noble.md) — _(no submodules)_- [x25519.select](./src/primitives/x25519/x25519.select/x25519.select.md) — _(no submodules)_- [x25519.select](./src/primitives/x25519/x25519.select/x25519.select.md) — _(no submodules)_- [x25519](./src/primitives/x25519/x25519.md) — _(no submodules)_- x25519.native — _(no submo… - [codes](./src/errors/codes/codes.md) — _(no submodules)_- [crypto-curve-error](./src/errors/crypto-curve-error/crypto-curve-error.md) — _(no submodules)_ - [crypto-curve-error](./src/errors/crypto-curve-error/crypto-curve-error.md) — _(no submodules)_- [ed25519](./src/primitives/ed25519/ed25519.md) — _(no submodules)_ - [ed25519.select](./src/primitives/ed25519/ed25519.select/ed25519.select.md) — _(no submodules)_ - [ed25519.select](./src/primitives/ed25519/ed25519.select/ed25519.select.md) — _(no submodules)_ - [ed25519.native](./src/primitives/ed25519/impl/ed25519.native/ed25519.native.md) — _(no submodules)_ - [ed25519.native](./src/primitives/ed25519/impl/ed25519.native/ed25519.native.md) — _(no submodules)_ - [ed25519.noble](./src/primitives/ed25519/impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_ - [ed25519.noble](./src/primitives/ed25519/impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_ - [ed25519](./src/primitives/ed25519/ed25519.md) — _(no submodules)_- [p256](./src/primitives/p256/p256.md) — _(no submodules)_ - [p256.native](./src/primitives/p256/impl/p256.native/p256.native.md) — _(no submodules)_ - [p256.native](./src/primitives/p256/impl/p256.native/p256.native.md) — _(no submodules)_ - [p256.noble](./src/primitives/p256/impl/p256.noble/p256.noble.md) — _(no submodules)_ - [p256.noble](./src/primitives/p256/impl/p256.noble/p256.noble.md) — _(no submodules)_ - [p256.select](./src/primitives/p256/p256.select/p256.select.md) — _(no submodules)_ - [p256.select](./src/primitives/p256/p256.select/p256.select.md) — _(no submodules)_ - [p256](./src/primitives/p256/p256.md) — _(no submodules)_- [p384](./src/primitives/p384/p384.md) — _(no submodules)_ - [p384.native](./src/primitives/p384/impl/p384.native/p384.native.md) — _(no submodules)_ - [p384.native](./src/primitives/p384/impl/p384.native/p384.native.md) — _(no submodules)_ - [p384.noble](./src/primitives/p384/impl/p384.noble/p384.noble.md) — _(no submodules)_ - [p384.noble](./src/primitives/p384/impl/p384.noble/p384.noble.md) — _(no submodules)_ - [p384.select](./src/primitives/p384/p384.select/p384.select.md) — _(no submodules)_ - [p384.select](./src/primitives/p384/p384.select/p384.select.md) — _(no submodules)_ - [p384](./src/primitives/p384/p384.md) — _(no submodules)_- [p521](./src/primitives/p521/p521.md) — _(no submodules)_ - [p521.native](./src/primitives/p521/impl/p521.native/p521.native.md) — _(no submodules)_ - [p521.native](./src/primitives/p521/impl/p521.native/p521.native.md) — _(no submodules)_ - [p521.noble](./src/primitives/p521/impl/p521.noble/p521.noble.md) — _(no submodules)_ - [p521.noble](./src/primitives/p521/impl/p521.noble/p521.noble.md) — _(no submodules)_ - [p521.select](./src/primitives/p521/p521.select/p521.select.md) — _(no submodules)_ - [p521.select](./src/primitives/p521/p521.select/p521.select.md) — _(no submodules)_ - [p521](./src/primitives/p521/p521.md) — _(no submodules)_- [secp256k1](./src/primitives/secp256k1/secp256k1.md) — _(no submodules)_ - [secp256k1.native](./src/primitives/secp256k1/impl/secp256k1.native/secp256k1.native.md) — _(no submodules)_ - [secp256k1.native](./src/primitives/secp256k1/impl/secp256k1.native/secp256k1.native.md) — _(no submodules)_ - [secp256k1.noble](./src/primitives/secp256k1/impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_ - [secp256k1.noble](./src/primitives/secp256k1/impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_ - [secp256k1.select](./src/primitives/secp256k1/secp256k1.select/secp256k1.select.md) — _(no submodules)_ - [secp256k1.select](./src/primitives/secp256k1/secp256k1.select/secp256k1.select.md) — _(no submodules)_ - [secp256k1](./src/primitives/secp256k1/secp256k1.md) — _(no submodules)_- [x25519](./src/primitives/x25519/x25519.md) — _(no submodules)_ - [x25519.native](./src/primitives/x25519/impl/x25519.native/x25519.native.md) — _(no submodules)_ - [x25519.native](./src/primitives/x25519/impl/x25519.native/x25519.native.md) — _(no submodules)_ - [x25519.noble](./src/primitives/x25519/impl/x25519.noble/x25519.noble.md) — _(no submodules)_ - [x25519.noble](./src/primitives/x25519/impl/x25519.noble/x25519.noble.md) — _(no submodules)_ - [x25519.select](./src/primitives/x25519/x25519.select/x25519.select.md) — _(no submodules)_ - [x25519.select](./src/primitives/x25519/x25519.select/x25519.select.md) — _(no submodules)_ - [x25519](./src/primitives/x25519/x25519.md) — _(no submodules)_ ## Primitives - `secp256k1` — ECDSA + ECDH on secp256k1 (Bitcoin/Ethereum curve). - `ed25519` — EdDSA on Edwards25519 (RFC 8032). - `x25519` — ECDH on Curve25519 / Montgomery form (RFC 7748). - `p256` — ECDSA + ECDH on NIST P-256 (FIPS 186-4). ## Subpath exports - `@suaveplan/crypto-curve/secp256k1` - `@suaveplan/crypto-curve/ed25519` - `@suaveplan/crypto-curve/x25519` - `@suaveplan/crypto-curve/p256` Implementation flavour (`'noble'` vs `'native'`) is selected at build time via the repo-root `crypto.config.ts`. All Phase 0 impls route to `@noble/curves`.