@noble/curves 1.8.2 → 1.9.1
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 +49 -24
- 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/curve.js +13 -4
- package/abstract/curve.js.map +1 -1
- package/abstract/edwards.d.ts.map +1 -1
- package/abstract/edwards.js +17 -3
- package/abstract/edwards.js.map +1 -1
- package/abstract/fft.d.ts +120 -0
- package/abstract/fft.d.ts.map +1 -0
- package/abstract/fft.js +439 -0
- package/abstract/fft.js.map +1 -0
- 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 +13 -12
- package/abstract/modular.d.ts.map +1 -1
- package/abstract/modular.js +158 -158
- package/abstract/modular.js.map +1 -1
- package/abstract/montgomery.d.ts +4 -9
- package/abstract/montgomery.d.ts.map +1 -1
- package/abstract/montgomery.js +70 -90
- 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 +4 -5
- 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 +31 -9
- package/abstract/weierstrass.d.ts.map +1 -1
- package/abstract/weierstrass.js +67 -48
- package/abstract/weierstrass.js.map +1 -1
- package/bls12-381.d.ts.map +1 -1
- package/bls12-381.js +9 -23
- package/bls12-381.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 +19 -5
- package/ed25519.d.ts.map +1 -1
- package/ed25519.js +29 -18
- package/ed25519.js.map +1 -1
- package/ed448.d.ts +21 -5
- package/ed448.d.ts.map +1 -1
- package/ed448.js +46 -34
- 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/curve.js +13 -4
- package/esm/abstract/curve.js.map +1 -1
- package/esm/abstract/edwards.d.ts.map +1 -1
- package/esm/abstract/edwards.js +19 -5
- package/esm/abstract/edwards.js.map +1 -1
- package/esm/abstract/fft.d.ts +120 -0
- package/esm/abstract/fft.d.ts.map +1 -0
- package/esm/abstract/fft.js +426 -0
- package/esm/abstract/fft.js.map +1 -0
- 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 +13 -12
- package/esm/abstract/modular.d.ts.map +1 -1
- package/esm/abstract/modular.js +158 -158
- package/esm/abstract/modular.js.map +1 -1
- package/esm/abstract/montgomery.d.ts +4 -9
- package/esm/abstract/montgomery.d.ts.map +1 -1
- package/esm/abstract/montgomery.js +71 -91
- 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 +4 -5
- 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 +31 -9
- package/esm/abstract/weierstrass.d.ts.map +1 -1
- package/esm/abstract/weierstrass.js +69 -50
- package/esm/abstract/weierstrass.js.map +1 -1
- package/esm/bls12-381.d.ts.map +1 -1
- package/esm/bls12-381.js +9 -23
- package/esm/bls12-381.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 +19 -5
- package/esm/ed25519.d.ts.map +1 -1
- package/esm/ed25519.js +29 -18
- package/esm/ed25519.js.map +1 -1
- package/esm/ed448.d.ts +21 -5
- package/esm/ed448.d.ts.map +1 -1
- package/esm/ed448.js +47 -35
- package/esm/ed448.js.map +1 -1
- package/esm/jubjub.d.ts +11 -1
- package/esm/jubjub.d.ts.map +1 -1
- package/esm/jubjub.js +11 -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 +30 -0
- package/esm/nist.d.ts.map +1 -0
- package/esm/nist.js +121 -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 +9 -1
- package/esm/pasta.d.ts.map +1 -1
- package/esm/pasta.js +9 -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 +8 -9
- package/esm/secp256k1.js.map +1 -1
- package/jubjub.d.ts +11 -1
- package/jubjub.d.ts.map +1 -1
- package/jubjub.js +12 -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 +30 -0
- package/nist.d.ts.map +1 -0
- package/nist.js +124 -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 +117 -8
- package/pasta.d.ts +9 -1
- package/pasta.d.ts.map +1 -1
- package/pasta.js +9 -3
- package/pasta.js.map +1 -1
- package/secp256k1.d.ts +3 -3
- package/secp256k1.d.ts.map +1 -1
- package/secp256k1.js +9 -10
- package/secp256k1.js.map +1 -1
- package/src/abstract/bls.ts +1 -1
- package/src/abstract/curve.ts +11 -6
- package/src/abstract/edwards.ts +26 -12
- package/src/abstract/fft.ts +508 -0
- package/src/abstract/hash-to-curve.ts +44 -36
- package/src/abstract/modular.ts +154 -153
- package/src/abstract/montgomery.ts +78 -109
- package/src/abstract/poseidon.ts +208 -13
- package/src/abstract/tower.ts +4 -5
- package/src/abstract/utils.ts +2 -0
- package/src/abstract/weierstrass.ts +109 -61
- package/src/bls12-381.ts +11 -27
- package/src/bn254.ts +10 -0
- package/src/ed25519.ts +32 -19
- package/src/ed448.ts +91 -75
- package/src/jubjub.ts +12 -5
- package/src/misc.ts +10 -4
- package/src/nist.ts +155 -0
- package/src/p256.ts +6 -50
- package/src/p384.ts +8 -56
- package/src/p521.ts +6 -65
- package/src/pasta.ts +9 -1
- package/src/secp256k1.ts +12 -11
package/nist.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nist.d.ts","sourceRoot":"","sources":["src/nist.ts"],"names":[],"mappings":"AAOA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAQxE;;;GAGG;AAEH,eAAO,MAAM,IAAI,EAAE,iBASA,CAAC;AACpB,qBAAqB;AACrB,eAAO,MAAM,SAAS,EAAE,iBAAwB,CAAC;AASjD,mEAAmE;AACnE,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,CAShC,CAAC;AAYR;;;KAGK;AAEL,eAAO,MAAM,IAAI,EAAE,iBASA,CAAC;AACpB,qBAAqB;AACrB,eAAO,MAAM,SAAS,EAAE,iBAAwB,CAAC;AASjD,mEAAmE;AACnE,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,CAShC,CAAC;AAcR;;;GAGG;AAEH,eAAO,MAAM,IAAI,EAAE,iBAgBA,CAAC;AACpB,qBAAqB;AACrB,eAAO,MAAM,SAAS,EAAE,iBAAwB,CAAC;AASjD,mEAAmE;AACnE,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,CAShC,CAAC"}
|
package/nist.js
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.p521_hasher = exports.secp521r1 = exports.p521 = exports.p384_hasher = exports.secp384r1 = exports.p384 = exports.p256_hasher = exports.secp256r1 = exports.p256 = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Internal module for NIST P256, P384, P521 curves.
|
|
6
|
+
* Do not use for now.
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
10
|
+
const sha2_1 = require("@noble/hashes/sha2");
|
|
11
|
+
const _shortw_utils_ts_1 = require("./_shortw_utils.js");
|
|
12
|
+
const hash_to_curve_ts_1 = require("./abstract/hash-to-curve.js");
|
|
13
|
+
const modular_ts_1 = require("./abstract/modular.js");
|
|
14
|
+
const weierstrass_ts_1 = require("./abstract/weierstrass.js");
|
|
15
|
+
const Fp256 = (0, modular_ts_1.Field)(BigInt('0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff'));
|
|
16
|
+
const p256_a = Fp256.create(BigInt('-3'));
|
|
17
|
+
const p256_b = BigInt('0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b');
|
|
18
|
+
/**
|
|
19
|
+
* secp256r1 curve, ECDSA and ECDH methods.
|
|
20
|
+
* Field: `2n**224n * (2n**32n-1n) + 2n**192n + 2n**96n-1n`
|
|
21
|
+
*/
|
|
22
|
+
// prettier-ignore
|
|
23
|
+
exports.p256 = (0, _shortw_utils_ts_1.createCurve)({
|
|
24
|
+
a: p256_a,
|
|
25
|
+
b: p256_b,
|
|
26
|
+
Fp: Fp256,
|
|
27
|
+
n: BigInt('0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551'),
|
|
28
|
+
Gx: BigInt('0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296'),
|
|
29
|
+
Gy: BigInt('0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5'),
|
|
30
|
+
h: BigInt(1),
|
|
31
|
+
lowS: false
|
|
32
|
+
}, sha2_1.sha256);
|
|
33
|
+
/** Alias to p256. */
|
|
34
|
+
exports.secp256r1 = exports.p256;
|
|
35
|
+
const p256_mapSWU = /* @__PURE__ */ (() => (0, weierstrass_ts_1.mapToCurveSimpleSWU)(Fp256, {
|
|
36
|
+
A: p256_a,
|
|
37
|
+
B: p256_b,
|
|
38
|
+
Z: Fp256.create(BigInt('-10')),
|
|
39
|
+
}))();
|
|
40
|
+
/** Hashing / encoding to p256 points / field. RFC 9380 methods. */
|
|
41
|
+
exports.p256_hasher = (() => (0, hash_to_curve_ts_1.createHasher)(exports.secp256r1.ProjectivePoint, (scalars) => p256_mapSWU(scalars[0]), {
|
|
42
|
+
DST: 'P256_XMD:SHA-256_SSWU_RO_',
|
|
43
|
+
encodeDST: 'P256_XMD:SHA-256_SSWU_NU_',
|
|
44
|
+
p: Fp256.ORDER,
|
|
45
|
+
m: 1,
|
|
46
|
+
k: 128,
|
|
47
|
+
expand: 'xmd',
|
|
48
|
+
hash: sha2_1.sha256,
|
|
49
|
+
}))();
|
|
50
|
+
// Field over which we'll do calculations.
|
|
51
|
+
const Fp384 = (0, modular_ts_1.Field)(BigInt('0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff'));
|
|
52
|
+
const p384_a = Fp384.create(BigInt('-3'));
|
|
53
|
+
// prettier-ignore
|
|
54
|
+
const p384_b = BigInt('0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef');
|
|
55
|
+
/**
|
|
56
|
+
* secp384r1 curve, ECDSA and ECDH methods.
|
|
57
|
+
* Field: `2n**384n - 2n**128n - 2n**96n + 2n**32n - 1n`.
|
|
58
|
+
* */
|
|
59
|
+
// prettier-ignore
|
|
60
|
+
exports.p384 = (0, _shortw_utils_ts_1.createCurve)({
|
|
61
|
+
a: p384_a,
|
|
62
|
+
b: p384_b,
|
|
63
|
+
Fp: Fp384,
|
|
64
|
+
n: BigInt('0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973'),
|
|
65
|
+
Gx: BigInt('0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7'),
|
|
66
|
+
Gy: BigInt('0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f'),
|
|
67
|
+
h: BigInt(1),
|
|
68
|
+
lowS: false
|
|
69
|
+
}, sha2_1.sha384);
|
|
70
|
+
/** Alias to p384. */
|
|
71
|
+
exports.secp384r1 = exports.p384;
|
|
72
|
+
const p384_mapSWU = /* @__PURE__ */ (() => (0, weierstrass_ts_1.mapToCurveSimpleSWU)(Fp384, {
|
|
73
|
+
A: p384_a,
|
|
74
|
+
B: p384_b,
|
|
75
|
+
Z: Fp384.create(BigInt('-12')),
|
|
76
|
+
}))();
|
|
77
|
+
/** Hashing / encoding to p384 points / field. RFC 9380 methods. */
|
|
78
|
+
exports.p384_hasher = (() => (0, hash_to_curve_ts_1.createHasher)(exports.secp384r1.ProjectivePoint, (scalars) => p384_mapSWU(scalars[0]), {
|
|
79
|
+
DST: 'P384_XMD:SHA-384_SSWU_RO_',
|
|
80
|
+
encodeDST: 'P384_XMD:SHA-384_SSWU_NU_',
|
|
81
|
+
p: Fp384.ORDER,
|
|
82
|
+
m: 1,
|
|
83
|
+
k: 192,
|
|
84
|
+
expand: 'xmd',
|
|
85
|
+
hash: sha2_1.sha384,
|
|
86
|
+
}))();
|
|
87
|
+
// Field over which we'll do calculations.
|
|
88
|
+
const Fp521 = (0, modular_ts_1.Field)(BigInt('0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'));
|
|
89
|
+
const p521_a = Fp521.create(BigInt('-3'));
|
|
90
|
+
const p521_b = BigInt('0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00');
|
|
91
|
+
/**
|
|
92
|
+
* NIST secp521r1 aka p521 curve, ECDSA and ECDH methods.
|
|
93
|
+
* Field: `2n**521n - 1n`.
|
|
94
|
+
*/
|
|
95
|
+
// prettier-ignore
|
|
96
|
+
exports.p521 = (0, _shortw_utils_ts_1.createCurve)({
|
|
97
|
+
a: p521_a,
|
|
98
|
+
b: p521_b,
|
|
99
|
+
Fp: Fp521,
|
|
100
|
+
n: BigInt('0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409'),
|
|
101
|
+
Gx: BigInt('0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66'),
|
|
102
|
+
Gy: BigInt('0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650'),
|
|
103
|
+
h: BigInt(1),
|
|
104
|
+
lowS: false,
|
|
105
|
+
allowedPrivateKeyLengths: [130, 131, 132] // P521 keys are variable-length. Normalize to 132b
|
|
106
|
+
}, sha2_1.sha512);
|
|
107
|
+
/** Alias to p521. */
|
|
108
|
+
exports.secp521r1 = exports.p521;
|
|
109
|
+
const p521_mapSWU = /* @__PURE__ */ (() => (0, weierstrass_ts_1.mapToCurveSimpleSWU)(Fp521, {
|
|
110
|
+
A: p521_a,
|
|
111
|
+
B: p521_b,
|
|
112
|
+
Z: Fp521.create(BigInt('-4')),
|
|
113
|
+
}))();
|
|
114
|
+
/** Hashing / encoding to p521 points / field. RFC 9380 methods. */
|
|
115
|
+
exports.p521_hasher = (() => (0, hash_to_curve_ts_1.createHasher)(exports.secp521r1.ProjectivePoint, (scalars) => p521_mapSWU(scalars[0]), {
|
|
116
|
+
DST: 'P521_XMD:SHA-512_SSWU_RO_',
|
|
117
|
+
encodeDST: 'P521_XMD:SHA-512_SSWU_NU_',
|
|
118
|
+
p: Fp521.ORDER,
|
|
119
|
+
m: 1,
|
|
120
|
+
k: 256,
|
|
121
|
+
expand: 'xmd',
|
|
122
|
+
hash: sha2_1.sha512,
|
|
123
|
+
}))();
|
|
124
|
+
//# sourceMappingURL=nist.js.map
|
package/nist.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nist.js","sourceRoot":"","sources":["src/nist.ts"],"names":[],"mappings":"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"}
|
package/p256.d.ts
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import { type CurveFnWithCreate } from './_shortw_utils.ts';
|
|
2
|
-
import { type HTFMethod } from './abstract/hash-to-curve.ts';
|
|
3
1
|
/**
|
|
4
|
-
* secp256r1
|
|
5
|
-
*
|
|
2
|
+
* NIST secp256r1 aka p256.
|
|
3
|
+
* @module
|
|
6
4
|
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
6
|
+
import { type HTFMethod } from './abstract/hash-to-curve.ts';
|
|
7
|
+
import { p256 as p256n } from './nist.ts';
|
|
8
|
+
export declare const p256: typeof p256n;
|
|
9
|
+
export declare const secp256r1: typeof p256n;
|
|
11
10
|
export declare const hashToCurve: HTFMethod<bigint>;
|
|
12
|
-
/** secp256r1 encode-to-curve from RFC 9380. */
|
|
13
11
|
export declare const encodeToCurve: HTFMethod<bigint>;
|
|
14
12
|
//# sourceMappingURL=p256.d.ts.map
|
package/p256.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p256.d.ts","sourceRoot":"","sources":["src/p256.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"p256.d.ts","sourceRoot":"","sources":["src/p256.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sEAAsE;AACtE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAe,IAAI,IAAI,KAAK,EAAE,MAAM,WAAW,CAAC;AACvD,eAAO,MAAM,IAAI,EAAE,OAAO,KAAa,CAAC;AACxC,eAAO,MAAM,SAAS,EAAE,OAAO,KAAa,CAAC;AAC7C,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAAqD,CAAC;AAChG,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,MAAM,CAAuD,CAAC"}
|
package/p256.js
CHANGED
|
@@ -1,53 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.encodeToCurve = exports.hashToCurve = exports.secp256r1 = exports.p256 = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
10
|
-
const sha2_1 = require("@noble/hashes/sha2");
|
|
11
|
-
const _shortw_utils_ts_1 = require("./_shortw_utils.js");
|
|
12
|
-
const hash_to_curve_ts_1 = require("./abstract/hash-to-curve.js");
|
|
13
|
-
const modular_ts_1 = require("./abstract/modular.js");
|
|
14
|
-
const weierstrass_ts_1 = require("./abstract/weierstrass.js");
|
|
15
|
-
const Fp256 = (0, modular_ts_1.Field)(BigInt('0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff'));
|
|
16
|
-
const CURVE_A = Fp256.create(BigInt('-3'));
|
|
17
|
-
const CURVE_B = BigInt('0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b');
|
|
18
|
-
/**
|
|
19
|
-
* secp256r1 curve, ECDSA and ECDH methods.
|
|
20
|
-
* Field: `2n**224n * (2n**32n-1n) + 2n**192n + 2n**96n-1n`
|
|
21
|
-
*/
|
|
22
|
-
// prettier-ignore
|
|
23
|
-
exports.p256 = (0, _shortw_utils_ts_1.createCurve)({
|
|
24
|
-
a: CURVE_A,
|
|
25
|
-
b: CURVE_B,
|
|
26
|
-
Fp: Fp256,
|
|
27
|
-
n: BigInt('0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551'),
|
|
28
|
-
Gx: BigInt('0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296'),
|
|
29
|
-
Gy: BigInt('0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5'),
|
|
30
|
-
h: BigInt(1),
|
|
31
|
-
lowS: false,
|
|
32
|
-
}, sha2_1.sha256);
|
|
33
|
-
/** Alias to p256. */
|
|
34
|
-
exports.secp256r1 = exports.p256;
|
|
35
|
-
const mapSWU = /* @__PURE__ */ (() => (0, weierstrass_ts_1.mapToCurveSimpleSWU)(Fp256, {
|
|
36
|
-
A: CURVE_A,
|
|
37
|
-
B: CURVE_B,
|
|
38
|
-
Z: Fp256.create(BigInt('-10')),
|
|
39
|
-
}))();
|
|
40
|
-
const htf = /* @__PURE__ */ (() => (0, hash_to_curve_ts_1.createHasher)(exports.secp256r1.ProjectivePoint, (scalars) => mapSWU(scalars[0]), {
|
|
41
|
-
DST: 'P256_XMD:SHA-256_SSWU_RO_',
|
|
42
|
-
encodeDST: 'P256_XMD:SHA-256_SSWU_NU_',
|
|
43
|
-
p: Fp256.ORDER,
|
|
44
|
-
m: 1,
|
|
45
|
-
k: 128,
|
|
46
|
-
expand: 'xmd',
|
|
47
|
-
hash: sha2_1.sha256,
|
|
48
|
-
}))();
|
|
49
|
-
/** secp256r1 hash-to-curve from RFC 9380. */
|
|
50
|
-
exports.hashToCurve = (() => htf.hashToCurve)();
|
|
51
|
-
/** secp256r1 encode-to-curve from RFC 9380. */
|
|
52
|
-
exports.encodeToCurve = (() => htf.encodeToCurve)();
|
|
4
|
+
const nist_ts_1 = require("./nist.js");
|
|
5
|
+
exports.p256 = nist_ts_1.p256;
|
|
6
|
+
exports.secp256r1 = nist_ts_1.p256;
|
|
7
|
+
exports.hashToCurve = (() => nist_ts_1.p256_hasher.hashToCurve)();
|
|
8
|
+
exports.encodeToCurve = (() => nist_ts_1.p256_hasher.encodeToCurve)();
|
|
53
9
|
//# sourceMappingURL=p256.js.map
|
package/p256.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p256.js","sourceRoot":"","sources":["src/p256.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"p256.js","sourceRoot":"","sources":["src/p256.ts"],"names":[],"mappings":";;;AAMA,uCAAuD;AAC1C,QAAA,IAAI,GAAiB,cAAK,CAAC;AAC3B,QAAA,SAAS,GAAiB,cAAK,CAAC;AAChC,QAAA,WAAW,GAAsC,CAAC,GAAG,EAAE,CAAC,qBAAW,CAAC,WAAW,CAAC,EAAE,CAAC;AACnF,QAAA,aAAa,GAAsC,CAAC,GAAG,EAAE,CAAC,qBAAW,CAAC,aAAa,CAAC,EAAE,CAAC"}
|
package/p384.d.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { type CurveFnWithCreate } from './_shortw_utils.ts';
|
|
2
|
-
import { type HTFMethod } from './abstract/hash-to-curve.ts';
|
|
3
1
|
/**
|
|
4
|
-
* secp384r1
|
|
5
|
-
*
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
* NIST secp384r1 aka p384.
|
|
3
|
+
* @module
|
|
4
|
+
*/
|
|
5
|
+
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
6
|
+
import { type HTFMethod } from './abstract/hash-to-curve.ts';
|
|
7
|
+
import { p384 as p384n } from './nist.ts';
|
|
8
|
+
export declare const p384: typeof p384n;
|
|
9
|
+
export declare const secp384r1: typeof p384n;
|
|
11
10
|
export declare const hashToCurve: HTFMethod<bigint>;
|
|
12
|
-
/** secp384r1 encode-to-curve from RFC 9380. */
|
|
13
11
|
export declare const encodeToCurve: HTFMethod<bigint>;
|
|
12
|
+
/** @deprecated Use `import { p384_hasher } from "@noble/curves/nist"` module. */
|
|
14
13
|
//# sourceMappingURL=p384.d.ts.map
|
package/p384.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p384.d.ts","sourceRoot":"","sources":["src/p384.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"p384.d.ts","sourceRoot":"","sources":["src/p384.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sEAAsE;AACtE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAe,IAAI,IAAI,KAAK,EAAE,MAAM,WAAW,CAAC;AACvD,eAAO,MAAM,IAAI,EAAE,OAAO,KAAa,CAAC;AACxC,eAAO,MAAM,SAAS,EAAE,OAAO,KAAa,CAAC;AAC7C,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAAqD,CAAC;AAChG,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,MAAM,CAAuD,CAAC;AAEpG,iFAAiF"}
|
package/p384.js
CHANGED
|
@@ -1,55 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.encodeToCurve = exports.hashToCurve = exports.secp384r1 = exports.p384 = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const sha2_1 = require("@noble/hashes/sha2");
|
|
11
|
-
const _shortw_utils_ts_1 = require("./_shortw_utils.js");
|
|
12
|
-
const hash_to_curve_ts_1 = require("./abstract/hash-to-curve.js");
|
|
13
|
-
const modular_ts_1 = require("./abstract/modular.js");
|
|
14
|
-
const weierstrass_ts_1 = require("./abstract/weierstrass.js");
|
|
15
|
-
// Field over which we'll do calculations.
|
|
16
|
-
const Fp384 = (0, modular_ts_1.Field)(BigInt('0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff'));
|
|
17
|
-
const CURVE_A = Fp384.create(BigInt('-3'));
|
|
18
|
-
// prettier-ignore
|
|
19
|
-
const CURVE_B = BigInt('0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef');
|
|
20
|
-
/**
|
|
21
|
-
* secp384r1 curve, ECDSA and ECDH methods.
|
|
22
|
-
* Field: `2n**384n - 2n**128n - 2n**96n + 2n**32n - 1n`.
|
|
23
|
-
* */
|
|
24
|
-
// prettier-ignore
|
|
25
|
-
exports.p384 = (0, _shortw_utils_ts_1.createCurve)({
|
|
26
|
-
a: CURVE_A,
|
|
27
|
-
b: CURVE_B,
|
|
28
|
-
Fp: Fp384,
|
|
29
|
-
n: BigInt('0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973'),
|
|
30
|
-
Gx: BigInt('0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7'),
|
|
31
|
-
Gy: BigInt('0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f'),
|
|
32
|
-
h: BigInt(1),
|
|
33
|
-
lowS: false,
|
|
34
|
-
}, sha2_1.sha384);
|
|
35
|
-
/** Alias to p384. */
|
|
36
|
-
exports.secp384r1 = exports.p384;
|
|
37
|
-
const mapSWU = /* @__PURE__ */ (() => (0, weierstrass_ts_1.mapToCurveSimpleSWU)(Fp384, {
|
|
38
|
-
A: CURVE_A,
|
|
39
|
-
B: CURVE_B,
|
|
40
|
-
Z: Fp384.create(BigInt('-12')),
|
|
41
|
-
}))();
|
|
42
|
-
const htf = /* @__PURE__ */ (() => (0, hash_to_curve_ts_1.createHasher)(exports.secp384r1.ProjectivePoint, (scalars) => mapSWU(scalars[0]), {
|
|
43
|
-
DST: 'P384_XMD:SHA-384_SSWU_RO_',
|
|
44
|
-
encodeDST: 'P384_XMD:SHA-384_SSWU_NU_',
|
|
45
|
-
p: Fp384.ORDER,
|
|
46
|
-
m: 1,
|
|
47
|
-
k: 192,
|
|
48
|
-
expand: 'xmd',
|
|
49
|
-
hash: sha2_1.sha384,
|
|
50
|
-
}))();
|
|
51
|
-
/** secp384r1 hash-to-curve from RFC 9380. */
|
|
52
|
-
exports.hashToCurve = (() => htf.hashToCurve)();
|
|
53
|
-
/** secp384r1 encode-to-curve from RFC 9380. */
|
|
54
|
-
exports.encodeToCurve = (() => htf.encodeToCurve)();
|
|
4
|
+
const nist_ts_1 = require("./nist.js");
|
|
5
|
+
exports.p384 = nist_ts_1.p384;
|
|
6
|
+
exports.secp384r1 = nist_ts_1.p384;
|
|
7
|
+
exports.hashToCurve = (() => nist_ts_1.p384_hasher.hashToCurve)();
|
|
8
|
+
exports.encodeToCurve = (() => nist_ts_1.p384_hasher.encodeToCurve)();
|
|
9
|
+
/** @deprecated Use `import { p384_hasher } from "@noble/curves/nist"` module. */
|
|
55
10
|
//# sourceMappingURL=p384.js.map
|
package/p384.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p384.js","sourceRoot":"","sources":["src/p384.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"p384.js","sourceRoot":"","sources":["src/p384.ts"],"names":[],"mappings":";;;AAMA,uCAAuD;AAC1C,QAAA,IAAI,GAAiB,cAAK,CAAC;AAC3B,QAAA,SAAS,GAAiB,cAAK,CAAC;AAChC,QAAA,WAAW,GAAsC,CAAC,GAAG,EAAE,CAAC,qBAAW,CAAC,WAAW,CAAC,EAAE,CAAC;AACnF,QAAA,aAAa,GAAsC,CAAC,GAAG,EAAE,CAAC,qBAAW,CAAC,aAAa,CAAC,EAAE,CAAC;AAEpG,iFAAiF"}
|
package/p521.d.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { type CurveFnWithCreate } from './_shortw_utils.ts';
|
|
2
|
-
import { type HTFMethod } from './abstract/hash-to-curve.ts';
|
|
3
1
|
/**
|
|
4
|
-
* NIST secp521r1 aka p521
|
|
5
|
-
*
|
|
2
|
+
* NIST secp521r1 aka p521.
|
|
3
|
+
* @module
|
|
6
4
|
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
6
|
+
import { type HTFMethod } from './abstract/hash-to-curve.ts';
|
|
7
|
+
import { p521 as p521n } from './nist.ts';
|
|
8
|
+
export declare const p521: typeof p521n;
|
|
9
|
+
export declare const secp521r1: typeof p521n;
|
|
10
10
|
export declare const hashToCurve: HTFMethod<bigint>;
|
|
11
|
-
/** secp521r1 encode-to-curve from RFC 9380. */
|
|
12
11
|
export declare const encodeToCurve: HTFMethod<bigint>;
|
|
13
12
|
//# sourceMappingURL=p521.d.ts.map
|
package/p521.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p521.d.ts","sourceRoot":"","sources":["src/p521.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"p521.d.ts","sourceRoot":"","sources":["src/p521.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sEAAsE;AACtE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAe,IAAI,IAAI,KAAK,EAAE,MAAM,WAAW,CAAC;AACvD,eAAO,MAAM,IAAI,EAAE,OAAO,KAAa,CAAC;AACxC,eAAO,MAAM,SAAS,EAAE,OAAO,KAAa,CAAC;AAC7C,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAAqD,CAAC;AAChG,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,MAAM,CAAuD,CAAC"}
|
package/p521.js
CHANGED
|
@@ -1,55 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.encodeToCurve = exports.hashToCurve = exports.secp521r1 = exports.p521 = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
*/
|
|
10
|
-
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
11
|
-
const sha2_1 = require("@noble/hashes/sha2");
|
|
12
|
-
const _shortw_utils_ts_1 = require("./_shortw_utils.js");
|
|
13
|
-
const hash_to_curve_ts_1 = require("./abstract/hash-to-curve.js");
|
|
14
|
-
const modular_ts_1 = require("./abstract/modular.js");
|
|
15
|
-
const weierstrass_ts_1 = require("./abstract/weierstrass.js");
|
|
16
|
-
// Field over which we'll do calculations.
|
|
17
|
-
const Fp521 = (0, modular_ts_1.Field)(BigInt('0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'));
|
|
18
|
-
const CURVE_A = Fp521.create(BigInt('-3'));
|
|
19
|
-
const CURVE_B = BigInt('0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00');
|
|
20
|
-
/**
|
|
21
|
-
* NIST secp521r1 aka p521 curve, ECDSA and ECDH methods.
|
|
22
|
-
* Field: `2n**521n - 1n`.
|
|
23
|
-
*/
|
|
24
|
-
// prettier-ignore
|
|
25
|
-
exports.p521 = (0, _shortw_utils_ts_1.createCurve)({
|
|
26
|
-
a: CURVE_A,
|
|
27
|
-
b: CURVE_B,
|
|
28
|
-
Fp: Fp521,
|
|
29
|
-
n: BigInt('0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409'),
|
|
30
|
-
Gx: BigInt('0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66'),
|
|
31
|
-
Gy: BigInt('0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650'),
|
|
32
|
-
h: BigInt(1),
|
|
33
|
-
lowS: false,
|
|
34
|
-
allowedPrivateKeyLengths: [130, 131, 132] // P521 keys are variable-length. Normalize to 132b
|
|
35
|
-
}, sha2_1.sha512);
|
|
36
|
-
exports.secp521r1 = exports.p521;
|
|
37
|
-
const mapSWU = /* @__PURE__ */ (() => (0, weierstrass_ts_1.mapToCurveSimpleSWU)(Fp521, {
|
|
38
|
-
A: CURVE_A,
|
|
39
|
-
B: CURVE_B,
|
|
40
|
-
Z: Fp521.create(BigInt('-4')),
|
|
41
|
-
}))();
|
|
42
|
-
const htf = /* @__PURE__ */ (() => (0, hash_to_curve_ts_1.createHasher)(exports.secp521r1.ProjectivePoint, (scalars) => mapSWU(scalars[0]), {
|
|
43
|
-
DST: 'P521_XMD:SHA-512_SSWU_RO_',
|
|
44
|
-
encodeDST: 'P521_XMD:SHA-512_SSWU_NU_',
|
|
45
|
-
p: Fp521.ORDER,
|
|
46
|
-
m: 1,
|
|
47
|
-
k: 256,
|
|
48
|
-
expand: 'xmd',
|
|
49
|
-
hash: sha2_1.sha512,
|
|
50
|
-
}))();
|
|
51
|
-
/** secp521r1 hash-to-curve from RFC 9380. */
|
|
52
|
-
exports.hashToCurve = (() => htf.hashToCurve)();
|
|
53
|
-
/** secp521r1 encode-to-curve from RFC 9380. */
|
|
54
|
-
exports.encodeToCurve = (() => htf.encodeToCurve)();
|
|
4
|
+
const nist_ts_1 = require("./nist.js");
|
|
5
|
+
exports.p521 = nist_ts_1.p521;
|
|
6
|
+
exports.secp521r1 = nist_ts_1.p521;
|
|
7
|
+
exports.hashToCurve = (() => nist_ts_1.p521_hasher.hashToCurve)();
|
|
8
|
+
exports.encodeToCurve = (() => nist_ts_1.p521_hasher.encodeToCurve)();
|
|
55
9
|
//# sourceMappingURL=p521.js.map
|
package/p521.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p521.js","sourceRoot":"","sources":["src/p521.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"p521.js","sourceRoot":"","sources":["src/p521.ts"],"names":[],"mappings":";;;AAMA,uCAAuD;AAC1C,QAAA,IAAI,GAAiB,cAAK,CAAC;AAC3B,QAAA,SAAS,GAAiB,cAAK,CAAC;AAChC,QAAA,WAAW,GAAsC,CAAC,GAAG,EAAE,CAAC,qBAAW,CAAC,WAAW,CAAC,EAAE,CAAC;AACnF,QAAA,aAAa,GAAsC,CAAC,GAAG,EAAE,CAAC,qBAAW,CAAC,aAAa,CAAC,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@noble/curves",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.1",
|
|
4
4
|
"description": "Audited & minimal JS implementation of elliptic curve cryptography",
|
|
5
5
|
"files": [
|
|
6
6
|
"*.js",
|
|
@@ -32,15 +32,15 @@
|
|
|
32
32
|
},
|
|
33
33
|
"license": "MIT",
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@noble/hashes": "1.
|
|
35
|
+
"@noble/hashes": "1.8.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@paulmillr/jsbt": "0.
|
|
38
|
+
"@paulmillr/jsbt": "0.4.0",
|
|
39
39
|
"fast-check": "3.0.0",
|
|
40
|
-
"micro-bmark": "0.4.
|
|
41
|
-
"micro-should": "0.5.
|
|
42
|
-
"prettier": "3.5.
|
|
43
|
-
"typescript": "5.8.
|
|
40
|
+
"micro-bmark": "0.4.1",
|
|
41
|
+
"micro-should": "0.5.3",
|
|
42
|
+
"prettier": "3.5.3",
|
|
43
|
+
"typescript": "5.8.3"
|
|
44
44
|
},
|
|
45
45
|
"sideEffects": false,
|
|
46
46
|
"main": "index.js",
|
|
@@ -89,6 +89,10 @@
|
|
|
89
89
|
"import": "./esm/abstract/weierstrass.js",
|
|
90
90
|
"require": "./abstract/weierstrass.js"
|
|
91
91
|
},
|
|
92
|
+
"./abstract/fft": {
|
|
93
|
+
"import": "./esm/abstract/fft.js",
|
|
94
|
+
"require": "./abstract/fft.js"
|
|
95
|
+
},
|
|
92
96
|
"./_shortw_utils": {
|
|
93
97
|
"import": "./esm/_shortw_utils.js",
|
|
94
98
|
"require": "./_shortw_utils.js"
|
|
@@ -121,6 +125,10 @@
|
|
|
121
125
|
"import": "./esm/misc.js",
|
|
122
126
|
"require": "./misc.js"
|
|
123
127
|
},
|
|
128
|
+
"./nist": {
|
|
129
|
+
"import": "./esm/nist.js",
|
|
130
|
+
"require": "./nist.js"
|
|
131
|
+
},
|
|
124
132
|
"./p256": {
|
|
125
133
|
"import": "./esm/p256.js",
|
|
126
134
|
"require": "./p256.js"
|
|
@@ -140,6 +148,106 @@
|
|
|
140
148
|
"./secp256k1": {
|
|
141
149
|
"import": "./esm/secp256k1.js",
|
|
142
150
|
"require": "./secp256k1.js"
|
|
151
|
+
},
|
|
152
|
+
"./abstract/bls.js": {
|
|
153
|
+
"import": "./esm/abstract/bls.js",
|
|
154
|
+
"require": "./abstract/bls.js"
|
|
155
|
+
},
|
|
156
|
+
"./abstract/curve.js": {
|
|
157
|
+
"import": "./esm/abstract/curve.js",
|
|
158
|
+
"require": "./abstract/curve.js"
|
|
159
|
+
},
|
|
160
|
+
"./abstract/edwards.js": {
|
|
161
|
+
"import": "./esm/abstract/edwards.js",
|
|
162
|
+
"require": "./abstract/edwards.js"
|
|
163
|
+
},
|
|
164
|
+
"./abstract/hash-to-curve.js": {
|
|
165
|
+
"import": "./esm/abstract/hash-to-curve.js",
|
|
166
|
+
"require": "./abstract/hash-to-curve.js"
|
|
167
|
+
},
|
|
168
|
+
"./abstract/modular.js": {
|
|
169
|
+
"import": "./esm/abstract/modular.js",
|
|
170
|
+
"require": "./abstract/modular.js"
|
|
171
|
+
},
|
|
172
|
+
"./abstract/montgomery.js": {
|
|
173
|
+
"import": "./esm/abstract/montgomery.js",
|
|
174
|
+
"require": "./abstract/montgomery.js"
|
|
175
|
+
},
|
|
176
|
+
"./abstract/poseidon.js": {
|
|
177
|
+
"import": "./esm/abstract/poseidon.js",
|
|
178
|
+
"require": "./abstract/poseidon.js"
|
|
179
|
+
},
|
|
180
|
+
"./abstract/tower.js": {
|
|
181
|
+
"import": "./esm/abstract/tower.js",
|
|
182
|
+
"require": "./abstract/tower.js"
|
|
183
|
+
},
|
|
184
|
+
"./abstract/utils.js": {
|
|
185
|
+
"import": "./esm/abstract/utils.js",
|
|
186
|
+
"require": "./abstract/utils.js"
|
|
187
|
+
},
|
|
188
|
+
"./abstract/weierstrass.js": {
|
|
189
|
+
"import": "./esm/abstract/weierstrass.js",
|
|
190
|
+
"require": "./abstract/weierstrass.js"
|
|
191
|
+
},
|
|
192
|
+
"./abstract/fft.js": {
|
|
193
|
+
"import": "./esm/abstract/fft.js",
|
|
194
|
+
"require": "./abstract/fft.js"
|
|
195
|
+
},
|
|
196
|
+
"./_shortw_utils.js": {
|
|
197
|
+
"import": "./esm/_shortw_utils.js",
|
|
198
|
+
"require": "./_shortw_utils.js"
|
|
199
|
+
},
|
|
200
|
+
"./bls12-381.js": {
|
|
201
|
+
"import": "./esm/bls12-381.js",
|
|
202
|
+
"require": "./bls12-381.js"
|
|
203
|
+
},
|
|
204
|
+
"./bn254.js": {
|
|
205
|
+
"import": "./esm/bn254.js",
|
|
206
|
+
"require": "./bn254.js"
|
|
207
|
+
},
|
|
208
|
+
"./ed448.js": {
|
|
209
|
+
"import": "./esm/ed448.js",
|
|
210
|
+
"require": "./ed448.js"
|
|
211
|
+
},
|
|
212
|
+
"./ed25519.js": {
|
|
213
|
+
"import": "./esm/ed25519.js",
|
|
214
|
+
"require": "./ed25519.js"
|
|
215
|
+
},
|
|
216
|
+
"./index.js": {
|
|
217
|
+
"import": "./esm/index.js",
|
|
218
|
+
"require": "./index.js"
|
|
219
|
+
},
|
|
220
|
+
"./jubjub.js": {
|
|
221
|
+
"import": "./esm/jubjub.js",
|
|
222
|
+
"require": "./jubjub.js"
|
|
223
|
+
},
|
|
224
|
+
"./misc.js": {
|
|
225
|
+
"import": "./esm/misc.js",
|
|
226
|
+
"require": "./misc.js"
|
|
227
|
+
},
|
|
228
|
+
"./nist.js": {
|
|
229
|
+
"import": "./esm/nist.js",
|
|
230
|
+
"require": "./nist.js"
|
|
231
|
+
},
|
|
232
|
+
"./p256.js": {
|
|
233
|
+
"import": "./esm/p256.js",
|
|
234
|
+
"require": "./p256.js"
|
|
235
|
+
},
|
|
236
|
+
"./p384.js": {
|
|
237
|
+
"import": "./esm/p384.js",
|
|
238
|
+
"require": "./p384.js"
|
|
239
|
+
},
|
|
240
|
+
"./p521.js": {
|
|
241
|
+
"import": "./esm/p521.js",
|
|
242
|
+
"require": "./p521.js"
|
|
243
|
+
},
|
|
244
|
+
"./pasta.js": {
|
|
245
|
+
"import": "./esm/pasta.js",
|
|
246
|
+
"require": "./pasta.js"
|
|
247
|
+
},
|
|
248
|
+
"./secp256k1.js": {
|
|
249
|
+
"import": "./esm/secp256k1.js",
|
|
250
|
+
"require": "./secp256k1.js"
|
|
143
251
|
}
|
|
144
252
|
},
|
|
145
253
|
"engines": {
|
|
@@ -169,7 +277,8 @@
|
|
|
169
277
|
"weierstrass",
|
|
170
278
|
"montgomery",
|
|
171
279
|
"edwards",
|
|
172
|
-
"schnorr"
|
|
280
|
+
"schnorr",
|
|
281
|
+
"fft"
|
|
173
282
|
],
|
|
174
283
|
"funding": "https://paulmillr.com/funding/"
|
|
175
284
|
}
|
package/pasta.d.ts
CHANGED
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated
|
|
3
|
+
* @module
|
|
4
|
+
*/
|
|
5
|
+
import { pallas as pn, vesta as vn } from './misc.ts';
|
|
6
|
+
/** @deprecated */
|
|
7
|
+
export declare const pallas: typeof pn;
|
|
8
|
+
/** @deprecated */
|
|
9
|
+
export declare const vesta: typeof vn;
|
|
2
10
|
//# sourceMappingURL=pasta.d.ts.map
|
package/pasta.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pasta.d.ts","sourceRoot":"","sources":["src/pasta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"pasta.d.ts","sourceRoot":"","sources":["src/pasta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,MAAM,WAAW,CAAC;AACtD,kBAAkB;AAClB,eAAO,MAAM,MAAM,EAAE,OAAO,EAAO,CAAC;AACpC,kBAAkB;AAClB,eAAO,MAAM,KAAK,EAAE,OAAO,EAAO,CAAC"}
|
package/pasta.js
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.vesta = exports.pallas = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
const misc_ts_1 = require("./misc.js");
|
|
9
|
+
/** @deprecated */
|
|
10
|
+
exports.pallas = misc_ts_1.pallas;
|
|
11
|
+
/** @deprecated */
|
|
12
|
+
exports.vesta = misc_ts_1.vesta;
|
|
7
13
|
//# sourceMappingURL=pasta.js.map
|
package/pasta.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pasta.js","sourceRoot":"","sources":["src/pasta.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"pasta.js","sourceRoot":"","sources":["src/pasta.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAAsD;AACtD,kBAAkB;AACL,QAAA,MAAM,GAAc,gBAAE,CAAC;AACpC,kBAAkB;AACL,QAAA,KAAK,GAAc,eAAE,CAAC"}
|