Skip to content

Releases: paulmillr/noble-curves

1.4.0

14 Mar 06:35
1.4.0
a0e3984
Compare
Choose a tag to compare
  • 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: 1.3.0...1.4.0

1.3.0

11 Dec 23:25
1.3.0
4007ee9
Compare
Choose a tag to compare
  • BLS:
    • Add support for short signatures. Short sigs allow using G1 as sig and G2 as pubkeys, instead of wise-versa.
    • Contributed by @randombit in #74
    • Refactor mask-bit settings, improve encoding resiliency
  • ed25519, ed448: implement Group interface for DecafPoint and RistrettoPoint by @sublimator in #85
  • ed448: Fix x448 private keys, to be 56 bytes, not 57
  • weierstrass: fix weierstrassPoints missing CURVE object by @secure12 in #92
  • utils:
    • hexToBytes: speed-up 6x, improve error formatting by @arobsn in #83
    • isBytes: improve reliability in bad environments such as jsdom
    • concatBytes: improve safety by early-checking the type
    • equalBytes: make constant-time
  • Bump noble-hashes to 1.3.3
  • Bump typescript version used to build the package to 5.3.2

New Contributors

Full Changelog: 1.2.0...1.3.0

1.2.0

23 Aug 18:01
1.2.0
0d7756d
Compare
Choose a tag to compare
  • 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: 1.1.0...1.2.0

1.1.0

03 Jun 12:39
1.1.0
62e806c
Compare
Choose a tag to compare

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 #42
  • utils: harmonize with noble-hashes
  • utils: Fix utf8ToBytes in firefox extension context (bugzil.la/1681809)

New Contributors

Full Changelog: 1.0.0...1.1.0

1.0.0

12 Apr 02:42
1.0.0
d61c7ae
Compare
Choose a tag to compare

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: 0.9.1...1.0.0

0.9.1

31 Mar 13:41
0.9.1
19f04a4
Compare
Choose a tag to compare
  • Fix React Native like environments: remove bigint literals
  • weierstrass, edwards: make points expose typescript x, y
  • edwards: add toRawBytes to typescript type

Full Changelog: 0.9.0...0.9.1

0.9.0

24 Mar 11:13
0.9.0
0ffa38d
Compare
Choose a tag to compare
  • CURVE.P is now CURVE.p
  • abstract/modular: Fp is now Field
  • weierstrass: simplified weierstrassPoints initialization

Full Changelog: 0.8.3...0.9.0

0.8.3

16 Mar 19:35
0.8.3
1c6aa07
Compare
Choose a tag to compare

Update hashes and devDependencies

Full Changelog: 0.8.2...0.8.3

0.8.2

13 Mar 23:55
0.8.2
5784ef2
Compare
Choose a tag to compare
  • Common.js support has been brought back
  • Stark curve extracted into a separate package

Full Changelog: 0.8.1...0.8.2

0.8.1

13 Mar 23:54
0.8.1
1cfd6a7
Compare
Choose a tag to compare

Invalid release, re-published as 0.8.2

Full Changelog: 0.8.0...0.8.1