@noble/curves 2.0.1 → 2.2.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 +214 -122
- package/abstract/bls.d.ts +299 -16
- package/abstract/bls.d.ts.map +1 -1
- package/abstract/bls.js +82 -22
- package/abstract/bls.js.map +1 -1
- package/abstract/curve.d.ts +274 -27
- package/abstract/curve.d.ts.map +1 -1
- package/abstract/curve.js +177 -23
- package/abstract/curve.js.map +1 -1
- package/abstract/edwards.d.ts +166 -30
- package/abstract/edwards.d.ts.map +1 -1
- package/abstract/edwards.js +221 -86
- package/abstract/edwards.js.map +1 -1
- package/abstract/fft.d.ts +322 -10
- package/abstract/fft.d.ts.map +1 -1
- package/abstract/fft.js +154 -12
- package/abstract/fft.js.map +1 -1
- package/abstract/frost.d.ts +293 -0
- package/abstract/frost.d.ts.map +1 -0
- package/abstract/frost.js +704 -0
- package/abstract/frost.js.map +1 -0
- package/abstract/hash-to-curve.d.ts +173 -24
- package/abstract/hash-to-curve.d.ts.map +1 -1
- package/abstract/hash-to-curve.js +170 -31
- package/abstract/hash-to-curve.js.map +1 -1
- package/abstract/modular.d.ts +429 -37
- package/abstract/modular.d.ts.map +1 -1
- package/abstract/modular.js +414 -119
- package/abstract/modular.js.map +1 -1
- package/abstract/montgomery.d.ts +83 -12
- package/abstract/montgomery.d.ts.map +1 -1
- package/abstract/montgomery.js +32 -7
- package/abstract/montgomery.js.map +1 -1
- package/abstract/oprf.d.ts +164 -91
- package/abstract/oprf.d.ts.map +1 -1
- package/abstract/oprf.js +88 -29
- package/abstract/oprf.js.map +1 -1
- package/abstract/poseidon.d.ts +138 -7
- package/abstract/poseidon.d.ts.map +1 -1
- package/abstract/poseidon.js +178 -15
- package/abstract/poseidon.js.map +1 -1
- package/abstract/tower.d.ts +122 -3
- package/abstract/tower.d.ts.map +1 -1
- package/abstract/tower.js +323 -139
- package/abstract/tower.js.map +1 -1
- package/abstract/weierstrass.d.ts +339 -76
- package/abstract/weierstrass.d.ts.map +1 -1
- package/abstract/weierstrass.js +395 -205
- package/abstract/weierstrass.js.map +1 -1
- package/bls12-381.d.ts +16 -2
- package/bls12-381.d.ts.map +1 -1
- package/bls12-381.js +199 -209
- package/bls12-381.js.map +1 -1
- package/bn254.d.ts +11 -2
- package/bn254.d.ts.map +1 -1
- package/bn254.js +93 -38
- package/bn254.js.map +1 -1
- package/ed25519.d.ts +125 -14
- package/ed25519.d.ts.map +1 -1
- package/ed25519.js +202 -40
- package/ed25519.js.map +1 -1
- package/ed448.d.ts +108 -14
- package/ed448.d.ts.map +1 -1
- package/ed448.js +194 -42
- package/ed448.js.map +1 -1
- package/index.js +7 -1
- package/index.js.map +1 -1
- package/misc.d.ts +106 -7
- package/misc.d.ts.map +1 -1
- package/misc.js +141 -32
- package/misc.js.map +1 -1
- package/nist.d.ts +112 -11
- package/nist.d.ts.map +1 -1
- package/nist.js +139 -17
- package/nist.js.map +1 -1
- package/package.json +11 -6
- package/secp256k1.d.ts +92 -15
- package/secp256k1.d.ts.map +1 -1
- package/secp256k1.js +211 -28
- package/secp256k1.js.map +1 -1
- package/src/abstract/bls.ts +350 -67
- package/src/abstract/curve.ts +327 -44
- package/src/abstract/edwards.ts +367 -143
- package/src/abstract/fft.ts +369 -36
- package/src/abstract/frost.ts +1092 -0
- package/src/abstract/hash-to-curve.ts +255 -56
- package/src/abstract/modular.ts +591 -144
- package/src/abstract/montgomery.ts +114 -30
- package/src/abstract/oprf.ts +383 -194
- package/src/abstract/poseidon.ts +235 -35
- package/src/abstract/tower.ts +428 -159
- package/src/abstract/weierstrass.ts +710 -312
- package/src/bls12-381.ts +239 -236
- package/src/bn254.ts +107 -46
- package/src/ed25519.ts +227 -55
- package/src/ed448.ts +227 -57
- package/src/index.ts +7 -1
- package/src/misc.ts +154 -35
- package/src/nist.ts +143 -20
- package/src/secp256k1.ts +284 -41
- package/src/utils.ts +583 -81
- package/src/webcrypto.ts +302 -73
- package/utils.d.ts +457 -24
- package/utils.d.ts.map +1 -1
- package/utils.js +410 -53
- package/utils.js.map +1 -1
- package/webcrypto.d.ts +167 -25
- package/webcrypto.d.ts.map +1 -1
- package/webcrypto.js +165 -58
- package/webcrypto.js.map +1 -1
package/abstract/bls.js
CHANGED
|
@@ -15,14 +15,16 @@
|
|
|
15
15
|
* @module
|
|
16
16
|
**/
|
|
17
17
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
18
|
-
import { abytes,
|
|
19
|
-
import {
|
|
18
|
+
import { abytes, notImplemented, randomBytes } from "../utils.js";
|
|
19
|
+
import {} from "./curve.js";
|
|
20
20
|
import { createHasher, } from "./hash-to-curve.js";
|
|
21
21
|
import { getMinHashLength, mapHashToField } from "./modular.js";
|
|
22
22
|
import {} from "./weierstrass.js";
|
|
23
23
|
// prettier-ignore
|
|
24
24
|
const _0n = BigInt(0), _1n = BigInt(1), _2n = BigInt(2), _3n = BigInt(3);
|
|
25
|
-
//
|
|
25
|
+
// Signed non-adjacent decomposition of the spec-defined Miller-loop parameter.
|
|
26
|
+
// BN254 benefits most because `6x+2` has multiple adjacent `11` runs, but BLS12-381's
|
|
27
|
+
// stored `|x|` still starts with `11`, so the Miller loop must also handle one `-1` digit there.
|
|
26
28
|
function NAfDecomposition(a) {
|
|
27
29
|
const res = [];
|
|
28
30
|
// a>1 because of marker bit
|
|
@@ -39,6 +41,9 @@ function NAfDecomposition(a) {
|
|
|
39
41
|
return res;
|
|
40
42
|
}
|
|
41
43
|
function aNonEmpty(arr) {
|
|
44
|
+
// Aggregate helpers use this to reject empty variable-length inputs consistently.
|
|
45
|
+
// Without the guard, each caller would fall through into a different empty-input / identity
|
|
46
|
+
// case and hide missing inputs behind outputs that still look structurally valid.
|
|
42
47
|
if (!Array.isArray(arr) || arr.length === 0)
|
|
43
48
|
throw new Error('expected non-empty array');
|
|
44
49
|
}
|
|
@@ -70,7 +75,8 @@ function createBlsPairing(fields, G1, G2, params) {
|
|
|
70
75
|
const c2 = Fp2.neg(t4); // -T4 (-h)
|
|
71
76
|
ell.push([c0, c1, c2]);
|
|
72
77
|
Rx = Fp2.mul(Fp2.mul(Fp2.mul(Fp2.sub(t0, t3), Rx), Ry), Fp2div2); // ((T0 - T3) * Rx * Ry) / 2
|
|
73
|
-
|
|
78
|
+
// ((T0 + T3) / 2)² - 3 * T2²
|
|
79
|
+
Ry = Fp2.sub(Fp2.sqr(Fp2.mul(Fp2.add(t0, t3), Fp2div2)), Fp2.mul(Fp2.sqr(t2), _3n));
|
|
74
80
|
Rz = Fp2.mul(t0, t4); // T0 * T4
|
|
75
81
|
return { Rx, Ry, Rz };
|
|
76
82
|
}
|
|
@@ -85,7 +91,8 @@ function createBlsPairing(fields, G1, G2, params) {
|
|
|
85
91
|
const t2 = Fp2.sqr(t1); // T1²
|
|
86
92
|
const t3 = Fp2.mul(t2, t1); // T2 * T1
|
|
87
93
|
const t4 = Fp2.mul(t2, Rx); // T2 * Rx
|
|
88
|
-
|
|
94
|
+
// T3 - 2 * T4 + T0² * Rz
|
|
95
|
+
const t5 = Fp2.add(Fp2.sub(t3, Fp2.mul(t4, _2n)), Fp2.mul(Fp2.sqr(t0), Rz));
|
|
89
96
|
Rx = Fp2.mul(t1, t5); // T1 * T5
|
|
90
97
|
Ry = Fp2.sub(Fp2.mul(Fp2.sub(t4, t5), t0), Fp2.mul(t3, Ry)); // (T4 - T5) * T0 - T3 * Ry
|
|
91
98
|
Rz = Fp2.mul(Rz, t3); // Rz * T3
|
|
@@ -96,7 +103,7 @@ function createBlsPairing(fields, G1, G2, params) {
|
|
|
96
103
|
// pointAdd happens only if bit set, so wNAF is reasonable. Unfortunately we cannot combine
|
|
97
104
|
// add + double in windowed precomputes here, otherwise it would be single op (since X is static)
|
|
98
105
|
const ATE_NAF = NAfDecomposition(ateLoopSize);
|
|
99
|
-
const calcPairingPrecomputes =
|
|
106
|
+
const calcPairingPrecomputes = (point) => {
|
|
100
107
|
const p = point;
|
|
101
108
|
const { x, y } = p.toAffine();
|
|
102
109
|
// prettier-ignore
|
|
@@ -116,7 +123,7 @@ function createBlsPairing(fields, G1, G2, params) {
|
|
|
116
123
|
postPrecompute(Rx, Ry, Rz, Qx, Qy, pointAdd.bind(null, last));
|
|
117
124
|
}
|
|
118
125
|
return ell;
|
|
119
|
-
}
|
|
126
|
+
};
|
|
120
127
|
function millerLoopBatch(pairs, withFinalExponent = false) {
|
|
121
128
|
let f12 = Fp12.ONE;
|
|
122
129
|
if (pairs.length) {
|
|
@@ -138,10 +145,11 @@ function createBlsPairing(fields, G1, G2, params) {
|
|
|
138
145
|
// This up to x2 faster than just `map(({g1, g2})=>pairing({g1,g2}))`
|
|
139
146
|
function pairingBatch(pairs, withFinalExponent = true) {
|
|
140
147
|
const res = [];
|
|
141
|
-
// Cache precomputed toAffine for all points
|
|
142
|
-
normalizeZ(G1, pairs.map(({ g1 }) => g1));
|
|
143
|
-
normalizeZ(G2, pairs.map(({ g2 }) => g2));
|
|
144
148
|
for (const { g1, g2 } of pairs) {
|
|
149
|
+
// Mathematically, a zero pairing term contributes GT.ONE. We still reject it here because
|
|
150
|
+
// this API mainly backs BLS verification, where ZERO inputs usually mean broken hash /
|
|
151
|
+
// wiring. Silently skipping them would turn those failures into a neutral pairing product.
|
|
152
|
+
// Callers that want the algebraic neutral-element behavior can filter ZERO terms first.
|
|
145
153
|
if (g1.is0() || g2.is0())
|
|
146
154
|
throw new Error('pairing is not available for ZERO point');
|
|
147
155
|
// This uses toAffine inside
|
|
@@ -159,11 +167,15 @@ function createBlsPairing(fields, G1, G2, params) {
|
|
|
159
167
|
const lengths = {
|
|
160
168
|
seed: getMinHashLength(Fr.ORDER),
|
|
161
169
|
};
|
|
162
|
-
const rand = params.randomBytes
|
|
163
|
-
|
|
170
|
+
const rand = params.randomBytes === undefined ? randomBytes : params.randomBytes;
|
|
171
|
+
// Seeded calls deterministically reduce exactly `lengths.seed` bytes into `1..Fr.ORDER-1`;
|
|
172
|
+
// omitting `seed` just fills that input buffer from the configured RNG first.
|
|
173
|
+
const randomSecretKey = (seed) => {
|
|
174
|
+
seed = seed === undefined ? rand(lengths.seed) : seed;
|
|
164
175
|
abytes(seed, lengths.seed, 'seed');
|
|
165
176
|
return mapHashToField(seed, Fr.ORDER);
|
|
166
177
|
};
|
|
178
|
+
Object.freeze(lengths);
|
|
167
179
|
return {
|
|
168
180
|
lengths,
|
|
169
181
|
Fr,
|
|
@@ -191,6 +203,9 @@ function createBlsSig(blsPairing, PubPoint, SigPoint, isSigG1, hashToSigCurve, S
|
|
|
191
203
|
function normSig(point) {
|
|
192
204
|
return point instanceof SigPoint ? point : SigPoint.fromBytes(point);
|
|
193
205
|
}
|
|
206
|
+
// Sign/verify here take points already hashed onto the signature subgroup.
|
|
207
|
+
// Raw bytes and points from the other subgroup must fail this constructor-brand
|
|
208
|
+
// check before later validity checks run.
|
|
194
209
|
function amsg(m) {
|
|
195
210
|
if (!(m instanceof SigPoint))
|
|
196
211
|
throw new Error(`expected valid message hashed to ${!isSigG1 ? 'G2' : 'G1'} curve`);
|
|
@@ -201,7 +216,7 @@ function createBlsSig(blsPairing, PubPoint, SigPoint, isSigG1, hashToSigCurve, S
|
|
|
201
216
|
? (a, b) => ({ g1: a, g2: b })
|
|
202
217
|
: (a, b) => ({ g1: b, g2: a });
|
|
203
218
|
return Object.freeze({
|
|
204
|
-
lengths: { ...lengths, secretKey: Fr.BYTES },
|
|
219
|
+
lengths: Object.freeze({ ...lengths, secretKey: Fr.BYTES }),
|
|
205
220
|
keygen(seed) {
|
|
206
221
|
const secretKey = randomSecretKey(seed);
|
|
207
222
|
const publicKey = this.getPublicKey(secretKey);
|
|
@@ -308,10 +323,29 @@ function createBlsSig(blsPairing, PubPoint, SigPoint, isSigG1, hashToSigCurve, S
|
|
|
308
323
|
const opts = DST ? { DST } : undefined;
|
|
309
324
|
return hashToSigCurve(messageBytes, opts);
|
|
310
325
|
},
|
|
311
|
-
Signature: SignatureCoder,
|
|
326
|
+
Signature: Object.freeze({ ...SignatureCoder }),
|
|
312
327
|
}) /*satisfies Signer */;
|
|
313
328
|
}
|
|
314
329
|
// NOTE: separate function instead of function override, so we don't depend on hasher in bn254.
|
|
330
|
+
/**
|
|
331
|
+
* @param fields - Tower field implementations.
|
|
332
|
+
* @param G1_Point - G1 point constructor.
|
|
333
|
+
* @param G2_Point - G2 point constructor.
|
|
334
|
+
* @param params - Pairing parameters. See {@link BlsPairingParams}.
|
|
335
|
+
* @returns Pairing-only BLS helpers. The returned pairing surface rejects infinity inputs, while
|
|
336
|
+
* empty `pairingBatch(...)` calls return the multiplicative identity in GT. This keeps the
|
|
337
|
+
* low-level pairing API fail-closed for BLS-style callers, where identity points usually signal
|
|
338
|
+
* broken hash / wiring instead of an intentionally neutral pairing term. This also eagerly
|
|
339
|
+
* precomputes the G1 base-point table as a performance side effect.
|
|
340
|
+
* @throws If the pairing parameters or underlying curve helpers are inconsistent. {@link Error}
|
|
341
|
+
* @example
|
|
342
|
+
* ```ts
|
|
343
|
+
* import { blsBasic } from '@noble/curves/abstract/bls.js';
|
|
344
|
+
* import { bn254 } from '@noble/curves/bn254.js';
|
|
345
|
+
* // Pair a G1 point with a G2 point without the higher-level signer helpers.
|
|
346
|
+
* const gt = bn254.pairing(bn254.G1.Point.BASE, bn254.G2.Point.BASE);
|
|
347
|
+
* ```
|
|
348
|
+
*/
|
|
315
349
|
export function blsBasic(fields, G1_Point, G2_Point, params) {
|
|
316
350
|
// Fields are specific for curve, so for now we'll need to pass them with opts
|
|
317
351
|
const { Fp, Fr, Fp2, Fp6, Fp12 } = fields;
|
|
@@ -323,32 +357,35 @@ export function blsBasic(fields, G1_Point, G2_Point, params) {
|
|
|
323
357
|
const pairingRes = createBlsPairing(fields, G1_Point, G2_Point, params);
|
|
324
358
|
const { millerLoopBatch, pairing, pairingBatch, calcPairingPrecomputes, randomSecretKey, lengths, } = pairingRes;
|
|
325
359
|
G1.Point.BASE.precompute(4);
|
|
360
|
+
Object.freeze(G1);
|
|
361
|
+
Object.freeze(G2);
|
|
326
362
|
return Object.freeze({
|
|
327
|
-
lengths,
|
|
363
|
+
lengths: Object.freeze(lengths),
|
|
328
364
|
millerLoopBatch,
|
|
329
365
|
pairing,
|
|
330
366
|
pairingBatch,
|
|
331
367
|
G1,
|
|
332
368
|
G2,
|
|
333
|
-
fields: { Fr, Fp, Fp2, Fp6, Fp12 },
|
|
334
|
-
params: {
|
|
369
|
+
fields: Object.freeze({ Fr, Fp, Fp2, Fp6, Fp12 }),
|
|
370
|
+
params: Object.freeze({
|
|
335
371
|
ateLoopSize: params.ateLoopSize,
|
|
336
372
|
twistType: params.twistType,
|
|
337
|
-
},
|
|
338
|
-
utils: {
|
|
373
|
+
}),
|
|
374
|
+
utils: Object.freeze({
|
|
339
375
|
randomSecretKey,
|
|
340
376
|
calcPairingPrecomputes,
|
|
341
|
-
},
|
|
377
|
+
}),
|
|
342
378
|
});
|
|
343
379
|
}
|
|
344
380
|
// We can export this too, but seems there is not much reasons for now? If user wants hasher, they can just create hasher.
|
|
345
381
|
function blsHashers(fields, G1_Point, G2_Point, params, hasherParams) {
|
|
346
382
|
const base = blsBasic(fields, G1_Point, G2_Point, params);
|
|
347
|
-
|
|
383
|
+
// Missing map hooks intentionally fail closed via notImplemented on first hash use.
|
|
384
|
+
const G1Hasher = createHasher(G1_Point, hasherParams.mapToG1 === undefined ? notImplemented : hasherParams.mapToG1, {
|
|
348
385
|
...hasherParams.hasherOpts,
|
|
349
386
|
...hasherParams.hasherOptsG1,
|
|
350
387
|
});
|
|
351
|
-
const G2Hasher = createHasher(G2_Point, hasherParams.mapToG2
|
|
388
|
+
const G2Hasher = createHasher(G2_Point, hasherParams.mapToG2 === undefined ? notImplemented : hasherParams.mapToG2, {
|
|
352
389
|
...hasherParams.hasherOpts,
|
|
353
390
|
...hasherParams.hasherOptsG2,
|
|
354
391
|
});
|
|
@@ -356,6 +393,29 @@ function blsHashers(fields, G1_Point, G2_Point, params, hasherParams) {
|
|
|
356
393
|
}
|
|
357
394
|
// G1_Point: ProjConstructor<bigint>, G2_Point: ProjConstructor<Fp2>,
|
|
358
395
|
// Rename to blsSignatures?
|
|
396
|
+
/**
|
|
397
|
+
* @param fields - Tower field implementations.
|
|
398
|
+
* @param G1_Point - G1 point constructor.
|
|
399
|
+
* @param G2_Point - G2 point constructor.
|
|
400
|
+
* @param params - Pairing parameters. See {@link BlsPairingParams}.
|
|
401
|
+
* @param hasherParams - Hash-to-curve configuration. See {@link BlsHasherParams}.
|
|
402
|
+
* @param signatureCoders - Signature codecs.
|
|
403
|
+
* @returns BLS helpers with signers. The inherited pairing surface still rejects infinity inputs,
|
|
404
|
+
* and empty `pairingBatch(...)` calls still return the multiplicative identity in GT. Aggregate
|
|
405
|
+
* verification still requires proof of possession or another rogue-key defense from the caller.
|
|
406
|
+
* @throws If the pairing, hashing, or signature helpers are configured inconsistently. {@link Error}
|
|
407
|
+
* @example
|
|
408
|
+
* ```ts
|
|
409
|
+
* import { bls } from '@noble/curves/abstract/bls.js';
|
|
410
|
+
* import { bls12_381 } from '@noble/curves/bls12-381.js';
|
|
411
|
+
* const sigs = bls12_381.longSignatures;
|
|
412
|
+
* // Use the full BLS helper set when you need hashing, keygen, signing, and verification.
|
|
413
|
+
* const { secretKey, publicKey } = sigs.keygen();
|
|
414
|
+
* const msg = sigs.hash(new TextEncoder().encode('hello noble'));
|
|
415
|
+
* const sig = sigs.sign(msg, secretKey);
|
|
416
|
+
* const isValid = sigs.verify(sig, msg, publicKey);
|
|
417
|
+
* ```
|
|
418
|
+
*/
|
|
359
419
|
export function bls(fields, G1_Point, G2_Point, params, hasherParams, signatureCoders) {
|
|
360
420
|
const base = blsHashers(fields, G1_Point, G2_Point, params, hasherParams);
|
|
361
421
|
const pairingRes = {
|
package/abstract/bls.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bls.js","sourceRoot":"","sources":["../src/abstract/bls.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bls.js","sourceRoot":"","sources":["../src/abstract/bls.ts"],"names":[],"mappings":"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"}
|