Noble Curves Versions Save

Audited & minimal JS implementation of elliptic curve cryptography.

1.4.0

2 months ago
  • Fix verification of BLS short signatures when using hex
  • Fix types in hash-to-field and weierstrass Entropy
  • Update noble-hashes to v1.4, adding support for Big-Endian platforms
  • Small utilities refactor to reduce code duplication
  • tsconfig improvements

New Contributors

Full Changelog: https://github.com/paulmillr/noble-curves/compare/1.3.0...1.4.0

1.3.0

5 months ago

New Contributors

Full Changelog: https://github.com/paulmillr/noble-curves/compare/1.2.0...1.3.0

1.2.0

8 months ago
  • ed448: add decaf448 support
  • weierstrass: improve security of random private keys by decreasing bias from 2^-64 to 2^-curve_security_level
  • weierstrass: allow extraEntropy to take any amount of bytes
  • poseidon: improve security, make sboxPower mandatory and prohibit values other than 3, 5, 7; prohibit odd roundsFull
  • hash-to-curve: allow string and Uint8Array DSTs
  • tree-shaking improvements: add sideEffects: false to package.json, add pure annotations to ed25519
  • update noble-hashes to 1.3.2

New Contributors

Full Changelog: https://github.com/paulmillr/noble-curves/compare/1.1.0...1.2.0

1.1.0

11 months ago

What's Changed

  • ed25519 and ed448 verify now provide non-repudiation (Strongly Binding Signatures) when option zip215: false is used
  • Reduce common-case bundle size by 20% by using PURE annotation. It helps bundlers during tree-shaking and eliminates dead code.
    • secp256k1: 75.4kb => 62.3kb
    • ed25519: 67.5kb => 51.1kb
    • ed448: 55.1kb => 44.0kb
    • p256: 67.8kb => 59.8kb
    • p384: 75.4kb => 67.4kb
    • p521: 75.8kb => 67.8kb
  • weierstrass: sign return type was changed from SignatureType to RecoveredSignatureType
  • edwards: rename edwardsToMontgomery to edwardsToMontgomeryPub, add edwardsToMontgomeryPriv
  • bls12-381: improve friendliness to bad compilers by not using bigint literals
  • Improve friendliness to bad compilers by not using exponentiation operator with bigints
  • ed25519: fix ristrettoHash size typo in hashToCurve by @sublimator in https://github.com/paulmillr/noble-curves/pull/42
  • utils: harmonize with noble-hashes
  • utils: Fix utf8ToBytes in firefox extension context (bugzil.la/1681809)

New Contributors

Full Changelog: https://github.com/paulmillr/noble-curves/compare/1.0.0...1.1.0

1.0.0

1 year ago

First stable release. API should remain stable now.

ed25519, ed448: changed API

  • context is now an option in sign and verify
  • zip215 is a new verify option that allows to conform to RFC8032 when false. For true it will instead match ZIP215.
  • Added edwardsToMontgomery function

bls12-381: changed API

  • CURVE is no longer exposed, it was an internal property. Use G1.CURVE, G2.CURVE
  • Fields have been moved into fields: {Fp, Fp2, Fp6, Fp12, Fr} property
  • See README for new usage

weierstrass: improved DER decoding. Validate curve creation Updated Wycheproof vectors to v0.9 hash-to-curve: restrict expand to xmd and xof

Full Changelog: https://github.com/paulmillr/noble-curves/compare/0.9.1...1.0.0

0.9.1

1 year ago
  • Fix React Native like environments: remove bigint literals
  • weierstrass, edwards: make points expose typescript x, y
  • edwards: add toRawBytes to typescript type

Full Changelog: https://github.com/paulmillr/noble-curves/compare/0.9.0...0.9.1

0.9.0

1 year ago
  • CURVE.P is now CURVE.p
  • abstract/modular: Fp is now Field
  • weierstrass: simplified weierstrassPoints initialization

Full Changelog: https://github.com/paulmillr/noble-curves/compare/0.8.3...0.9.0

0.8.3

1 year ago

Update hashes and devDependencies

Full Changelog: https://github.com/paulmillr/noble-curves/compare/0.8.2...0.8.3

0.8.2

1 year ago
  • Common.js support has been brought back
  • Stark curve extracted into a separate package

Full Changelog: https://github.com/paulmillr/noble-curves/compare/0.8.1...0.8.2

0.8.1

1 year ago

Invalid release, re-published as 0.8.2

Full Changelog: https://github.com/paulmillr/noble-curves/compare/0.8.0...0.8.1