@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.
Files changed (177) hide show
  1. package/README.md +27 -15
  2. package/abstract/bls.js +1 -1
  3. package/abstract/bls.js.map +1 -1
  4. package/abstract/curve.d.ts +1 -1
  5. package/abstract/curve.d.ts.map +1 -1
  6. package/abstract/edwards.d.ts.map +1 -1
  7. package/abstract/edwards.js +3 -2
  8. package/abstract/edwards.js.map +1 -1
  9. package/abstract/hash-to-curve.d.ts +10 -5
  10. package/abstract/hash-to-curve.d.ts.map +1 -1
  11. package/abstract/hash-to-curve.js +31 -23
  12. package/abstract/hash-to-curve.js.map +1 -1
  13. package/abstract/modular.d.ts +11 -8
  14. package/abstract/modular.d.ts.map +1 -1
  15. package/abstract/modular.js +70 -58
  16. package/abstract/modular.js.map +1 -1
  17. package/abstract/montgomery.d.ts.map +1 -1
  18. package/abstract/montgomery.js +2 -1
  19. package/abstract/montgomery.js.map +1 -1
  20. package/abstract/poseidon.d.ts +39 -2
  21. package/abstract/poseidon.d.ts.map +1 -1
  22. package/abstract/poseidon.js +183 -4
  23. package/abstract/poseidon.js.map +1 -1
  24. package/abstract/tower.d.ts.map +1 -1
  25. package/abstract/tower.js +3 -4
  26. package/abstract/tower.js.map +1 -1
  27. package/abstract/utils.d.ts +1 -0
  28. package/abstract/utils.d.ts.map +1 -1
  29. package/abstract/utils.js +2 -0
  30. package/abstract/utils.js.map +1 -1
  31. package/abstract/weierstrass.d.ts +4 -5
  32. package/abstract/weierstrass.d.ts.map +1 -1
  33. package/abstract/weierstrass.js +6 -6
  34. package/abstract/weierstrass.js.map +1 -1
  35. package/bn254.d.ts +1 -0
  36. package/bn254.d.ts.map +1 -1
  37. package/bn254.js +10 -0
  38. package/bn254.js.map +1 -1
  39. package/ed25519.d.ts +2 -1
  40. package/ed25519.d.ts.map +1 -1
  41. package/ed25519.js +6 -6
  42. package/ed25519.js.map +1 -1
  43. package/ed448.d.ts +2 -1
  44. package/ed448.d.ts.map +1 -1
  45. package/ed448.js +5 -5
  46. package/ed448.js.map +1 -1
  47. package/esm/abstract/bls.js +1 -1
  48. package/esm/abstract/bls.js.map +1 -1
  49. package/esm/abstract/curve.d.ts +1 -1
  50. package/esm/abstract/curve.d.ts.map +1 -1
  51. package/esm/abstract/edwards.d.ts.map +1 -1
  52. package/esm/abstract/edwards.js +5 -4
  53. package/esm/abstract/edwards.js.map +1 -1
  54. package/esm/abstract/hash-to-curve.d.ts +10 -5
  55. package/esm/abstract/hash-to-curve.d.ts.map +1 -1
  56. package/esm/abstract/hash-to-curve.js +32 -24
  57. package/esm/abstract/hash-to-curve.js.map +1 -1
  58. package/esm/abstract/modular.d.ts +11 -8
  59. package/esm/abstract/modular.d.ts.map +1 -1
  60. package/esm/abstract/modular.js +70 -58
  61. package/esm/abstract/modular.js.map +1 -1
  62. package/esm/abstract/montgomery.d.ts.map +1 -1
  63. package/esm/abstract/montgomery.js +3 -2
  64. package/esm/abstract/montgomery.js.map +1 -1
  65. package/esm/abstract/poseidon.d.ts +39 -2
  66. package/esm/abstract/poseidon.d.ts.map +1 -1
  67. package/esm/abstract/poseidon.js +180 -5
  68. package/esm/abstract/poseidon.js.map +1 -1
  69. package/esm/abstract/tower.d.ts.map +1 -1
  70. package/esm/abstract/tower.js +3 -4
  71. package/esm/abstract/tower.js.map +1 -1
  72. package/esm/abstract/utils.d.ts +1 -0
  73. package/esm/abstract/utils.d.ts.map +1 -1
  74. package/esm/abstract/utils.js +2 -0
  75. package/esm/abstract/utils.js.map +1 -1
  76. package/esm/abstract/weierstrass.d.ts +4 -5
  77. package/esm/abstract/weierstrass.d.ts.map +1 -1
  78. package/esm/abstract/weierstrass.js +8 -8
  79. package/esm/abstract/weierstrass.js.map +1 -1
  80. package/esm/bn254.d.ts +1 -0
  81. package/esm/bn254.d.ts.map +1 -1
  82. package/esm/bn254.js +10 -0
  83. package/esm/bn254.js.map +1 -1
  84. package/esm/ed25519.d.ts +2 -1
  85. package/esm/ed25519.d.ts.map +1 -1
  86. package/esm/ed25519.js +6 -6
  87. package/esm/ed25519.js.map +1 -1
  88. package/esm/ed448.d.ts +2 -1
  89. package/esm/ed448.d.ts.map +1 -1
  90. package/esm/ed448.js +5 -5
  91. package/esm/ed448.js.map +1 -1
  92. package/esm/jubjub.d.ts +7 -1
  93. package/esm/jubjub.d.ts.map +1 -1
  94. package/esm/jubjub.js +7 -1
  95. package/esm/jubjub.js.map +1 -1
  96. package/esm/misc.d.ts +8 -2
  97. package/esm/misc.d.ts.map +1 -1
  98. package/esm/misc.js +10 -4
  99. package/esm/misc.js.map +1 -1
  100. package/esm/nist.d.ts +29 -0
  101. package/esm/nist.d.ts.map +1 -0
  102. package/esm/nist.js +120 -0
  103. package/esm/nist.js.map +1 -0
  104. package/esm/p256.d.ts +7 -9
  105. package/esm/p256.d.ts.map +1 -1
  106. package/esm/p256.js +6 -44
  107. package/esm/p256.js.map +1 -1
  108. package/esm/p384.d.ts +9 -10
  109. package/esm/p384.d.ts.map +1 -1
  110. package/esm/p384.js +7 -46
  111. package/esm/p384.js.map +1 -1
  112. package/esm/p521.d.ts +7 -8
  113. package/esm/p521.d.ts.map +1 -1
  114. package/esm/p521.js +6 -46
  115. package/esm/p521.js.map +1 -1
  116. package/esm/pasta.d.ts +5 -1
  117. package/esm/pasta.d.ts.map +1 -1
  118. package/esm/pasta.js +5 -1
  119. package/esm/pasta.js.map +1 -1
  120. package/esm/secp256k1.d.ts +3 -3
  121. package/esm/secp256k1.d.ts.map +1 -1
  122. package/esm/secp256k1.js +5 -6
  123. package/esm/secp256k1.js.map +1 -1
  124. package/jubjub.d.ts +7 -1
  125. package/jubjub.d.ts.map +1 -1
  126. package/jubjub.js +8 -5
  127. package/jubjub.js.map +1 -1
  128. package/misc.d.ts +8 -2
  129. package/misc.d.ts.map +1 -1
  130. package/misc.js +11 -5
  131. package/misc.js.map +1 -1
  132. package/nist.d.ts +29 -0
  133. package/nist.d.ts.map +1 -0
  134. package/nist.js +123 -0
  135. package/nist.js.map +1 -0
  136. package/p256.d.ts +7 -9
  137. package/p256.d.ts.map +1 -1
  138. package/p256.js +5 -49
  139. package/p256.js.map +1 -1
  140. package/p384.d.ts +9 -10
  141. package/p384.d.ts.map +1 -1
  142. package/p384.js +6 -51
  143. package/p384.js.map +1 -1
  144. package/p521.d.ts +7 -8
  145. package/p521.d.ts.map +1 -1
  146. package/p521.js +5 -51
  147. package/p521.js.map +1 -1
  148. package/package.json +106 -6
  149. package/pasta.d.ts +5 -1
  150. package/pasta.d.ts.map +1 -1
  151. package/pasta.js +5 -3
  152. package/pasta.js.map +1 -1
  153. package/secp256k1.d.ts +3 -3
  154. package/secp256k1.d.ts.map +1 -1
  155. package/secp256k1.js +6 -7
  156. package/secp256k1.js.map +1 -1
  157. package/src/abstract/bls.ts +1 -1
  158. package/src/abstract/curve.ts +1 -1
  159. package/src/abstract/edwards.ts +11 -11
  160. package/src/abstract/hash-to-curve.ts +44 -36
  161. package/src/abstract/modular.ts +67 -58
  162. package/src/abstract/montgomery.ts +3 -2
  163. package/src/abstract/poseidon.ts +208 -13
  164. package/src/abstract/tower.ts +3 -4
  165. package/src/abstract/utils.ts +2 -0
  166. package/src/abstract/weierstrass.ts +19 -15
  167. package/src/bn254.ts +10 -0
  168. package/src/ed25519.ts +8 -7
  169. package/src/ed448.ts +7 -5
  170. package/src/jubjub.ts +8 -5
  171. package/src/misc.ts +10 -4
  172. package/src/nist.ts +154 -0
  173. package/src/p256.ts +6 -50
  174. package/src/p384.ts +8 -56
  175. package/src/p521.ts +6 -65
  176. package/src/pasta.ts +5 -1
  177. package/src/secp256k1.ts +9 -8
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 curve, ECDSA and ECDH methods.
5
- * Field: `2n**384n - 2n**128n - 2n**96n + 2n**32n - 1n`.
6
- * */
7
- export declare const p384: CurveFnWithCreate;
8
- /** Alias to p384. */
9
- export declare const secp384r1: CurveFnWithCreate;
10
- /** secp384r1 hash-to-curve from RFC 9380. */
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":"AAOA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAc3E;;;KAGK;AAEL,eAAO,MAAM,IAAI,EAAE,iBASA,CAAC;AACpB,qBAAqB;AACrB,eAAO,MAAM,SAAS,EAAE,iBAAwB,CAAC;AAmBjD,6CAA6C;AAC7C,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAA6C,CAAC;AACxF,+CAA+C;AAC/C,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,MAAM,CAA+C,CAAC"}
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
- * NIST secp384r1 aka p384.
6
- * https://www.secg.org/sec2-v2.pdf, https://neuromancer.sk/std/nist/P-384
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
- // 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":";;;AAAA;;;;GAIG;AACH,sEAAsE;AACtE,6CAA4C;AAC5C,yDAAyE;AACzE,kEAA2E;AAC3E,sDAA8C;AAC9C,8DAAgE;AAEhE,0CAA0C;AAC1C,MAAM,KAAK,GAAG,IAAA,kBAAK,EACjB,MAAM,CACJ,oGAAoG,CACrG,CACF,CAAC;AACF,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3C,kBAAkB;AAClB,MAAM,OAAO,GAAG,MAAM,CAAC,oGAAoG,CAAC,CAAC;AAE7H;;;KAGK;AACL,kBAAkB;AACL,QAAA,IAAI,GAAsB,IAAA,8BAAW,EAAC;IACjD,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;IACV,EAAE,EAAE,KAAK;IACT,CAAC,EAAE,MAAM,CAAC,oGAAoG,CAAC;IAC/G,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,EAAE,aAAM,CAAC,CAAC;AACpB,qBAAqB;AACR,QAAA,SAAS,GAAsB,YAAI,CAAC;AAEjD,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,GAAG,EAAE,CACnC,IAAA,oCAAmB,EAAC,KAAK,EAAE;IACzB,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;CAC/B,CAAC,CAAC,EAAE,CAAC;AAER,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,GAAG,EAAE,CAChC,IAAA,+BAAY,EAAC,iBAAS,CAAC,eAAe,EAAE,CAAC,OAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;IACjF,GAAG,EAAE,2BAA2B;IAChC,SAAS,EAAE,2BAA2B;IACtC,CAAC,EAAE,KAAK,CAAC,KAAK;IACd,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,GAAG;IACN,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,aAAM;CACb,CAAC,CAAC,EAAE,CAAC;AACR,6CAA6C;AAChC,QAAA,WAAW,GAAsC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;AACxF,+CAA+C;AAClC,QAAA,aAAa,GAAsC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC"}
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 curve, ECDSA and ECDH methods.
5
- * Field: `2n**521n - 1n`.
2
+ * NIST secp521r1 aka p521.
3
+ * @module
6
4
  */
