@noble/curves 1.8.2 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -15
- package/abstract/bls.js +1 -1
- package/abstract/bls.js.map +1 -1
- package/abstract/curve.d.ts +1 -1
- package/abstract/curve.d.ts.map +1 -1
- package/abstract/edwards.d.ts.map +1 -1
- package/abstract/edwards.js +3 -2
- package/abstract/edwards.js.map +1 -1
- package/abstract/hash-to-curve.d.ts +10 -5
- package/abstract/hash-to-curve.d.ts.map +1 -1
- package/abstract/hash-to-curve.js +31 -23
- package/abstract/hash-to-curve.js.map +1 -1
- package/abstract/modular.d.ts +11 -8
- package/abstract/modular.d.ts.map +1 -1
- package/abstract/modular.js +70 -58
- package/abstract/modular.js.map +1 -1
- package/abstract/montgomery.d.ts.map +1 -1
- package/abstract/montgomery.js +2 -1
- package/abstract/montgomery.js.map +1 -1
- package/abstract/poseidon.d.ts +39 -2
- package/abstract/poseidon.d.ts.map +1 -1
- package/abstract/poseidon.js +183 -4
- package/abstract/poseidon.js.map +1 -1
- package/abstract/tower.d.ts.map +1 -1
- package/abstract/tower.js +3 -4
- package/abstract/tower.js.map +1 -1
- package/abstract/utils.d.ts +1 -0
- package/abstract/utils.d.ts.map +1 -1
- package/abstract/utils.js +2 -0
- package/abstract/utils.js.map +1 -1
- package/abstract/weierstrass.d.ts +4 -5
- package/abstract/weierstrass.d.ts.map +1 -1
- package/abstract/weierstrass.js +6 -6
- package/abstract/weierstrass.js.map +1 -1
- package/bn254.d.ts +1 -0
- package/bn254.d.ts.map +1 -1
- package/bn254.js +10 -0
- package/bn254.js.map +1 -1
- package/ed25519.d.ts +2 -1
- package/ed25519.d.ts.map +1 -1
- package/ed25519.js +6 -6
- package/ed25519.js.map +1 -1
- package/ed448.d.ts +2 -1
- package/ed448.d.ts.map +1 -1
- package/ed448.js +5 -5
- package/ed448.js.map +1 -1
- package/esm/abstract/bls.js +1 -1
- package/esm/abstract/bls.js.map +1 -1
- package/esm/abstract/curve.d.ts +1 -1
- package/esm/abstract/curve.d.ts.map +1 -1
- package/esm/abstract/edwards.d.ts.map +1 -1
- package/esm/abstract/edwards.js +5 -4
- package/esm/abstract/edwards.js.map +1 -1
- package/esm/abstract/hash-to-curve.d.ts +10 -5
- package/esm/abstract/hash-to-curve.d.ts.map +1 -1
- package/esm/abstract/hash-to-curve.js +32 -24
- package/esm/abstract/hash-to-curve.js.map +1 -1
- package/esm/abstract/modular.d.ts +11 -8
- package/esm/abstract/modular.d.ts.map +1 -1
- package/esm/abstract/modular.js +70 -58
- package/esm/abstract/modular.js.map +1 -1
- package/esm/abstract/montgomery.d.ts.map +1 -1
- package/esm/abstract/montgomery.js +3 -2
- package/esm/abstract/montgomery.js.map +1 -1
- package/esm/abstract/poseidon.d.ts +39 -2
- package/esm/abstract/poseidon.d.ts.map +1 -1
- package/esm/abstract/poseidon.js +180 -5
- package/esm/abstract/poseidon.js.map +1 -1
- package/esm/abstract/tower.d.ts.map +1 -1
- package/esm/abstract/tower.js +3 -4
- package/esm/abstract/tower.js.map +1 -1
- package/esm/abstract/utils.d.ts +1 -0
- package/esm/abstract/utils.d.ts.map +1 -1
- package/esm/abstract/utils.js +2 -0
- package/esm/abstract/utils.js.map +1 -1
- package/esm/abstract/weierstrass.d.ts +4 -5
- package/esm/abstract/weierstrass.d.ts.map +1 -1
- package/esm/abstract/weierstrass.js +8 -8
- package/esm/abstract/weierstrass.js.map +1 -1
- package/esm/bn254.d.ts +1 -0
- package/esm/bn254.d.ts.map +1 -1
- package/esm/bn254.js +10 -0
- package/esm/bn254.js.map +1 -1
- package/esm/ed25519.d.ts +2 -1
- package/esm/ed25519.d.ts.map +1 -1
- package/esm/ed25519.js +6 -6
- package/esm/ed25519.js.map +1 -1
- package/esm/ed448.d.ts +2 -1
- package/esm/ed448.d.ts.map +1 -1
- package/esm/ed448.js +5 -5
- package/esm/ed448.js.map +1 -1
- package/esm/jubjub.d.ts +7 -1
- package/esm/jubjub.d.ts.map +1 -1
- package/esm/jubjub.js +7 -1
- package/esm/jubjub.js.map +1 -1
- package/esm/misc.d.ts +8 -2
- package/esm/misc.d.ts.map +1 -1
- package/esm/misc.js +10 -4
- package/esm/misc.js.map +1 -1
- package/esm/nist.d.ts +29 -0
- package/esm/nist.d.ts.map +1 -0
- package/esm/nist.js +120 -0
- package/esm/nist.js.map +1 -0
- package/esm/p256.d.ts +7 -9
- package/esm/p256.d.ts.map +1 -1
- package/esm/p256.js +6 -44
- package/esm/p256.js.map +1 -1
- package/esm/p384.d.ts +9 -10
- package/esm/p384.d.ts.map +1 -1
- package/esm/p384.js +7 -46
- package/esm/p384.js.map +1 -1
- package/esm/p521.d.ts +7 -8
- package/esm/p521.d.ts.map +1 -1
- package/esm/p521.js +6 -46
- package/esm/p521.js.map +1 -1
- package/esm/pasta.d.ts +5 -1
- package/esm/pasta.d.ts.map +1 -1
- package/esm/pasta.js +5 -1
- package/esm/pasta.js.map +1 -1
- package/esm/secp256k1.d.ts +3 -3
- package/esm/secp256k1.d.ts.map +1 -1
- package/esm/secp256k1.js +5 -6
- package/esm/secp256k1.js.map +1 -1
- package/jubjub.d.ts +7 -1
- package/jubjub.d.ts.map +1 -1
- package/jubjub.js +8 -5
- package/jubjub.js.map +1 -1
- package/misc.d.ts +8 -2
- package/misc.d.ts.map +1 -1
- package/misc.js +11 -5
- package/misc.js.map +1 -1
- package/nist.d.ts +29 -0
- package/nist.d.ts.map +1 -0
- package/nist.js +123 -0
- package/nist.js.map +1 -0
- package/p256.d.ts +7 -9
- package/p256.d.ts.map +1 -1
- package/p256.js +5 -49
- package/p256.js.map +1 -1
- package/p384.d.ts +9 -10
- package/p384.d.ts.map +1 -1
- package/p384.js +6 -51
- package/p384.js.map +1 -1
- package/p521.d.ts +7 -8
- package/p521.d.ts.map +1 -1
- package/p521.js +5 -51
- package/p521.js.map +1 -1
- package/package.json +106 -6
- package/pasta.d.ts +5 -1
- package/pasta.d.ts.map +1 -1
- package/pasta.js +5 -3
- package/pasta.js.map +1 -1
- package/secp256k1.d.ts +3 -3
- package/secp256k1.d.ts.map +1 -1
- package/secp256k1.js +6 -7
- package/secp256k1.js.map +1 -1
- package/src/abstract/bls.ts +1 -1
- package/src/abstract/curve.ts +1 -1
- package/src/abstract/edwards.ts +11 -11
- package/src/abstract/hash-to-curve.ts +44 -36
- package/src/abstract/modular.ts +67 -58
- package/src/abstract/montgomery.ts +3 -2
- package/src/abstract/poseidon.ts +208 -13
- package/src/abstract/tower.ts +3 -4
- package/src/abstract/utils.ts +2 -0
- package/src/abstract/weierstrass.ts +19 -15
- package/src/bn254.ts +10 -0
- package/src/ed25519.ts +8 -7
- package/src/ed448.ts +7 -5
- package/src/jubjub.ts +8 -5
- package/src/misc.ts +10 -4
- package/src/nist.ts +154 -0
- package/src/p256.ts +6 -50
- package/src/p384.ts +8 -56
- package/src/p521.ts +6 -65
- package/src/pasta.ts +5 -1
- package/src/secp256k1.ts +9 -8
package/src/secp256k1.ts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
import { sha256 } from '@noble/hashes/sha2';
|
|
15
15
|
import { randomBytes } from '@noble/hashes/utils';
|
|
16
16
|
import { createCurve, type CurveFnWithCreate } from './_shortw_utils.ts';
|
|
17
|
-
import { createHasher, type HTFMethod, isogenyMap } from './abstract/hash-to-curve.ts';
|
|
17
|
+
import { createHasher, type Hasher, type HTFMethod, isogenyMap } from './abstract/hash-to-curve.ts';
|
|
18
18
|
import { Field, mod, pow2 } from './abstract/modular.ts';
|
|
19
19
|
import type { Hex, PrivKey } from './abstract/utils.ts';
|
|
20
20
|
import {
|
|
@@ -86,7 +86,7 @@ export const secp256k1: CurveFnWithCreate = createCurve(
|
|
|
86
86
|
n: secp256k1N,
|
|
87
87
|
Gx: BigInt('55066263022277343669578718895168534326250603453777594175500187360389116729240'),
|
|
88
88
|
Gy: BigInt('32670510020758816978083085130507043184471273380659243275938904335757337482424'),
|
|
89
|
-
h: BigInt(1),
|
|
89
|
+
h: BigInt(1),
|
|
90
90
|
lowS: true, // Allow only low-S signatures by default in sign() and verify()
|
|
91
91
|
endo: {
|
|
92
92
|
// Endomorphism, see above
|
|
@@ -307,7 +307,8 @@ const mapSWU = /* @__PURE__ */ (() =>
|
|
|
307
307
|
B: BigInt('1771'),
|
|
308
308
|
Z: Fpk1.create(BigInt('-11')),
|
|
309
309
|
}))();
|
|
310
|
-
|
|
310
|
+
/** Hashing / encoding to secp256k1 points / field. RFC 9380 methods. */
|
|
311
|
+
export const secp256k1_hasher: Hasher<bigint> = /* @__PURE__ */ (() =>
|
|
311
312
|
createHasher(
|
|
312
313
|
secp256k1.ProjectivePoint,
|
|
313
314
|
(scalars: bigint[]) => {
|
|
@@ -322,11 +323,11 @@ const htf = /* @__PURE__ */ (() =>
|
|
|
322
323
|
k: 128,
|
|
323
324
|
expand: 'xmd',
|
|
324
325
|
hash: sha256,
|
|
325
|
-
}
|
|
326
|
+
} as const
|
|
326
327
|
))();
|
|
327
328
|
|
|
328
|
-
|
|
329
|
-
|
|
329
|
+
export const hashToCurve: HTFMethod<bigint> = /* @__PURE__ */ (() =>
|
|
330
|
+
secp256k1_hasher.hashToCurve)();
|
|
330
331
|
|
|
331
|
-
|
|
332
|
-
|
|
332
|
+
export const encodeToCurve: HTFMethod<bigint> = /* @__PURE__ */ (() =>
|
|
333
|
+
secp256k1_hasher.encodeToCurve)();
|