Files
skills/plugins/document-navigator/docs/security-stack/crypto/crypto-curve
admin 9bf56a806b Move docs/ package mirror into document-navigator plugin
Relocate the ~6k-file docs tree from the repo root into
plugins/document-navigator/docs/ so the plugin is self-contained and
portable. docs/superpowers/ (specs and plans) stays at the repo root.

Moved via cp+rm rather than git mv because directory rename() fails with
EPERM on this WSL /mnt DrvFs mount; git rename-detection pairs the
identical-content files at commit time.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 01:10:00 +01:00
..

@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)_- [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 — (no submodules)- ed25519.native — (no submodules)- ed25519.native — (no submodules)- ed25519.noble — (no submodules)- ed25519.noble — (no submodules)- ed25519 — (no submodules)- ed25519.select — <!-- begin:…
  • p256 — (no submodules)- p256.native — <!-- begin:aut…
  • p384 — (no submodules)- p384.native — <!-- begin:aut…
  • p521 — (no submodules)- p521.native — <!-- begin:aut…
  • secp256k1 — (no submodules)- secp256k1.native — <!-- begi…
  • x25519 — (no submodules)- x25519.native — <!-- begin:a…
  • codes — (no submodules)- crypto-curve-error — (no submodules)- crypto-curve-error — (no submodules)- ed25519 — (no submodules)- ed25519.select — _(no subm…
  • p256 — (no submodules)- p256.native — _(no submodu…
  • p384 — (no submodules)- p384.native — _(no submodu…
  • p521 — (no submodules)- p521.native — _(no submodu…
  • secp256k1 — (no submodules)- secp256k1.native — _(no su…
  • x25519 — (no submodules)- x25519.native — _(no submo…
  • codes — (no submodules)- crypto-curve-error — (no submodules) - crypto-curve-error — (no submodules)- ed25519 — (no submodules) - ed25519.select — (no submodules) - ed25519.select — (no submodules) - ed25519.native — (no submodules) - ed25519.native — (no submodules) - ed25519.noble — (no submodules) - ed25519.noble — (no submodules) - ed25519 — (no submodules)- p256 — (no submodules) - p256.native — (no submodules) - p256.native — (no submodules) - p256.noble — (no submodules) - p256.noble — (no submodules) - p256.select — (no submodules) - p256.select — (no submodules) - p256 — (no submodules)- p384 — (no submodules) - p384.native — (no submodules) - p384.native — (no submodules) - p384.noble — (no submodules) - p384.noble — (no submodules) - p384.select — (no submodules) - p384.select — (no submodules) - p384 — (no submodules)- p521 — (no submodules) - p521.native — (no submodules) - p521.native — (no submodules) - p521.noble — (no submodules) - p521.noble — (no submodules) - p521.select — (no submodules) - p521.select — (no submodules) - p521 — (no submodules)- secp256k1 — (no submodules) - secp256k1.native — (no submodules) - secp256k1.native — (no submodules) - secp256k1.noble — (no submodules) - secp256k1.noble — (no submodules) - secp256k1.select — (no submodules) - secp256k1.select — (no submodules) - secp256k1 — (no submodules)- x25519 — (no submodules) - x25519.native — (no submodules) - x25519.native — (no submodules) - x25519.noble — (no submodules) - x25519.noble — (no submodules) - x25519.select — (no submodules) - x25519.select — (no submodules) - x25519 — (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.