7
- export declare const p521: CurveFnWithCreate;
8
- export declare const secp521r1: CurveFnWithCreate;
9
- /** secp521r1 hash-to-curve from RFC 9380. */
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":"AAQA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAgB3E;;;GAGG;AAEH,eAAO,MAAM,IAAI,EAAE,iBAgBA,CAAC;AACpB,eAAO,MAAM,SAAS,EAAE,iBAAwB,CAAC;AAmBjD,6CAA6C;AAC7C,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAA6C,CAAC;AACxF,+CAA+C;AAC/C,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,MAAM,CAA+C,CAAC"}
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
- * NIST secp521r1 aka p521.
6
- * Note that it's 521, which differs from 512 of its hash function.
7
- * https://www.secg.org/sec2-v2.pdf, https://neuromancer.sk/std/nist/P-521
8
- * @module
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":";;;AAAA;;;;;GAKG;AACH,sEAAsE;AACtE,6CAA4C;AAC5C,yDAAyE;AACzE,kEAA2E;AAC3E,sDAA8C;AAC9C,8DAAgE;AAEhE,0CAA0C;AAC1C,MAAM,KAAK,GAAG,IAAA,kBAAK,EACjB,MAAM,CACJ,uIAAuI,CACxI,CACF,CAAC;AAEF,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3C,MAAM,OAAO,GAAG,MAAM,CACpB,wIAAwI,CACzI,CAAC;AAEF;;;GAGG;AACH,kBAAkB;AACL,QAAA,IAAI,GAAsB,IAAA,8BAAW,EAAC;IACjD,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;IACV,EAAE,EAAE,KAAK;IACT,CAAC,EAAE,MAAM,CACP,wIAAwI,CACzI;IACD,EAAE,EAAE,MAAM,CACR,wIAAwI,CACzI;IACD,EAAE,EAAE,MAAM,CACR,wIAAwI,CACzI;IACD,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,IAAI,EAAE,KAAK;IACX,wBAAwB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,mDAAmD;CACrF,EAAE,aAAM,CAAC,CAAC;AACP,QAAA,SAAS,GAAsB,YAAI,CAAC;AAEjD,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,GAAG,EAAE,CACnC,IAAA,oCAAmB,EAAC,KAAK,EAAE;IACzB,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC,CAAC,EAAE,CAAC;AAER,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,GAAG,EAAE,CAChC,IAAA,+BAAY,EAAC,iBAAS,CAAC,eAAe,EAAE,CAAC,OAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;IACjF,GAAG,EAAE,2BAA2B;IAChC,SAAS,EAAE,2BAA2B;IACtC,CAAC,EAAE,KAAK,CAAC,KAAK;IACd,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,GAAG;IACN,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,aAAM;CACb,CAAC,CAAC,EAAE,CAAC;AACR,6CAA6C;AAChC,QAAA,WAAW,GAAsC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;AACxF,+CAA+C;AAClC,QAAA,aAAa,GAAsC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC"}
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.8.2",
3
+ "version": "1.9.0",
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.7.2"
35
+ "@noble/hashes": "1.8.0"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@paulmillr/jsbt": "0.3.3",
39
39
  "fast-check": "3.0.0",
