@noble/curves 0.6.3 → 0.7.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 +429 -281
- package/{lib/_shortw_utils.d.ts → _shortw_utils.d.ts} +3 -1
- package/_shortw_utils.d.ts.map +1 -0
- package/{lib/_shortw_utils.js → _shortw_utils.js} +2 -0
- package/_shortw_utils.js.map +1 -0
- package/{lib/abstract → abstract}/bls.d.ts +4 -9
- package/abstract/bls.d.ts.map +1 -0
- package/{lib/abstract → abstract}/bls.js +12 -25
- package/abstract/bls.js.map +1 -0
- package/{lib/abstract → abstract}/curve.d.ts +1 -0
- package/abstract/curve.d.ts.map +1 -0
- package/{lib/abstract → abstract}/curve.js +1 -0
- package/abstract/curve.js.map +1 -0
- package/{lib/abstract → abstract}/edwards.d.ts +1 -0
- package/abstract/edwards.d.ts.map +1 -0
- package/{lib/abstract → abstract}/edwards.js +9 -15
- package/abstract/edwards.js.map +1 -0
- package/{lib/abstract → abstract}/hash-to-curve.d.ts +5 -5
- package/abstract/hash-to-curve.d.ts.map +1 -0
- package/{lib/abstract → abstract}/hash-to-curve.js +41 -38
- package/abstract/hash-to-curve.js.map +1 -0
- package/{lib/abstract → abstract}/modular.d.ts +1 -0
- package/abstract/modular.d.ts.map +1 -0
- package/{lib/abstract → abstract}/modular.js +2 -1
- package/abstract/modular.js.map +1 -0
- package/{lib/abstract → abstract}/montgomery.d.ts +1 -0
- package/abstract/montgomery.d.ts.map +1 -0
- package/{lib/abstract → abstract}/montgomery.js +3 -2
- package/abstract/montgomery.js.map +1 -0
- package/{lib/abstract → abstract}/poseidon.d.ts +1 -0
- package/abstract/poseidon.d.ts.map +1 -0
- package/{lib/abstract → abstract}/poseidon.js +1 -0
- package/abstract/poseidon.js.map +1 -0
- package/{lib/abstract → abstract}/utils.d.ts +12 -1
- package/abstract/utils.d.ts.map +1 -0
- package/{lib/abstract → abstract}/utils.js +96 -10
- package/abstract/utils.js.map +1 -0
- package/{lib/abstract → abstract}/weierstrass.d.ts +6 -4
- package/abstract/weierstrass.d.ts.map +1 -0
- package/{lib/abstract → abstract}/weierstrass.js +55 -93
- package/abstract/weierstrass.js.map +1 -0
- package/{lib/bls12-381.d.ts → bls12-381.d.ts} +1 -0
- package/bls12-381.d.ts.map +1 -0
- package/{lib/bls12-381.js → bls12-381.js} +41 -7
- package/bls12-381.js.map +1 -0
- package/{lib/bn.d.ts → bn.d.ts} +1 -0
- package/bn.d.ts.map +1 -0
- package/{lib/bn.js → bn.js} +1 -0
- package/bn.js.map +1 -0
- package/{lib/ed25519.d.ts → ed25519.d.ts} +2 -1
- package/ed25519.d.ts.map +1 -0
- package/{lib/ed25519.js → ed25519.js} +4 -3
- package/ed25519.js.map +1 -0
- package/{lib/ed448.d.ts → ed448.d.ts} +2 -1
- package/ed448.d.ts.map +1 -0
- package/{lib/ed448.js → ed448.js} +2 -1
- package/ed448.js.map +1 -0
- package/{lib/esm → esm}/_shortw_utils.js +2 -0
- package/esm/_shortw_utils.js.map +1 -0
- package/{lib/esm → esm}/abstract/bls.js +13 -26
- package/esm/abstract/bls.js.map +1 -0
- package/{lib/esm → esm}/abstract/curve.js +1 -0
- package/esm/abstract/curve.js.map +1 -0
- package/{lib/esm → esm}/abstract/edwards.js +9 -15
- package/esm/abstract/edwards.js.map +1 -0
- package/{lib/esm → esm}/abstract/hash-to-curve.js +40 -36
- package/esm/abstract/hash-to-curve.js.map +1 -0
- package/{lib/esm → esm}/abstract/modular.js +2 -1
- package/esm/abstract/modular.js.map +1 -0
- package/{lib/esm → esm}/abstract/montgomery.js +3 -2
- package/esm/abstract/montgomery.js.map +1 -0
- package/{lib/esm → esm}/abstract/poseidon.js +1 -0
- package/esm/abstract/poseidon.js.map +1 -0
- package/{lib/esm → esm}/abstract/utils.js +93 -9
- package/esm/abstract/utils.js.map +1 -0
- package/{lib/esm → esm}/abstract/weierstrass.js +55 -93
- package/esm/abstract/weierstrass.js.map +1 -0
- package/{lib/esm → esm}/bls12-381.js +41 -7
- package/esm/bls12-381.js.map +1 -0
- package/{lib/esm → esm}/bn.js +1 -0
- package/esm/bn.js.map +1 -0
- package/{lib/esm → esm}/ed25519.js +5 -4
- package/esm/ed25519.js.map +1 -0
- package/{lib/esm → esm}/ed448.js +2 -1
- package/esm/ed448.js.map +1 -0
- package/{lib → esm}/index.js +1 -0
- package/esm/index.js.map +1 -0
- package/{lib/esm → esm}/jubjub.js +1 -0
- package/esm/jubjub.js.map +1 -0
- package/{lib/esm → esm}/p192.js +1 -0
- package/esm/p192.js.map +1 -0
- package/{lib/esm → esm}/p224.js +1 -0
- package/esm/p224.js.map +1 -0
- package/{lib/esm → esm}/p256.js +2 -1
- package/esm/p256.js.map +1 -0
- package/{lib/esm → esm}/p384.js +2 -1
- package/esm/p384.js.map +1 -0
- package/{lib/esm → esm}/p521.js +2 -1
- package/esm/p521.js.map +1 -0
- package/{lib/esm → esm}/package.json +0 -0
- package/{lib/esm → esm}/pasta.js +1 -0
- package/esm/pasta.js.map +1 -0
- package/{lib/esm → esm}/secp256k1.js +41 -50
- package/esm/secp256k1.js.map +1 -0
- package/{lib/esm → esm}/stark.js +1 -0
- package/esm/stark.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -0
- package/index.js +3 -0
- package/index.js.map +1 -0
- package/{lib/jubjub.d.ts → jubjub.d.ts} +1 -0
- package/jubjub.d.ts.map +1 -0
- package/{lib/jubjub.js → jubjub.js} +1 -0
- package/jubjub.js.map +1 -0
- package/{lib/p192.d.ts → p192.d.ts} +5 -2
- package/p192.d.ts.map +1 -0
- package/{lib/p192.js → p192.js} +1 -0
- package/p192.js.map +1 -0
- package/{lib/p224.d.ts → p224.d.ts} +5 -2
- package/p224.d.ts.map +1 -0
- package/{lib/p224.js → p224.js} +1 -0
- package/p224.js.map +1 -0
- package/{lib/p256.d.ts → p256.d.ts} +6 -3
- package/p256.d.ts.map +1 -0
- package/{lib/p256.js → p256.js} +2 -1
- package/p256.js.map +1 -0
- package/{lib/p384.d.ts → p384.d.ts} +6 -3
- package/p384.d.ts.map +1 -0
- package/{lib/p384.js → p384.js} +2 -1
- package/p384.js.map +1 -0
- package/{lib/p521.d.ts → p521.d.ts} +6 -3
- package/p521.d.ts.map +1 -0
- package/{lib/p521.js → p521.js} +2 -1
- package/p521.js.map +1 -0
- package/package.json +84 -79
- package/{lib/pasta.d.ts → pasta.d.ts} +1 -0
- package/pasta.d.ts.map +1 -0
- package/{lib/pasta.js → pasta.js} +1 -0
- package/pasta.js.map +1 -0
- package/{lib/secp256k1.d.ts → secp256k1.d.ts} +17 -6
- package/secp256k1.d.ts.map +1 -0
- package/{lib/secp256k1.js → secp256k1.js} +38 -47
- package/secp256k1.js.map +1 -0
- package/src/_shortw_utils.ts +20 -0
- package/src/abstract/bls.ts +376 -0
- package/src/abstract/curve.ts +199 -0
- package/src/abstract/edwards.ts +479 -0
- package/src/abstract/hash-to-curve.ts +220 -0
- package/src/abstract/modular.ts +417 -0
- package/src/abstract/montgomery.ts +184 -0
- package/src/abstract/poseidon.ts +119 -0
- package/src/abstract/utils.ts +246 -0
- package/src/abstract/weierstrass.ts +1175 -0
- package/src/bls12-381.ts +1274 -0
- package/src/bn.ts +21 -0
- package/src/ed25519.ts +428 -0
- package/src/ed448.ts +241 -0
- package/{lib/esm/index.js → src/index.ts} +0 -1
- package/src/jubjub.ts +58 -0
- package/src/p192.ts +25 -0
- package/src/p224.ts +25 -0
- package/src/p256.ts +53 -0
- package/src/p384.ts +57 -0
- package/src/p521.ts +57 -0
- package/src/pasta.ts +31 -0
- package/src/secp256k1.ts +260 -0
- package/src/stark.ts +356 -0
- package/{lib/stark.d.ts → stark.d.ts} +3 -1
- package/stark.d.ts.map +1 -0
- package/{lib/stark.js → stark.js} +1 -0
- package/stark.js.map +1 -0
- package/lib/index.d.ts +0 -0
|
@@ -43,10 +43,11 @@ export declare const P256: Readonly<{
|
|
|
43
43
|
ProjectivePoint: import("./abstract/weierstrass.js").ProjConstructor<bigint>;
|
|
44
44
|
Signature: import("./abstract/weierstrass.js").SignatureConstructor;
|
|
45
45
|
utils: {
|
|
46
|
-
|
|
46
|
+
normPrivateKeyToScalar: (key: import("./abstract/utils.js").PrivKey) => bigint;
|
|
47
47
|
isValidPrivateKey(privateKey: import("./abstract/utils.js").PrivKey): boolean;
|
|
48
48
|
hashToPrivateKey: (hash: import("./abstract/utils.js").Hex) => Uint8Array;
|
|
49
49
|
randomPrivateKey: () => Uint8Array;
|
|
50
|
+
precompute: (windowSize?: number | undefined, point?: import("./abstract/weierstrass.js").ProjPointType<bigint> | undefined) => import("./abstract/weierstrass.js").ProjPointType<bigint>;
|
|
50
51
|
};
|
|
51
52
|
}>;
|
|
52
53
|
export declare const secp256r1: Readonly<{
|
|
@@ -93,11 +94,13 @@ export declare const secp256r1: Readonly<{
|
|
|
93
94
|
ProjectivePoint: import("./abstract/weierstrass.js").ProjConstructor<bigint>;
|
|
94
95
|
Signature: import("./abstract/weierstrass.js").SignatureConstructor;
|
|
95
96
|
utils: {
|
|
96
|
-
|
|
97
|
+
normPrivateKeyToScalar: (key: import("./abstract/utils.js").PrivKey) => bigint;
|
|
97
98
|
isValidPrivateKey(privateKey: import("./abstract/utils.js").PrivKey): boolean;
|
|
98
99
|
hashToPrivateKey: (hash: import("./abstract/utils.js").Hex) => Uint8Array;
|
|
99
100
|
randomPrivateKey: () => Uint8Array;
|
|
101
|
+
precompute: (windowSize?: number | undefined, point?: import("./abstract/weierstrass.js").ProjPointType<bigint> | undefined) => import("./abstract/weierstrass.js").ProjPointType<bigint>;
|
|
100
102
|
};
|
|
101
103
|
}>;
|
|
102
|
-
declare const hashToCurve: (msg:
|
|
104
|
+
declare const hashToCurve: (msg: Uint8Array, options?: htf.htfBasicOpts | undefined) => htf.H2CPoint<bigint>, encodeToCurve: (msg: Uint8Array, options?: htf.htfBasicOpts | undefined) => htf.H2CPoint<bigint>;
|
|
103
105
|
export { hashToCurve, encodeToCurve };
|
|
106
|
+
//# sourceMappingURL=p256.d.ts.map
|
package/p256.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"p256.d.ts","sourceRoot":"","sources":["src/p256.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,GAAG,MAAM,6BAA6B,CAAC;AAgBnD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAehB,CAAC;AACF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAO,CAAC;AAE9B,QAAA,MAAQ,WAAW,qFAAE,aAAa,mFAYjC,CAAC;AACF,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC"}
|
package/{lib/p256.js → p256.js}
RENAMED
|
@@ -32,7 +32,7 @@ exports.P256 = (0, _shortw_utils_js_1.createCurve)({
|
|
|
32
32
|
lowS: false,
|
|
33
33
|
}, sha256_1.sha256);
|
|
34
34
|
exports.secp256r1 = exports.P256;
|
|
35
|
-
const { hashToCurve, encodeToCurve } = htf.
|
|
35
|
+
const { hashToCurve, encodeToCurve } = htf.createHasher(exports.secp256r1.ProjectivePoint, (scalars) => mapSWU(scalars[0]), {
|
|
36
36
|
DST: 'P256_XMD:SHA-256_SSWU_RO_',
|
|
37
37
|
encodeDST: 'P256_XMD:SHA-256_SSWU_NU_',
|
|
38
38
|
p: Fp.ORDER,
|
|
@@ -43,3 +43,4 @@ const { hashToCurve, encodeToCurve } = htf.hashToCurve(exports.secp256r1.Project
|
|
|
43
43
|
});
|
|
44
44
|
exports.hashToCurve = hashToCurve;
|
|
45
45
|
exports.encodeToCurve = encodeToCurve;
|
|
46
|
+
//# sourceMappingURL=p256.js.map
|
package/p256.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"p256.js","sourceRoot":"","sources":["src/p256.ts"],"names":[],"mappings":";;;AAAA,sEAAsE;AACtE,yDAAiD;AACjD,iDAA8C;AAC9C,sDAAoD;AACpD,8DAAgE;AAChE,mDAAmD;AAEnD,0BAA0B;AAC1B,0EAA0E;AAE1E,0FAA0F;AAC1F,MAAM,EAAE,GAAG,IAAA,eAAK,EAAC,MAAM,CAAC,oEAAoE,CAAC,CAAC,CAAC;AAC/F,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,MAAM,OAAO,GAAG,MAAM,CAAC,oEAAoE,CAAC,CAAC;AAE7F,MAAM,MAAM,GAAG,IAAA,oCAAmB,EAAC,EAAE,EAAE;IACrC,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;CAC5B,CAAC,CAAC;AAEU,QAAA,IAAI,GAAG,IAAA,8BAAW,EAC7B;IACE,eAAe;IACf,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;IACV,EAAE;IACF,wDAAwD;IACxD,CAAC,EAAE,MAAM,CAAC,oEAAoE,CAAC;IAC/E,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC,oEAAoE,CAAC;IAChF,EAAE,EAAE,MAAM,CAAC,oEAAoE,CAAC;IAChF,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,IAAI,EAAE,KAAK;CACH,EACV,eAAM,CACP,CAAC;AACW,QAAA,SAAS,GAAG,YAAI,CAAC;AAE9B,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,YAAY,CACrD,iBAAS,CAAC,eAAe,EACzB,CAAC,OAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EACzC;IACE,GAAG,EAAE,2BAA2B;IAChC,SAAS,EAAE,2BAA2B;IACtC,CAAC,EAAE,EAAE,CAAC,KAAK;IACX,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,GAAG;IACN,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,eAAM;CACb,CACF,CAAC;AACO,kCAAW;AAAE,sCAAa"}
|
|
@@ -43,10 +43,11 @@ export declare const P384: Readonly<{
|
|
|
43
43
|
ProjectivePoint: import("./abstract/weierstrass.js").ProjConstructor<bigint>;
|
|
44
44
|
Signature: import("./abstract/weierstrass.js").SignatureConstructor;
|
|
45
45
|
utils: {
|
|
46
|
-
|
|
46
|
+
normPrivateKeyToScalar: (key: import("./abstract/utils.js").PrivKey) => bigint;
|
|
47
47
|
isValidPrivateKey(privateKey: import("./abstract/utils.js").PrivKey): boolean;
|
|
48
48
|
hashToPrivateKey: (hash: import("./abstract/utils.js").Hex) => Uint8Array;
|
|
49
49
|
randomPrivateKey: () => Uint8Array;
|
|
50
|
+
precompute: (windowSize?: number | undefined, point?: import("./abstract/weierstrass.js").ProjPointType<bigint> | undefined) => import("./abstract/weierstrass.js").ProjPointType<bigint>;
|
|
50
51
|
};
|
|
51
52
|
}>;
|
|
52
53
|
export declare const secp384r1: Readonly<{
|
|
@@ -93,11 +94,13 @@ export declare const secp384r1: Readonly<{
|
|
|
93
94
|
ProjectivePoint: import("./abstract/weierstrass.js").ProjConstructor<bigint>;
|
|
94
95
|
Signature: import("./abstract/weierstrass.js").SignatureConstructor;
|
|
95
96
|
utils: {
|
|
96
|
-
|
|
97
|
+
normPrivateKeyToScalar: (key: import("./abstract/utils.js").PrivKey) => bigint;
|
|
97
98
|
isValidPrivateKey(privateKey: import("./abstract/utils.js").PrivKey): boolean;
|
|
98
99
|
hashToPrivateKey: (hash: import("./abstract/utils.js").Hex) => Uint8Array;
|
|
99
100
|
randomPrivateKey: () => Uint8Array;
|
|
101
|
+
precompute: (windowSize?: number | undefined, point?: import("./abstract/weierstrass.js").ProjPointType<bigint> | undefined) => import("./abstract/weierstrass.js").ProjPointType<bigint>;
|
|
100
102
|
};
|
|
101
103
|
}>;
|
|
102
|
-
declare const hashToCurve: (msg:
|
|
104
|
+
declare const hashToCurve: (msg: Uint8Array, options?: htf.htfBasicOpts | undefined) => htf.H2CPoint<bigint>, encodeToCurve: (msg: Uint8Array, options?: htf.htfBasicOpts | undefined) => htf.H2CPoint<bigint>;
|
|
103
105
|
export { hashToCurve, encodeToCurve };
|
|
106
|
+
//# sourceMappingURL=p384.d.ts.map
|
package/p384.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"p384.d.ts","sourceRoot":"","sources":["src/p384.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,GAAG,MAAM,6BAA6B,CAAC;AAoBnD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAehB,CAAC;AACF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAO,CAAC;AAE9B,QAAA,MAAQ,WAAW,qFAAE,aAAa,mFAYjC,CAAC;AACF,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC"}
|
package/{lib/p384.js → p384.js}
RENAMED
|
@@ -37,7 +37,7 @@ exports.P384 = (0, _shortw_utils_js_1.createCurve)({
|
|
|
37
37
|
lowS: false,
|
|
38
38
|
}, sha512_1.sha384);
|
|
39
39
|
exports.secp384r1 = exports.P384;
|
|
40
|
-
const { hashToCurve, encodeToCurve } = htf.
|
|
40
|
+
const { hashToCurve, encodeToCurve } = htf.createHasher(exports.secp384r1.ProjectivePoint, (scalars) => mapSWU(scalars[0]), {
|
|
41
41
|
DST: 'P384_XMD:SHA-384_SSWU_RO_',
|
|
42
42
|
encodeDST: 'P384_XMD:SHA-384_SSWU_NU_',
|
|
43
43
|
p: Fp.ORDER,
|
|
@@ -48,3 +48,4 @@ const { hashToCurve, encodeToCurve } = htf.hashToCurve(exports.secp384r1.Project
|
|
|
48
48
|
});
|
|
49
49
|
exports.hashToCurve = hashToCurve;
|
|
50
50
|
exports.encodeToCurve = encodeToCurve;
|
|
51
|
+
//# sourceMappingURL=p384.js.map
|
package/p384.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"p384.js","sourceRoot":"","sources":["src/p384.ts"],"names":[],"mappings":";;;AAAA,sEAAsE;AACtE,yDAAiD;AACjD,iDAA8C;AAC9C,sDAAoD;AACpD,8DAAgE;AAChE,mDAAmD;AAEnD,0BAA0B;AAC1B,0EAA0E;AAE1E,uFAAuF;AACvF,kBAAkB;AAClB,MAAM,CAAC,GAAG,MAAM,CAAC,oGAAoG,CAAC,CAAC;AACvH,MAAM,EAAE,GAAG,IAAA,eAAK,EAAC,CAAC,CAAC,CAAC;AACpB,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,kBAAkB;AAClB,MAAM,OAAO,GAAG,MAAM,CAAC,oGAAoG,CAAC,CAAC;AAE7H,MAAM,MAAM,GAAG,IAAA,oCAAmB,EAAC,EAAE,EAAE;IACrC,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;CAC5B,CAAC,CAAC;AAEH,kBAAkB;AACL,QAAA,IAAI,GAAG,IAAA,8BAAW,EAAC;IAC5B,eAAe;IACf,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;IACV,uFAAuF;IACvF,EAAE;IACF,yDAAyD;IACzD,CAAC,EAAE,MAAM,CAAC,oGAAoG,CAAC;IAC/G,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC,oGAAoG,CAAC;IAChH,EAAE,EAAE,MAAM,CAAC,oGAAoG,CAAC;IAChH,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,IAAI,EAAE,KAAK;CACH,EACV,eAAM,CACP,CAAC;AACW,QAAA,SAAS,GAAG,YAAI,CAAC;AAE9B,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,YAAY,CACrD,iBAAS,CAAC,eAAe,EACzB,CAAC,OAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EACzC;IACE,GAAG,EAAE,2BAA2B;IAChC,SAAS,EAAE,2BAA2B;IACtC,CAAC,EAAE,EAAE,CAAC,KAAK;IACX,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,GAAG;IACN,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,eAAM;CACb,CACF,CAAC;AACO,kCAAW;AAAE,sCAAa"}
|
|
@@ -43,10 +43,11 @@ export declare const P521: Readonly<{
|
|
|
43
43
|
ProjectivePoint: import("./abstract/weierstrass.js").ProjConstructor<bigint>;
|
|
44
44
|
Signature: import("./abstract/weierstrass.js").SignatureConstructor;
|
|
45
45
|
utils: {
|
|
46
|
-
|
|
46
|
+
normPrivateKeyToScalar: (key: import("./abstract/utils.js").PrivKey) => bigint;
|
|
47
47
|
isValidPrivateKey(privateKey: import("./abstract/utils.js").PrivKey): boolean;
|
|
48
48
|
hashToPrivateKey: (hash: import("./abstract/utils.js").Hex) => Uint8Array;
|
|
49
49
|
randomPrivateKey: () => Uint8Array;
|
|
50
|
+
precompute: (windowSize?: number | undefined, point?: import("./abstract/weierstrass.js").ProjPointType<bigint> | undefined) => import("./abstract/weierstrass.js").ProjPointType<bigint>;
|
|
50
51
|
};
|
|
51
52
|
}>;
|
|
52
53
|
export declare const secp521r1: Readonly<{
|
|
@@ -93,11 +94,13 @@ export declare const secp521r1: Readonly<{
|
|
|
93
94
|
ProjectivePoint: import("./abstract/weierstrass.js").ProjConstructor<bigint>;
|
|
94
95
|
Signature: import("./abstract/weierstrass.js").SignatureConstructor;
|
|
95
96
|
utils: {
|
|
96
|
-
|
|
97
|
+
normPrivateKeyToScalar: (key: import("./abstract/utils.js").PrivKey) => bigint;
|
|
97
98
|
isValidPrivateKey(privateKey: import("./abstract/utils.js").PrivKey): boolean;
|
|
98
99
|
hashToPrivateKey: (hash: import("./abstract/utils.js").Hex) => Uint8Array;
|
|
99
100
|
randomPrivateKey: () => Uint8Array;
|
|
101
|
+
precompute: (windowSize?: number | undefined, point?: import("./abstract/weierstrass.js").ProjPointType<bigint> | undefined) => import("./abstract/weierstrass.js").ProjPointType<bigint>;
|
|
100
102
|
};
|
|
101
103
|
}>;
|
|
102
|
-
declare const hashToCurve: (msg:
|
|
104
|
+
declare const hashToCurve: (msg: Uint8Array, options?: htf.htfBasicOpts | undefined) => htf.H2CPoint<bigint>, encodeToCurve: (msg: Uint8Array, options?: htf.htfBasicOpts | undefined) => htf.H2CPoint<bigint>;
|
|
103
105
|
export { hashToCurve, encodeToCurve };
|
|
106
|
+
//# sourceMappingURL=p521.d.ts.map
|
package/p521.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"p521.d.ts","sourceRoot":"","sources":["src/p521.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,GAAG,MAAM,6BAA6B,CAAC;AAsBnD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAaE,CAAC;AACpB,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAO,CAAC;AAE9B,QAAA,MAAQ,WAAW,qFAAE,aAAa,mFAYjC,CAAC;AACF,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC"}
|
package/{lib/p521.js → p521.js}
RENAMED
|
@@ -38,7 +38,7 @@ exports.P521 = (0, _shortw_utils_js_1.createCurve)({
|
|
|
38
38
|
allowedPrivateKeyLengths: [130, 131, 132] // P521 keys are variable-length. Normalize to 132b
|
|
39
39
|
}, sha512_1.sha512);
|
|
40
40
|
exports.secp521r1 = exports.P521;
|
|
41
|
-
const { hashToCurve, encodeToCurve } = htf.
|
|
41
|
+
const { hashToCurve, encodeToCurve } = htf.createHasher(exports.secp521r1.ProjectivePoint, (scalars) => mapSWU(scalars[0]), {
|
|
42
42
|
DST: 'P521_XMD:SHA-512_SSWU_RO_',
|
|
43
43
|
encodeDST: 'P521_XMD:SHA-512_SSWU_NU_',
|
|
44
44
|
p: Fp.ORDER,
|
|
@@ -49,3 +49,4 @@ const { hashToCurve, encodeToCurve } = htf.hashToCurve(exports.secp521r1.Project
|
|
|
49
49
|
});
|
|
50
50
|
exports.hashToCurve = hashToCurve;
|
|
51
51
|
exports.encodeToCurve = encodeToCurve;
|
|
52
|
+
//# sourceMappingURL=p521.js.map
|
package/p521.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"p521.js","sourceRoot":"","sources":["src/p521.ts"],"names":[],"mappings":";;;AAAA,sEAAsE;AACtE,yDAAiD;AACjD,iDAA8C;AAC9C,sDAAoD;AACpD,8DAAgE;AAChE,mDAAmD;AAEnD,0BAA0B;AAC1B,mEAAmE;AACnE,0EAA0E;AAE1E,wDAAwD;AACxD,kBAAkB;AAClB,MAAM,CAAC,GAAG,MAAM,CAAC,uIAAuI,CAAC,CAAC;AAC1J,MAAM,EAAE,GAAG,IAAA,eAAK,EAAC,CAAC,CAAC,CAAC;AAEpB,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,kBAAkB;AAClB,MAAM,OAAO,GAAG,MAAM,CAAC,wIAAwI,CAAC,CAAC;AAEjK,MAAM,MAAM,GAAG,IAAA,oCAAmB,EAAC,EAAE,EAAE;IACrC,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CAC3B,CAAC,CAAC;AAEH,kBAAkB;AACL,QAAA,IAAI,GAAG,IAAA,8BAAW,EAAC;IAC9B,eAAe;IACf,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;IACV,EAAE;IACF,wDAAwD;IACxD,CAAC,EAAE,MAAM,CAAC,wIAAwI,CAAC;IACnJ,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC,wIAAwI,CAAC;IACpJ,EAAE,EAAE,MAAM,CAAC,wIAAwI,CAAC;IACpJ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,IAAI,EAAE,KAAK;IACX,wBAAwB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,mDAAmD;CACrF,EAAE,eAAM,CAAC,CAAC;AACP,QAAA,SAAS,GAAG,YAAI,CAAC;AAE9B,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,YAAY,CACrD,iBAAS,CAAC,eAAe,EACzB,CAAC,OAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EACzC;IACE,GAAG,EAAE,2BAA2B;IAChC,SAAS,EAAE,2BAA2B;IACtC,CAAC,EAAE,EAAE,CAAC,KAAK;IACX,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,GAAG;IACN,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,eAAM;CACb,CACF,CAAC;AACO,kCAAW;AAAE,sCAAa"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@noble/curves",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Minimal, auditable JS implementation of elliptic curve cryptography",
|
|
5
5
|
"files": [
|
|
6
|
-
"
|
|
6
|
+
"abstract",
|
|
7
|
+
"esm",
|
|
8
|
+
"src",
|
|
9
|
+
"*.js",
|
|
10
|
+
"*.js.map",
|
|
11
|
+
"*.d.ts",
|
|
12
|
+
"*.d.ts.map"
|
|
7
13
|
],
|
|
8
14
|
"scripts": {
|
|
9
15
|
"bench": "cd benchmark; node secp256k1.js; node curves.js; node stark.js; node bls.js",
|
|
@@ -24,12 +30,11 @@
|
|
|
24
30
|
"@noble/hashes": "1.2.0"
|
|
25
31
|
},
|
|
26
32
|
"devDependencies": {
|
|
27
|
-
"@scure/base": "~1.1.1",
|
|
28
33
|
"@scure/bip32": "~1.1.5",
|
|
29
34
|
"@scure/bip39": "~1.1.1",
|
|
30
35
|
"@types/node": "18.11.3",
|
|
31
36
|
"fast-check": "3.0.0",
|
|
32
|
-
"micro-bmark": "0.3.
|
|
37
|
+
"micro-bmark": "0.3.1",
|
|
33
38
|
"micro-should": "0.4.0",
|
|
34
39
|
"prettier": "2.8.3",
|
|
35
40
|
"typescript": "4.7.3"
|
|
@@ -37,129 +42,129 @@
|
|
|
37
42
|
"main": "index.js",
|
|
38
43
|
"exports": {
|
|
39
44
|
".": {
|
|
40
|
-
"types": "./
|
|
41
|
-
"import": "./
|
|
42
|
-
"default": "./
|
|
45
|
+
"types": "./index.d.ts",
|
|
46
|
+
"import": "./esm/index.js",
|
|
47
|
+
"default": "./index.js"
|
|
43
48
|
},
|
|
44
49
|
"./abstract/edwards": {
|
|
45
|
-
"types": "./
|
|
46
|
-
"import": "./
|
|
47
|
-
"default": "./
|
|
50
|
+
"types": "./abstract/edwards.d.ts",
|
|
51
|
+
"import": "./esm/abstract/edwards.js",
|
|
52
|
+
"default": "./abstract/edwards.js"
|
|
48
53
|
},
|
|
49
54
|
"./abstract/modular": {
|
|
50
|
-
"types": "./
|
|
51
|
-
"import": "./
|
|
52
|
-
"default": "./
|
|
55
|
+
"types": "./abstract/modular.d.ts",
|
|
56
|
+
"import": "./esm/abstract/modular.js",
|
|
57
|
+
"default": "./abstract/modular.js"
|
|
53
58
|
},
|
|
54
59
|
"./abstract/montgomery": {
|
|
55
|
-
"types": "./
|
|
56
|
-
"import": "./
|
|
57
|
-
"default": "./
|
|
60
|
+
"types": "./abstract/montgomery.d.ts",
|
|
61
|
+
"import": "./esm/abstract/montgomery.js",
|
|
62
|
+
"default": "./abstract/montgomery.js"
|
|
58
63
|
},
|
|
59
64
|
"./abstract/weierstrass": {
|
|
60
|
-
"types": "./
|
|
61
|
-
"import": "./
|
|
62
|
-
"default": "./
|
|
65
|
+
"types": "./abstract/weierstrass.d.ts",
|
|
66
|
+
"import": "./esm/abstract/weierstrass.js",
|
|
67
|
+
"default": "./abstract/weierstrass.js"
|
|
63
68
|
},
|
|
64
69
|
"./abstract/bls": {
|
|
65
|
-
"types": "./
|
|
66
|
-
"import": "./
|
|
67
|
-
"default": "./
|
|
70
|
+
"types": "./abstract/bls.d.ts",
|
|
71
|
+
"import": "./esm/abstract/bls.js",
|
|
72
|
+
"default": "./abstract/bls.js"
|
|
68
73
|
},
|
|
69
74
|
"./abstract/hash-to-curve": {
|
|
70
|
-
"types": "./
|
|
71
|
-
"import": "./
|
|
72
|
-
"default": "./
|
|
75
|
+
"types": "./abstract/hash-to-curve.d.ts",
|
|
76
|
+
"import": "./esm/abstract/hash-to-curve.js",
|
|
77
|
+
"default": "./abstract/hash-to-curve.js"
|
|
73
78
|
},
|
|
74
79
|
"./abstract/curve": {
|
|
75
|
-
"types": "./
|
|
76
|
-
"import": "./
|
|
77
|
-
"default": "./
|
|
80
|
+
"types": "./abstract/curve.d.ts",
|
|
81
|
+
"import": "./esm/abstract/curve.js",
|
|
82
|
+
"default": "./abstract/curve.js"
|
|
78
83
|
},
|
|
79
84
|
"./abstract/utils": {
|
|
80
|
-
"types": "./
|
|
81
|
-
"import": "./
|
|
82
|
-
"default": "./
|
|
85
|
+
"types": "./abstract/utils.d.ts",
|
|
86
|
+
"import": "./esm/abstract/utils.js",
|
|
87
|
+
"default": "./abstract/utils.js"
|
|
83
88
|
},
|
|
84
89
|
"./abstract/poseidon": {
|
|
85
|
-
"types": "./
|
|
86
|
-
"import": "./
|
|
87
|
-
"default": "./
|
|
90
|
+
"types": "./abstract/poseidon.d.ts",
|
|
91
|
+
"import": "./esm/abstract/poseidon.js",
|
|
92
|
+
"default": "./abstract/poseidon.js"
|
|
88
93
|
},
|
|
89
94
|
"./_shortw_utils": {
|
|
90
|
-
"types": "./
|
|
91
|
-
"import": "./
|
|
92
|
-
"default": "./
|
|
95
|
+
"types": "./_shortw_utils.d.ts",
|
|
96
|
+
"import": "./esm/_shortw_utils.js",
|
|
97
|
+
"default": "./_shortw_utils.js"
|
|
93
98
|
},
|
|
94
99
|
"./bls12-381": {
|
|
95
|
-
"types": "./
|
|
96
|
-
"import": "./
|
|
97
|
-
"default": "./
|
|
100
|
+
"types": "./bls12-381.d.ts",
|
|
101
|
+
"import": "./esm/bls12-381.js",
|
|
102
|
+
"default": "./bls12-381.js"
|
|
98
103
|
},
|
|
99
104
|
"./bn": {
|
|
100
|
-
"types": "./
|
|
101
|
-
"import": "./
|
|
102
|
-
"default": "./
|
|
105
|
+
"types": "./bn.d.ts",
|
|
106
|
+
"import": "./esm/bn.js",
|
|
107
|
+
"default": "./bn.js"
|
|
103
108
|
},
|
|
104
109
|
"./ed25519": {
|
|
105
|
-
"types": "./
|
|
106
|
-
"import": "./
|
|
107
|
-
"default": "./
|
|
110
|
+
"types": "./ed25519.d.ts",
|
|
111
|
+
"import": "./esm/ed25519.js",
|
|
112
|
+
"default": "./ed25519.js"
|
|
108
113
|
},
|
|
109
114
|
"./ed448": {
|
|
110
|
-
"types": "./
|
|
111
|
-
"import": "./
|
|
112
|
-
"default": "./
|
|
115
|
+
"types": "./ed448.d.ts",
|
|
116
|
+
"import": "./esm/ed448.js",
|
|
117
|
+
"default": "./ed448.js"
|
|
113
118
|
},
|
|
114
119
|
"./index": {
|
|
115
|
-
"types": "./
|
|
116
|
-
"import": "./
|
|
117
|
-
"default": "./
|
|
120
|
+
"types": "./index.d.ts",
|
|
121
|
+
"import": "./esm/index.js",
|
|
122
|
+
"default": "./index.js"
|
|
118
123
|
},
|
|
119
124
|
"./jubjub": {
|
|
120
|
-
"types": "./
|
|
121
|
-
"import": "./
|
|
122
|
-
"default": "./
|
|
125
|
+
"types": "./jubjub.d.ts",
|
|
126
|
+
"import": "./esm/jubjub.js",
|
|
127
|
+
"default": "./jubjub.js"
|
|
123
128
|
},
|
|
124
129
|
"./p192": {
|
|
125
|
-
"types": "./
|
|
126
|
-
"import": "./
|
|
127
|
-
"default": "./
|
|
130
|
+
"types": "./p192.d.ts",
|
|
131
|
+
"import": "./esm/p192.js",
|
|
132
|
+
"default": "./p192.js"
|
|
128
133
|
},
|
|
129
134
|
"./p224": {
|
|
130
|
-
"types": "./
|
|
131
|
-
"import": "./
|
|
132
|
-
"default": "./
|
|
135
|
+
"types": "./p224.d.ts",
|
|
136
|
+
"import": "./esm/p224.js",
|
|
137
|
+
"default": "./p224.js"
|
|
133
138
|
},
|
|
134
139
|
"./p256": {
|
|
135
|
-
"types": "./
|
|
136
|
-
"import": "./
|
|
137
|
-
"default": "./
|
|
140
|
+
"types": "./p256.d.ts",
|
|
141
|
+
"import": "./esm/p256.js",
|
|
142
|
+
"default": "./p256.js"
|
|
138
143
|
},
|
|
139
144
|
"./p384": {
|
|
140
|
-
"types": "./
|
|
141
|
-
"import": "./
|
|
142
|
-
"default": "./
|
|
145
|
+
"types": "./p384.d.ts",
|
|
146
|
+
"import": "./esm/p384.js",
|
|
147
|
+
"default": "./p384.js"
|
|
143
148
|
},
|
|
144
149
|
"./p521": {
|
|
145
|
-
"types": "./
|
|
146
|
-
"import": "./
|
|
147
|
-
"default": "./
|
|
150
|
+
"types": "./p521.d.ts",
|
|
151
|
+
"import": "./esm/p521.js",
|
|
152
|
+
"default": "./p521.js"
|
|
148
153
|
},
|
|
149
154
|
"./pasta": {
|
|
150
|
-
"types": "./
|
|
151
|
-
"import": "./
|
|
152
|
-
"default": "./
|
|
155
|
+
"types": "./pasta.d.ts",
|
|
156
|
+
"import": "./esm/pasta.js",
|
|
157
|
+
"default": "./pasta.js"
|
|
153
158
|
},
|
|
154
159
|
"./secp256k1": {
|
|
155
|
-
"types": "./
|
|
156
|
-
"import": "./
|
|
157
|
-
"default": "./
|
|
160
|
+
"types": "./secp256k1.d.ts",
|
|
161
|
+
"import": "./esm/secp256k1.js",
|
|
162
|
+
"default": "./secp256k1.js"
|
|
158
163
|
},
|
|
159
164
|
"./stark": {
|
|
160
|
-
"types": "./
|
|
161
|
-
"import": "./
|
|
162
|
-
"default": "./
|
|
165
|
+
"types": "./stark.d.ts",
|
|
166
|
+
"import": "./esm/stark.js",
|
|
167
|
+
"default": "./stark.js"
|
|
163
168
|
}
|
|
164
169
|
},
|
|
165
170
|
"keywords": [
|
package/pasta.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pasta.d.ts","sourceRoot":"","sources":["src/pasta.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,CAAC,QAA+E,CAAC;AAC9F,eAAO,MAAM,CAAC,QAA+E,CAAC;AAG9F,eAAO,MAAM,MAAM,6CASjB,CAAC;AAEH,eAAO,MAAM,KAAK,6CAShB,CAAC"}
|
package/pasta.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pasta.js","sourceRoot":"","sources":["src/pasta.ts"],"names":[],"mappings":";;;AAAA,sEAAsE;AACtE,iDAA8C;AAC9C,8DAAwD;AACxD,yDAA6C;AAC7C,6CAA6C;AAEhC,QAAA,CAAC,GAAG,MAAM,CAAC,oEAAoE,CAAC,CAAC;AACjF,QAAA,CAAC,GAAG,MAAM,CAAC,oEAAoE,CAAC,CAAC;AAE9F,0CAA0C;AAC7B,QAAA,MAAM,GAAG,IAAA,4BAAW,EAAC;IAChC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,SAAC,CAAC;IACb,CAAC,EAAE,SAAC;IACJ,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,SAAC,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACb,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,GAAG,IAAA,0BAAO,EAAC,eAAM,CAAC;CACnB,CAAC,CAAC;AACH,yCAAyC;AAC5B,QAAA,KAAK,GAAG,IAAA,4BAAW,EAAC;IAC/B,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,SAAC,CAAC;IACb,CAAC,EAAE,SAAC;IACJ,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,SAAC,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACb,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,GAAG,IAAA,0BAAO,EAAC,eAAM,CAAC;CACnB,CAAC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { mod } from './abstract/modular.js';
|
|
2
2
|
import { ProjPointType as PointType } from './abstract/weierstrass.js';
|
|
3
|
-
import { Hex,
|
|
3
|
+
import type { Hex, PrivKey } from './abstract/utils.js';
|
|
4
|
+
import { bytesToNumberBE } from './abstract/utils.js';
|
|
4
5
|
import * as htf from './abstract/hash-to-curve.js';
|
|
5
6
|
export declare const secp256k1: Readonly<{
|
|
6
7
|
create: (hash: import("./abstract/utils.js").CHash) => import("./abstract/weierstrass.js").CurveFn;
|
|
@@ -46,10 +47,11 @@ export declare const secp256k1: Readonly<{
|
|
|
46
47
|
ProjectivePoint: import("./abstract/weierstrass.js").ProjConstructor<bigint>;
|
|
47
48
|
Signature: import("./abstract/weierstrass.js").SignatureConstructor;
|
|
48
49
|
utils: {
|
|
49
|
-
|
|
50
|
+
normPrivateKeyToScalar: (key: PrivKey) => bigint;
|
|
50
51
|
isValidPrivateKey(privateKey: PrivKey): boolean;
|
|
51
52
|
hashToPrivateKey: (hash: Hex) => Uint8Array;
|
|
52
53
|
randomPrivateKey: () => Uint8Array;
|
|
54
|
+
precompute: (windowSize?: number | undefined, point?: PointType<bigint> | undefined) => PointType<bigint>;
|
|
53
55
|
};
|
|
54
56
|
}>;
|
|
55
57
|
declare function taggedHash(tag: string, ...messages: Uint8Array[]): Uint8Array;
|
|
@@ -59,10 +61,17 @@ declare function schnorrGetExtPubKey(priv: PrivKey): {
|
|
|
59
61
|
bytes: Uint8Array;
|
|
60
62
|
};
|
|
61
63
|
declare function lift_x(x: bigint): PointType<bigint>;
|
|
64
|
+
/**
|
|
65
|
+
* Schnorr public key is just `x` coordinate of Point as per BIP340.
|
|
66
|
+
*/
|
|
62
67
|
declare function schnorrGetPublicKey(privateKey: Hex): Uint8Array;
|
|
68
|
+
/**
|
|
69
|
+
* Creates Schnorr signature as per BIP340. Verifies itself before returning anything.
|
|
70
|
+
* auxRand is optional and is not the sole source of k generation: bad CSPRNG won't be dangerous.
|
|
71
|
+
*/
|
|
63
72
|
declare function schnorrSign(message: Hex, privateKey: PrivKey, auxRand?: Hex): Uint8Array;
|
|
64
73
|
/**
|
|
65
|
-
* Verifies Schnorr signature
|
|
74
|
+
* Verifies Schnorr signature.
|
|
66
75
|
*/
|
|
67
76
|
declare function schnorrVerify(signature: Hex, message: Hex, publicKey: Hex): boolean;
|
|
68
77
|
export declare const schnorr: {
|
|
@@ -70,14 +79,16 @@ export declare const schnorr: {
|
|
|
70
79
|
sign: typeof schnorrSign;
|
|
71
80
|
verify: typeof schnorrVerify;
|
|
72
81
|
utils: {
|
|
82
|
+
randomPrivateKey: () => Uint8Array;
|
|
73
83
|
getExtendedPublicKey: typeof schnorrGetExtPubKey;
|
|
74
84
|
lift_x: typeof lift_x;
|
|
75
85
|
pointToBytes: (point: PointType<bigint>) => Uint8Array;
|
|
76
86
|
numberToBytesBE: (n: bigint, len: number) => Uint8Array;
|
|
77
|
-
bytesToNumberBE: typeof
|
|
87
|
+
bytesToNumberBE: typeof bytesToNumberBE;
|
|
78
88
|
taggedHash: typeof taggedHash;
|
|
79
89
|
mod: typeof mod;
|
|
80
90
|
};
|
|
81
91
|
};
|
|
82
|
-
declare const hashToCurve: (msg:
|
|
83
|
-
export {
|
|
92
|
+
export declare const hashToCurve: (msg: Uint8Array, options?: htf.htfBasicOpts | undefined) => htf.H2CPoint<bigint>, encodeToCurve: (msg: Uint8Array, options?: htf.htfBasicOpts | undefined) => htf.H2CPoint<bigint>;
|
|
93
|
+
export {};
|
|
94
|
+
//# sourceMappingURL=secp256k1.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secp256k1.d.ts","sourceRoot":"","sources":["src/secp256k1.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,GAAG,EAAQ,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,aAAa,IAAI,SAAS,EAAuB,MAAM,2BAA2B,CAAC;AAC5F,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAA6C,MAAM,qBAAqB,CAAC;AACjG,OAAO,KAAK,GAAG,MAAM,6BAA6B,CAAC;AAwCnD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2CrB,CAAC;AASF,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,CAQtE;AASD,iBAAS,mBAAmB,CAAC,IAAI,EAAE,OAAO;;;;EAKzC;AACD,iBAAS,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAS5C;AAKD;;GAEG;AACH,iBAAS,mBAAmB,CAAC,UAAU,EAAE,GAAG,GAAG,UAAU,CAExD;AAED;;;GAGG;AACH,iBAAS,WAAW,CAClB,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,OAAO,EACnB,OAAO,GAAE,GAAqB,GAC7B,UAAU,CAgBZ;AAED;;GAEG;AACH,iBAAS,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAiB5E;AAED,eAAO,MAAM,OAAO;;;;;;;;8BAlFS,UAAU,MAAM,CAAC;;;;;;CAgG7C,CAAC;AAuCF,eAAO,MAAQ,WAAW,qFAAE,aAAa,mFAexC,CAAC"}
|