From 458cddcc7faeee6fe939d744c07e54f3301be50e Mon Sep 17 00:00:00 2001 From: Paul Miller Date: Sat, 24 Dec 2022 13:04:06 +0000 Subject: [PATCH] README --- README.md | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 2eee066..b7c0ab8 100644 --- a/README.md +++ b/README.md @@ -2,22 +2,24 @@ Minimal, zero-dependency JS implementation of elliptic curve cryptography. -- Short Weierstrass curve with ECDSA signatures -- Twisted Edwards curve with EdDSA signatures -- Montgomery curve for ECDH key agreement +- Short Weierstrass, Edwards, Montgomery curves +- ECDSA, EdDSA, Schnorr, BLS signature schemes +- ECDH key agreement +- [hash to curve](https://datatracker.ietf.org/doc/draft-irtf-cfrg-hash-to-curve/) algorithms for encoding or hashing an arbitrary string to a point on an elliptic curve +- Auditable, [fast](#speed) +- 🔻 Helps JS bundlers with lack of entry point, ensures small size of your app +- 🔍 Unique tests ensure correctness. Wycheproof vectors included To keep the package minimal, no curve definitions are provided out-of-box. Use `micro-curve-definitions` module: -- It provides P192, P224, P256, P384, P521, secp256k1, stark curve, bn254, pasta (pallas/vesta) short weierstrass curves -- It also provides ed25519 and ed448 twisted edwards curves -- Main reason for separate package is the fact hashing library (like `@noble/hashes`) is required for full functionality +- It provides P192, P224, P256, P384, P521, secp256k1, stark, bn254, pasta (pallas/vesta), ed25519, ed448 & bls12-381 curves +- Main reason for separate package is the fact hashing library (like @noble/hashes) is required for full functionality - We may reconsider merging packages in future, when a stable version would be ready -Future plans: - -- hash to curve standard -- point indistinguishability -- pairings +The goal for the near future is to update previous packages +([secp256k1](https://github.com/paulmillr/noble-secp256k1), +[ed25519](https://github.com/paulmillr/noble-ed25519), +[bls12-381](https://github.com/paulmillr/noble-bls12-381)) with lean UMD builds based on noble-curves. This would improve compatibility & allow having one codebase for everything. ### This library belongs to _noble_ crypto @@ -28,11 +30,10 @@ Future plans: - Supported in all major browsers and stable node.js versions - All releases are signed with PGP keys - Check out [homepage](https://paulmillr.com/noble/) & all libraries: - [secp256k1](https://github.com/paulmillr/noble-secp256k1), + [curves](https://github.com/paulmillr/noble-curves) ([secp256k1](https://github.com/paulmillr/noble-secp256k1), [ed25519](https://github.com/paulmillr/noble-ed25519), - [bls12-381](https://github.com/paulmillr/noble-bls12-381), - [hashes](https://github.com/paulmillr/noble-hashes), - [curves](https://github.com/paulmillr/noble-curves) + [bls12-381](https://github.com/paulmillr/noble-bls12-381)), + [hashes](https://github.com/paulmillr/noble-hashes) ## Usage