40
- "micro-bmark": "0.4.0",
41
- "micro-should": "0.5.1",
42
- "prettier": "3.5.2",
43
- "typescript": "5.8.2"
40
+ "micro-bmark": "0.4.1",
41
+ "micro-should": "0.5.2",
42
+ "prettier": "3.5.3",
43
+ "typescript": "5.8.3"
44
44
  },
45
45
  "sideEffects": false,
46
46
  "main": "index.js",
@@ -121,6 +121,10 @@
121
121
  "import": "./esm/misc.js",
122
122
  "require": "./misc.js"
123
123
  },
124
+ "./nist": {
125
+ "import": "./esm/nist.js",
126
+ "require": "./nist.js"
127
+ },
124
128
  "./p256": {
125
129
  "import": "./esm/p256.js",
126
130
  "require": "./p256.js"
@@ -140,6 +144,102 @@
140
144
  "./secp256k1": {
141
145
  "import": "./esm/secp256k1.js",
142
146
  "require": "./secp256k1.js"
147
+ },
148
+ "./abstract/bls.js": {
149
+ "import": "./esm/abstract/bls.js",
150
+ "require": "./abstract/bls.js"
151
+ },
152
+ "./abstract/curve.js": {
153
+ "import": "./esm/abstract/curve.js",
154
+ "require": "./abstract/curve.js"
155
+ },
156
+ "./abstract/edwards.js": {
157
+ "import": "./esm/abstract/edwards.js",
158
+ "require": "./abstract/edwards.js"
159
+ },
160
+ "./abstract/hash-to-curve.js": {
161
+ "import": "./esm/abstract/hash-to-curve.js",
162
+ "require": "./abstract/hash-to-curve.js"
163
+ },
164
+ "./abstract/modular.js": {
165
+ "import": "./esm/abstract/modular.js",
166
+ "require": "./abstract/modular.js"
167
+ },
168
+ "./abstract/montgomery.js": {
169
+ "import": "./esm/abstract/montgomery.js",
170
+ "require": "./abstract/montgomery.js"
171
+ },
172
+ "./abstract/poseidon.js": {
173
+ "import": "./esm/abstract/poseidon.js",
174
+ "require": "./abstract/poseidon.js"
175
+ },
176
+ "./abstract/tower.js": {
177
+ "import": "./esm/abstract/tower.js",
178
+ "require": "./abstract/tower.js"
179
+ },
180
+ "./abstract/utils.js": {
181
+ "import": "./esm/abstract/utils.js",
182
+ "require": "./abstract/utils.js"
183
+ },
184
+ "./abstract/weierstrass.js": {
185
+ "import": "./esm/abstract/weierstrass.js",
186
+ "require": "./abstract/weierstrass.js"
187
+ },
188
+ "./_shortw_utils.js": {
189
+ "import": "./esm/_shortw_utils.js",
190
+ "require": "./_shortw_utils.js"
191
+ },
192
+ "./bls12-381.js": {
193
+ "import": "./esm/bls12-381.js",
194
+ "require": "./bls12-381.js"
195
+ },
196
+ "./bn254.js": {
197
+ "import": "./esm/bn254.js",
198
+ "require": "./bn254.js"
199
+ },
200
+ "./ed448.js": {
201
+ "import": "./esm/ed448.js",
202
+ "require": "./ed448.js"
203
+ },
204
+ "./ed25519.js": {
205
+ "import": "./esm/ed25519.js",
206
+ "require": "./ed25519.js"
207
+ },
208
+ "./index.js": {
209
+ "import": "./esm/index.js",
210
+ "require": "./index.js"
211
+ },
212
+ "./jubjub.js": {
213
+ "import": "./esm/jubjub.js",
214
+ "require": "./jubjub.js"
215
+ },
216
+ "./misc.js": {
217
+ "import": "./esm/misc.js",
218
+ "require": "./misc.js"
219
+ },
220
+ "./nist.js": {
221
+ "import": "./esm/nist.js",
222
+ "require": "./nist.js"
223
+ },
224
+ "./p256.js": {
225
+ "import": "./esm/p256.js",
226
+ "require": "./p256.js"
227
+ },
228
+ "./p384.js": {
229
+ "import": "./esm/p384.js",
230
+ "require": "./p384.js"
231
+ },
232
+ "./p521.js": {
233
+ "import": "./esm/p521.js",
234
+ "require": "./p521.js"
235
+ },
236
+ "./pasta.js": {
237
+ "import": "./esm/pasta.js",
238
+ "require": "./pasta.js"
239
+ },
240
+ "./secp256k1.js": {
241
+ "import": "./esm/secp256k1.js",
242
+ "require": "./secp256k1.js"
143
243
  }
144
244
  },
145
245
  "engines": {
package/pasta.d.ts CHANGED
@@ -1,2 +1,6 @@
1
- export { pallas, vesta } from './misc.ts';
1
+ import { pallas as pn, vesta as vn } from './misc.ts';
2
+ /** @deprecated */
3
+ export declare const pallas: typeof pn;
4
+ /** @deprecated */
5
+ export declare const vesta: typeof vn;
2
6
  //# 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,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,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.vesta = exports.pallas = void 0;
4
- var misc_ts_1 = require("./misc.js");
5
- Object.defineProperty(exports, "pallas", { enumerable: true, get: function () { return misc_ts_1.pallas; } });
6
- Object.defineProperty(exports, "vesta", { enumerable: true, get: function () { return misc_ts_1.vesta; } });
4
+ const misc_ts_1 = require("./misc.js");
5
+ /** @deprecated */
6
+ exports.pallas = misc_ts_1.pallas;
7
+ /** @deprecated */
8
+ exports.vesta = misc_ts_1.vesta;
7
9
  //# 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,qCAA0C;AAAjC,iGAAA,MAAM,OAAA;AAAE,gGAAA,KAAK,OAAA"}
1
+ {"version":3,"file":"pasta.js","sourceRoot":"","sources":["src/pasta.ts"],"names":[],"mappings":";;;AAAA,uCAAsD;AACtD,kBAAkB;AACL,QAAA,MAAM,GAAc,gBAAE,CAAC;AACpC,kBAAkB;AACL,QAAA,KAAK,GAAc,eAAE,CAAC"}
package/secp256k1.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type CurveFnWithCreate } from './_shortw_utils.ts';
2
- import { type HTFMethod } from './abstract/hash-to-curve.ts';
2
+ import { type Hasher, type HTFMethod } from './abstract/hash-to-curve.ts';
3
3
  import { mod } from './abstract/modular.ts';
4
4
  import type { Hex, PrivKey } from './abstract/utils.ts';
5
5
  import { bytesToNumberBE, numberToBytesBE } from './abstract/utils.ts';
@@ -68,9 +68,9 @@ export type SecpSchnorr = {
68
68
  * ```
69
69
  */
70
70
  export declare const schnorr: SecpSchnorr;
71
- /** secp256k1 hash-to-curve from RFC 9380. */
71
+ /** Hashing / encoding to secp256k1 points / field. RFC 9380 methods. */
72
+ export declare const secp256k1_hasher: Hasher<bigint>;
72
73
  export declare const hashToCurve: HTFMethod<bigint>;
73
- /** secp256k1 encode-to-curve from RFC 9380. */
74
74
  export declare const encodeToCurve: HTFMethod<bigint>;
75
75
  export {};
76
76
  //# sourceMappingURL=secp256k1.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"secp256k1.d.ts","sourceRoot":"","sources":["src/secp256k1.ts"],"names":[],"mappings":"AAeA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAgB,KAAK,SAAS,EAAc,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAS,GAAG,EAAQ,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAEL,eAAe,EAIf,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAuB,KAAK,aAAa,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAsCjG;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,EAAE,iBAqCvB,CAAC;AAOF,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,CAQtE;AAkBD;;;GAGG;AACH,iBAAS,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAS5C;AASD;;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;;;GAGG;AACH,iBAAS,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAiB5E;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,YAAY,EAAE,OAAO,mBAAmB,CAAC;IACzC,IAAI,EAAE,OAAO,WAAW,CAAC;IACzB,MAAM,EAAE,OAAO,aAAa,CAAC;IAC7B,KAAK,EAAE;QACL,gBAAgB,EAAE,MAAM,UAAU,CAAC;QACnC,MAAM,EAAE,OAAO,MAAM,CAAC;QACtB,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC;QACvD,eAAe,EAAE,OAAO,eAAe,CAAC;QACxC,eAAe,EAAE,OAAO,eAAe,CAAC;QACxC,UAAU,EAAE,OAAO,UAAU,CAAC;QAC9B,GAAG,EAAE,OAAO,GAAG,CAAC;KACjB,CAAC;CACH,CAAC;AACF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,EAAE,WAajB,CAAC;AA2DN,6CAA6C;AAC7C,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAA6C,CAAC;AAExF,+CAA+C;AAC/C,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,MAAM,CAA+C,CAAC"}
1
+ {"version":3,"file":"secp256k1.d.ts","sourceRoot":"","sources":["src/secp256k1.ts"],"names":[],"mappings":"AAeA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAgB,KAAK,MAAM,EAAE,KAAK,SAAS,EAAc,MAAM,6BAA6B,CAAC;AACpG,OAAO,EAAS,GAAG,EAAQ,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAEL,eAAe,EAIf,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAuB,KAAK,aAAa,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAsCjG;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,EAAE,iBAqCvB,CAAC;AAOF,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,CAQtE;AAkBD;;;GAGG;AACH,iBAAS,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAS5C;AASD;;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;;;GAGG;AACH,iBAAS,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAiB5E;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,YAAY,EAAE,OAAO,mBAAmB,CAAC;IACzC,IAAI,EAAE,OAAO,WAAW,CAAC;IACzB,MAAM,EAAE,OAAO,aAAa,CAAC;IAC7B,KAAK,EAAE;QACL,gBAAgB,EAAE,MAAM,UAAU,CAAC;QACnC,MAAM,EAAE,OAAO,MAAM,CAAC;QACtB,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC;QACvD,eAAe,EAAE,OAAO,eAAe,CAAC;QACxC,eAAe,EAAE,OAAO,eAAe,CAAC;QACxC,UAAU,EAAE,OAAO,UAAU,CAAC;QAC9B,GAAG,EAAE,OAAO,GAAG,CAAC;KACjB,CAAC;CACH,CAAC;AACF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,EAAE,WAajB,CAAC;AAyCN,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAgBtC,CAAC;AAEP,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CACT,CAAC;AAElC,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,MAAM,CACT,CAAC"}
package/secp256k1.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.encodeToCurve = exports.hashToCurve = exports.schnorr = exports.secp256k1 = void 0;
3
+ exports.encodeToCurve = exports.hashToCurve = exports.secp256k1_hasher = exports.schnorr = exports.secp256k1 = void 0;
4
4
  /**
5
5
  * NIST secp256k1. See [pdf](https://www.secg.org/sec2-v2.pdf).
6
6
  *
@@ -77,7 +77,7 @@ exports.secp256k1 = (0, _shortw_utils_ts_1.createCurve)({
77
77
  n: secp256k1N,
78
78
  Gx: BigInt('55066263022277343669578718895168534326250603453777594175500187360389116729240'),
79
79
  Gy: BigInt('32670510020758816978083085130507043184471273380659243275938904335757337482424'),
80
- h: BigInt(1), // Cofactor
80
+ h: BigInt(1),
81
81
  lowS: true, // Allow only low-S signatures by default in sign() and verify()
82
82
  endo: {
83
83
  // Endomorphism, see above
@@ -272,7 +272,8 @@ const mapSWU = /* @__PURE__ */ (() => (0, weierstrass_ts_1.mapToCurveSimpleSWU)(
272
272
  B: BigInt('1771'),
273
273
  Z: Fpk1.create(BigInt('-11')),
274
274
  }))();
275
- const htf = /* @__PURE__ */ (() => (0, hash_to_curve_ts_1.createHasher)(exports.secp256k1.ProjectivePoint, (scalars) => {
275
+ /** Hashing / encoding to secp256k1 points / field. RFC 9380 methods. */
276
+ exports.secp256k1_hasher = (() => (0, hash_to_curve_ts_1.createHasher)(exports.secp256k1.ProjectivePoint, (scalars) => {
276
277
  const { x, y } = mapSWU(Fpk1.create(scalars[0]));
277
278
  return isoMap(x, y);
278
279
  }, {
@@ -284,8 +285,6 @@ const htf = /* @__PURE__ */ (() => (0, hash_to_curve_ts_1.createHasher)(exports.
284
285
  expand: 'xmd',
285
286
  hash: sha2_1.sha256,
286
287
  }))();
287
- /** secp256k1 hash-to-curve from RFC 9380. */
288
- exports.hashToCurve = (() => htf.hashToCurve)();
289
- /** secp256k1 encode-to-curve from RFC 9380. */
290
- exports.encodeToCurve = (() => htf.encodeToCurve)();
288
+ exports.hashToCurve = (() => exports.secp256k1_hasher.hashToCurve)();
289
+ exports.encodeToCurve = (() => exports.secp256k1_hasher.encodeToCurve)();
291
290
  //# sourceMappingURL=secp256k1.js.map
package/secp256k1.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"secp256k1.js","sourceRoot":"","sources":["src/secp256k1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secp256k1.js","sourceRoot":"","sources":["src/secp256k1.ts"],"names":[],"mappings":"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"}
@@ -315,7 +315,7 @@ export function bls(CURVE: CurveType): CurveFn {
315
315
  // This up to x2 faster than just `map(({g1, g2})=>pairing({g1,g2}))`
316
316
  function pairingBatch(pairs: PairingInput[], withFinalExponent: boolean = true) {
317
317
  const res: MillerInput = [];
318
- // This cache precomputed toAffine for all points
318
+ // Cache precomputed toAffine for all points
319
319
  G1.ProjectivePoint.normalizeZ(pairs.map(({ g1 }) => g1));
320
320
  G2.ProjectivePoint.normalizeZ(pairs.map(({ g2 }) => g2));
321
321
  for (const { g1, g2 } of pairs) {
@@ -112,9 +112,9 @@ export type IWNAF<T extends Group<T>> = {
112
112
  hasPrecomputes(elm: T): boolean;
113
113
  unsafeLadder(elm: T, n: bigint, p?: T): T;
114
114
  precomputeWindow(elm: T, W: number): Group<T>[];
115
+ getPrecomputes(W: number, P: T, transform: Mapper<T>): T[];
115
116
  wNAF(W: number, precomputes: T[], n: bigint): { p: T; f: T };
116
117
  wNAFUnsafe(W: number, precomputes: T[], n: bigint, acc?: T): T;
117
- getPrecomputes(W: number, P: T, transform: Mapper<T>): T[];
118
118
  wNAFCached(P: T, n: bigint, transform: Mapper<T>): { p: T; f: T };
119
119
  wNAFCachedUnsafe(P: T, n: bigint, transform: Mapper<T>, prev?: T): T;
120
120
  setWindowSize(P: T, W: number): void;
@@ -4,20 +4,17 @@
4
4
  * @module
5
5
  */
6
6
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
7
+ // prettier-ignore
7
8
  import {
8
- type AffinePoint,
9
- type BasicCurve,
10
- type Group,
11
- type GroupConstructor,
12
- pippenger,
13
- validateBasic,
14
- wNAF,
9
+ pippenger, validateBasic, wNAF,
10
+ type AffinePoint, type BasicCurve, type Group, type GroupConstructor
15
11
  } from './curve.ts';
16
- import { Field, mod } from './modular.ts';
12
+ import { Field, FpInvertBatch, mod } from './modular.ts';
17
13
  // prettier-ignore
18
14
  import {
19
15
  abool, aInRange, bytesToHex, bytesToNumberLE, concatBytes,
20
- ensureBytes, type FHash, type Hex, memoized, numberToBytesLE, validateObject
16
+ ensureBytes, memoized, numberToBytesLE, validateObject,
17
+ type FHash, type Hex
21
18
  } from './utils.ts';
22
19
 
23
20
  // Be friendly to bad ECMAScript parsers by not using bigint literals
@@ -244,7 +241,10 @@ export function twistedEdwards(curveDef: CurveType): CurveFn {
244
241
  return new Point(x, y, _1n, modP(x * y));
245
242
  }
246
243
  static normalizeZ(points: Point[]): Point[] {
247
- const toInv = Fp.invertBatch(points.map((p) => p.ez));
244
+ const toInv = FpInvertBatch(
245
+ Fp,
246
+ points.map((p) => p.ez)
247
+ );
248
248
  return points.map((p, i) => p.toAffine(toInv[i])).map(Point.fromAffine);
249
249
  }
250
250
  // Multiscalar Multiplication
@@ -469,7 +469,7 @@ export function twistedEdwards(curveDef: CurveType): CurveFn {
469
469
  }
470
470
 
471
471
  // int('LE', SHA512(dom2(F, C) || msgs)) mod N
472
- function hashDomainToScalar(context: Hex = new Uint8Array(), ...msgs: Uint8Array[]) {
472
+ function hashDomainToScalar(context: Hex = Uint8Array.of(), ...msgs: Uint8Array[]) {
473
473
  const msg = concatBytes(...msgs);
474
474
  return modN_LE(cHash(domain(msg, ensureBytes('context', context), !!prehash)));
475
475
  }