@noble/curves 1.9.4 → 1.9.6

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 (124) hide show
  1. package/abstract/bls.d.ts +2 -2
  2. package/abstract/bls.d.ts.map +1 -1
  3. package/abstract/curve.d.ts +47 -46
  4. package/abstract/curve.d.ts.map +1 -1
  5. package/abstract/curve.js +9 -6
  6. package/abstract/curve.js.map +1 -1
  7. package/abstract/edwards.d.ts +41 -33
  8. package/abstract/edwards.d.ts.map +1 -1
  9. package/abstract/edwards.js +166 -170
  10. package/abstract/edwards.js.map +1 -1
  11. package/abstract/modular.d.ts +1 -1
  12. package/abstract/modular.d.ts.map +1 -1
  13. package/abstract/modular.js +4 -4
  14. package/abstract/modular.js.map +1 -1
  15. package/abstract/montgomery.d.ts +2 -6
  16. package/abstract/montgomery.d.ts.map +1 -1
  17. package/abstract/montgomery.js +13 -10
  18. package/abstract/montgomery.js.map +1 -1
  19. package/abstract/tower.d.ts +9 -7
  20. package/abstract/tower.d.ts.map +1 -1
  21. package/abstract/tower.js +569 -357
  22. package/abstract/tower.js.map +1 -1
  23. package/abstract/weierstrass.d.ts +162 -92
  24. package/abstract/weierstrass.d.ts.map +1 -1
  25. package/abstract/weierstrass.js +394 -336
  26. package/abstract/weierstrass.js.map +1 -1
  27. package/bls12-381.d.ts.map +1 -1
  28. package/bls12-381.js +9 -42
  29. package/bls12-381.js.map +1 -1
  30. package/bn254.d.ts.map +1 -1
  31. package/bn254.js +2 -34
  32. package/bn254.js.map +1 -1
  33. package/ed25519.d.ts +15 -15
  34. package/ed25519.d.ts.map +1 -1
  35. package/ed25519.js +51 -48
  36. package/ed25519.js.map +1 -1
  37. package/ed448.d.ts +16 -17
  38. package/ed448.d.ts.map +1 -1
  39. package/ed448.js +67 -48
  40. package/ed448.js.map +1 -1
  41. package/esm/abstract/bls.d.ts +2 -2
  42. package/esm/abstract/bls.d.ts.map +1 -1
  43. package/esm/abstract/curve.d.ts +47 -46
  44. package/esm/abstract/curve.d.ts.map +1 -1
  45. package/esm/abstract/curve.js +9 -6
  46. package/esm/abstract/curve.js.map +1 -1
  47. package/esm/abstract/edwards.d.ts +41 -33
  48. package/esm/abstract/edwards.d.ts.map +1 -1
  49. package/esm/abstract/edwards.js +167 -171
  50. package/esm/abstract/edwards.js.map +1 -1
  51. package/esm/abstract/modular.d.ts +1 -1
  52. package/esm/abstract/modular.d.ts.map +1 -1
  53. package/esm/abstract/modular.js +4 -4
  54. package/esm/abstract/modular.js.map +1 -1
  55. package/esm/abstract/montgomery.d.ts +2 -6
  56. package/esm/abstract/montgomery.d.ts.map +1 -1
  57. package/esm/abstract/montgomery.js +14 -11
  58. package/esm/abstract/montgomery.js.map +1 -1
  59. package/esm/abstract/tower.d.ts +9 -7
  60. package/esm/abstract/tower.d.ts.map +1 -1
  61. package/esm/abstract/tower.js +570 -358
  62. package/esm/abstract/tower.js.map +1 -1
  63. package/esm/abstract/weierstrass.d.ts +162 -92
  64. package/esm/abstract/weierstrass.d.ts.map +1 -1
  65. package/esm/abstract/weierstrass.js +395 -338
  66. package/esm/abstract/weierstrass.js.map +1 -1
  67. package/esm/bls12-381.d.ts.map +1 -1
  68. package/esm/bls12-381.js +10 -43
  69. package/esm/bls12-381.js.map +1 -1
  70. package/esm/bn254.d.ts.map +1 -1
  71. package/esm/bn254.js +3 -35
  72. package/esm/bn254.js.map +1 -1
  73. package/esm/ed25519.d.ts +15 -15
  74. package/esm/ed25519.d.ts.map +1 -1
  75. package/esm/ed25519.js +51 -48
  76. package/esm/ed25519.js.map +1 -1
  77. package/esm/ed448.d.ts +16 -17
  78. package/esm/ed448.d.ts.map +1 -1
  79. package/esm/ed448.js +68 -49
  80. package/esm/ed448.js.map +1 -1
  81. package/esm/misc.js +2 -2
  82. package/esm/misc.js.map +1 -1
  83. package/esm/nist.d.ts +6 -0
  84. package/esm/nist.d.ts.map +1 -1
  85. package/esm/nist.js +6 -0
  86. package/esm/nist.js.map +1 -1
  87. package/esm/secp256k1.d.ts +2 -6
  88. package/esm/secp256k1.d.ts.map +1 -1
  89. package/esm/secp256k1.js +34 -35
  90. package/esm/secp256k1.js.map +1 -1
  91. package/esm/utils.d.ts +14 -0
  92. package/esm/utils.d.ts.map +1 -1
  93. package/esm/utils.js +43 -0
  94. package/esm/utils.js.map +1 -1
  95. package/misc.js +2 -2
  96. package/misc.js.map +1 -1
  97. package/nist.d.ts +6 -0
  98. package/nist.d.ts.map +1 -1
  99. package/nist.js +7 -1
  100. package/nist.js.map +1 -1
  101. package/package.json +2 -2
  102. package/secp256k1.d.ts +2 -6
  103. package/secp256k1.d.ts.map +1 -1
  104. package/secp256k1.js +33 -34
  105. package/secp256k1.js.map +1 -1
  106. package/src/abstract/bls.ts +2 -2
  107. package/src/abstract/curve.ts +131 -68
  108. package/src/abstract/edwards.ts +210 -219
  109. package/src/abstract/modular.ts +4 -4
  110. package/src/abstract/montgomery.ts +16 -16
  111. package/src/abstract/tower.ts +630 -382
  112. package/src/abstract/weierstrass.ts +587 -484
  113. package/src/bls12-381.ts +10 -42
  114. package/src/bn254.ts +3 -34
  115. package/src/ed25519.ts +62 -58
  116. package/src/ed448.ts +74 -77
  117. package/src/misc.ts +2 -2
  118. package/src/nist.ts +7 -0
  119. package/src/secp256k1.ts +35 -36
  120. package/src/utils.ts +48 -0
  121. package/utils.d.ts +14 -0
  122. package/utils.d.ts.map +1 -1
  123. package/utils.js +47 -0
  124. package/utils.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ed25519.d.ts","sourceRoot":"","sources":["../src/ed25519.ts"],"names":[],"mappings":"AAUA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EACL,iBAAiB,EAEjB,KAAK,OAAO,EAEZ,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAOL,KAAK,MAAM,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAc,KAAK,cAAc,IAAI,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAA6D,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AA2FjG;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,EAAE,OAAmE,CAAC;AAY1F,8DAA8D;AAC9D,eAAO,MAAM,UAAU,EAAE,OAIlB,CAAC;AAER,4FAA4F;AAC5F,eAAO,MAAM,SAAS,EAAE,OAMlB,CAAC;AAEP;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM,EAAE,QAYjB,CAAC;AAEL,mDAAmD;AACnD,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,GAAG,GAAG,UAAU,CAElE;AACD,mDAAmD;AACnD,eAAO,MAAM,mBAAmB,EAAE,OAAO,sBAA+C,CAAC;AAEzF,uDAAuD;AACvD,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,CAE3E;AA2ED,2DAA2D;AAC3D,eAAO,MAAM,cAAc,EAAE,SAAS,CAAC,MAAM,CAavC,CAAC;AA6BP,KAAK,aAAa,GAAG,YAAY,CAAC;AAsClC;;;;;;;;GAQG;AACH,cAAM,eAAgB,SAAQ,iBAAiB,CAAC,eAAe,CAAC;IAI9D,MAAM,CAAC,IAAI,EAAE,eAAe,CACwC;IAEpE,MAAM,CAAC,IAAI,EAAE,eAAe,CACwC;IAEpE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CACJ;IAErB,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CACJ;gBAET,EAAE,EAAE,aAAa;IAI7B,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,eAAe;IAI3D,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAIlD,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,GAAG,eAAe;IAIjD,wFAAwF;IACxF,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,eAAe;IAI7C,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,eAAe;IA4BpD;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,eAAe;IAIzC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,eAAe;IAIzE;;;OAGG;IACH,OAAO,IAAI,UAAU;IA4BrB;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAWvC,GAAG,IAAI,OAAO;CAGf;AAED,2CAA2C;AAC3C,eAAO,MAAM,cAAc,EAAE,OAAO,eAAiC,CAAC;AAEtE,eAAO,MAAM,YAAY,EAAE;IACzB,KAAK,EAAE,OAAO,eAAe,CAAC;CACF,CAAC;AAE/B,gEAAgE;AAChE,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,MAAM,CAQrD,CAAC;AAUF,mFAAmF;AACnF,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAAwD,CAAC;AACnG,mFAAmF;AACnF,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,MAAM,CACX,CAAC;AAClC,KAAK,UAAU,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,KAAK,eAAe,CAAC;AAC9E,wFAAwF;AACxF,eAAO,MAAM,kBAAkB,EAAE,UACiB,CAAC;AACnD,wFAAwF;AACxF,eAAO,MAAM,oBAAoB,EAAE,UACe,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,EAS5C,CAAC"}
1
+ {"version":3,"file":"ed25519.d.ts","sourceRoot":"","sources":["../src/ed25519.ts"],"names":[],"mappings":"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"}
package/esm/ed25519.js CHANGED
@@ -13,28 +13,29 @@ import { PrimeEdwardsPoint, twistedEdwards, } from "./abstract/edwards.js";
13
13
  import { _DST_scalar, createHasher, expand_message_xmd, } from "./abstract/hash-to-curve.js";
14
14
  import { Field, FpInvertBatch, FpSqrtEven, isNegativeLE, mod, pow2, } from "./abstract/modular.js";
15
15
  import { montgomery } from "./abstract/montgomery.js";
16
- import { bytesToNumberLE, ensureBytes, equalBytes, numberToBytesLE } from "./utils.js";
16
+ import { bytesToNumberLE, ensureBytes, equalBytes } from "./utils.js";
17
17
  // prettier-ignore
18
- const _0n = BigInt(0), _1n = BigInt(1), _2n = BigInt(2), _3n = BigInt(3);
18
+ const _0n = /* @__PURE__ */ BigInt(0), _1n = BigInt(1), _2n = BigInt(2), _3n = BigInt(3);
19
19
  // prettier-ignore
20
20
  const _5n = BigInt(5), _8n = BigInt(8);
21
- // P = 2n**255n - 19n
21
+ // P = 2n**255n-19n
22
+ const ed25519_CURVE_p = BigInt('0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed');
22
23
  // N = 2n**252n + 27742317777372353535851937790883648493n
23
24
  // a = Fp.create(BigInt(-1))
24
25
  // d = -121665/121666 a.k.a. Fp.neg(121665 * Fp.inv(121666))
25
- const ed25519_CURVE = {
26
- p: BigInt('0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed'),
26
+ const ed25519_CURVE = /* @__PURE__ */ (() => ({
27
+ p: ed25519_CURVE_p,
27
28
  n: BigInt('0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed'),
28
29
  h: _8n,
29
30
  a: BigInt('0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec'),
30
31
  d: BigInt('0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3'),
31
32
  Gx: BigInt('0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a'),
32
33
  Gy: BigInt('0x6666666666666666666666666666666666666666666666666666666666666658'),
33
- };
34
+ }))();
34
35
  function ed25519_pow_2_252_3(x) {
35
36
  // prettier-ignore
36
37
  const _10n = BigInt(10), _20n = BigInt(20), _40n = BigInt(40), _80n = BigInt(80);
37
- const P = ed25519_CURVE.p;
38
+ const P = ed25519_CURVE_p;
38
39
  const x2 = (x * x) % P;
39
40
  const b2 = (x2 * x) % P; // x^3, 11
40
41
  const b4 = (pow2(b2, _2n, P) * b2) % P; // x^15, 1111
@@ -65,7 +66,7 @@ function adjustScalarBytes(bytes) {
65
66
  const ED25519_SQRT_M1 = /* @__PURE__ */ BigInt('19681161376707505956807079304988542015446066515923890162744021073123829784752');
66
67
  // sqrt(u/v)
67
68
  function uvRatio(u, v) {
68
- const P = ed25519_CURVE.p;
69
+ const P = ed25519_CURVE_p;
69
70
  const v3 = mod(v * v * v, P); // v³
70
71
  const v7 = mod(v3 * v3 * v, P); // v⁷
71
72
  // (p+3)/8 and (p-5)/8
@@ -134,7 +135,7 @@ export const ed25519ph = /* @__PURE__ */ (() => twistedEdwards(Object.assign({},
134
135
  * x25519.getPublicKey(x25519.utils.randomSecretKey());
135
136
  */
136
137
  export const x25519 = /* @__PURE__ */ (() => {
137
- const P = ed25519_CURVE.p;
138
+ const P = Fp.ORDER;
138
139
  return montgomery({
139
140
  P,
140
141
  type: 'x25519',
@@ -146,25 +147,15 @@ export const x25519 = /* @__PURE__ */ (() => {
146
147
  adjustScalarBytes,
147
148
  });
148
149
  })();
149
- /** @deprecated use `ed25519.utils.toMontgomery` */
150
- export function edwardsToMontgomeryPub(edwardsPub) {
151
- return ed25519.utils.toMontgomery(ensureBytes('pub', edwardsPub));
152
- }
153
- /** @deprecated use `ed25519.utils.toMontgomery` */
154
- export const edwardsToMontgomery = edwardsToMontgomeryPub;
155
- /** @deprecated use `ed25519.utils.toMontgomeryPriv` */
156
- export function edwardsToMontgomeryPriv(edwardsPriv) {
157
- return ed25519.utils.toMontgomeryPriv(ensureBytes('pub', edwardsPriv));
158
- }
159
150
  // Hash To Curve Elligator2 Map (NOTE: different from ristretto255 elligator)
160
151
  // NOTE: very important part is usage of FpSqrtEven for ELL2_C1_EDWARDS, since
161
152
  // SageMath returns different root first and everything falls apart
162
- const ELL2_C1 = /* @__PURE__ */ (() => (Fp.ORDER + _3n) / _8n)(); // 1. c1 = (q + 3) / 8 # Integer arithmetic
153
+ const ELL2_C1 = /* @__PURE__ */ (() => (ed25519_CURVE_p + _3n) / _8n)(); // 1. c1 = (q + 3) / 8 # Integer arithmetic
163
154
  const ELL2_C2 = /* @__PURE__ */ (() => Fp.pow(_2n, ELL2_C1))(); // 2. c2 = 2^c1
164
155
  const ELL2_C3 = /* @__PURE__ */ (() => Fp.sqrt(Fp.neg(Fp.ONE)))(); // 3. c3 = sqrt(-1)
165
156
  // prettier-ignore
166
157
  function map_to_curve_elligator2_curve25519(u) {
167
- const ELL2_C4 = (Fp.ORDER - _5n) / _8n; // 4. c4 = (q - 5) / 8 # Integer arithmetic
158
+ const ELL2_C4 = (ed25519_CURVE_p - _5n) / _8n; // 4. c4 = (q - 5) / 8 # Integer arithmetic
168
159
  const ELL2_J = BigInt(486662);
169
160
  let tv1 = Fp.sqr(u); // 1. tv1 = u^2
170
161
  tv1 = Fp.mul(tv1, _2n); // 2. tv1 = 2 * tv1
@@ -228,7 +219,7 @@ function map_to_curve_elligator2_edwards25519(u) {
228
219
  export const ed25519_hasher = /* @__PURE__ */ (() => createHasher(ed25519.Point, (scalars) => map_to_curve_elligator2_edwards25519(scalars[0]), {
229
220
  DST: 'edwards25519_XMD:SHA-512_ELL2_RO_',
230
221
  encodeDST: 'edwards25519_XMD:SHA-512_ELL2_NU_',
231
- p: Fp.ORDER,
222
+ p: ed25519_CURVE_p,
232
223
  m: 1,
233
224
  k: 128,
234
225
  expand: 'xmd',
@@ -247,16 +238,16 @@ const D_MINUS_ONE_SQ = /* @__PURE__ */ BigInt('404408343463085368581010424693231
247
238
  // Calculates 1/√(number)
248
239
  const invertSqrt = (number) => uvRatio(_1n, number);
249
240
  const MAX_255B = /* @__PURE__ */ BigInt('0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff');
250
- const bytes255ToNumberLE = (bytes) => ed25519.CURVE.Fp.create(bytesToNumberLE(bytes) & MAX_255B);
241
+ const bytes255ToNumberLE = (bytes) => ed25519.Point.Fp.create(bytesToNumberLE(bytes) & MAX_255B);
251
242
  /**
252
243
  * Computes Elligator map for Ristretto255.
253
244
  * Described in [RFC9380](https://www.rfc-editor.org/rfc/rfc9380#appendix-B) and on
254
245
  * the [website](https://ristretto.group/formulas/elligator.html).
255
246
  */
256
247
  function calcElligatorRistrettoMap(r0) {
257
- const { d } = ed25519.CURVE;
258
- const P = ed25519.CURVE.Fp.ORDER;
259
- const mod = ed25519.CURVE.Fp.create;
248
+ const { d } = ed25519_CURVE;
249
+ const P = ed25519_CURVE_p;
250
+ const mod = (n) => Fp.create(n);
260
251
  const r = mod(SQRT_M1 * r0 * r0); // 1
261
252
  const Ns = mod((r + _1n) * ONE_MINUS_D_SQ); // 2
262
253
  let c = BigInt(-1); // 3
@@ -314,13 +305,13 @@ class _RistrettoPoint extends PrimeEdwardsPoint {
314
305
  }
315
306
  static fromBytes(bytes) {
316
307
  abytes(bytes, 32);
317
- const { a, d } = ed25519.CURVE;
318
- const P = Fp.ORDER;
319
- const mod = Fp.create;
308
+ const { a, d } = ed25519_CURVE;
309
+ const P = ed25519_CURVE_p;
310
+ const mod = (n) => Fp.create(n);
320
311
  const s = bytes255ToNumberLE(bytes);
321
312
  // 1. Check that s_bytes is the canonical encoding of a field element, or else abort.
322
313
  // 3. Check that s is non-negative, or else abort
323
- if (!equalBytes(numberToBytesLE(s, 32), bytes) || isNegativeLE(s, P))
314
+ if (!equalBytes(Fp.toBytes(s), bytes) || isNegativeLE(s, P))
324
315
  throw new Error('invalid ristretto255 encoding 1');
325
316
  const s2 = mod(s * s);
326
317
  const u1 = mod(_1n + a * s2); // 4 (a is -1)
@@ -357,8 +348,8 @@ class _RistrettoPoint extends PrimeEdwardsPoint {
357
348
  */
358
349
  toBytes() {
359
350
  let { X, Y, Z, T } = this.ep;
360
- const P = Fp.ORDER;
361
- const mod = Fp.create;
351
+ const P = ed25519_CURVE_p;
352
+ const mod = (n) => Fp.create(n);
362
353
  const u1 = mod(mod(Z + Y) * mod(Z - Y)); // 1
363
354
  const u2 = mod(X * Y); // 2
364
355
  // Square root always exists
@@ -383,7 +374,7 @@ class _RistrettoPoint extends PrimeEdwardsPoint {
383
374
  let s = mod((Z - Y) * D); // 10 (check footer's note, no sqrt(-a))
384
375
  if (isNegativeLE(s, P))
385
376
  s = mod(-s);
386
- return numberToBytesLE(s, 32); // 11
377
+ return Fp.toBytes(s); // 11
387
378
  }
388
379
  /**
389
380
  * Compares two Ristretto points.
@@ -393,7 +384,7 @@ class _RistrettoPoint extends PrimeEdwardsPoint {
393
384
  this.assertSame(other);
394
385
  const { X: X1, Y: Y1 } = this.ep;
395
386
  const { X: X2, Y: Y2 } = other.ep;
396
- const mod = Fp.create;
387
+ const mod = (n) => Fp.create(n);
397
388
  // (x1 * y2 == y1 * x2) | (y1 * y2 == x1 * x2)
398
389
  const one = mod(X1 * Y2) === mod(Y1 * X2);
399
390
  const two = mod(Y1 * Y2) === mod(X1 * X2);
@@ -413,21 +404,21 @@ _RistrettoPoint.ZERO =
413
404
  /* @__PURE__ */ (() => new _RistrettoPoint(ed25519.Point.ZERO))();
414
405
  // prettier-ignore
415
406
  _RistrettoPoint.Fp =
416
- /* @__PURE__ */ Fp;
407
+ /* @__PURE__ */ (() => Fp)();
417
408
  // prettier-ignore
418
409
  _RistrettoPoint.Fn =
419
- /* @__PURE__ */ Fn;
420
- /** @deprecated use `ristretto255.Point` */
421
- export const RistrettoPoint = _RistrettoPoint;
410
+ /* @__PURE__ */ (() => Fn)();
422
411
  export const ristretto255 = { Point: _RistrettoPoint };
423
412
  /** Hashing to ristretto255 points / field. RFC 9380 methods. */
424
413
  export const ristretto255_hasher = {
425
414
  hashToCurve(msg, options) {
426
415
  const DST = options?.DST || 'ristretto255_XMD:SHA-512_R255MAP_RO_';
427
- return ristretto255_map(expand_message_xmd(msg, DST, 64, sha512));
416
+ const xmd = expand_message_xmd(msg, DST, 64, sha512);
417
+ return ristretto255_map(xmd);
428
418
  },
429
419
  hashToScalar(msg, options = { DST: _DST_scalar }) {
430
- return Fn.create(bytesToNumberLE(expand_message_xmd(msg, options.DST, 64, sha512)));
420
+ const xmd = expand_message_xmd(msg, options.DST, 64, sha512);
421
+ return Fn.create(bytesToNumberLE(xmd));
431
422
  },
432
423
  };
433
424
  // export const ristretto255_oprf: OPRF = createORPF({
@@ -437,14 +428,6 @@ export const ristretto255_hasher = {
437
428
  // hashToGroup: ristretto255_hasher.hashToCurve,
438
429
  // hashToScalar: ristretto255_hasher.hashToScalar,
439
430
  // });
440
- /** @deprecated use `import { ed25519_hasher } from '@noble/curves/ed25519.js';` */
441
- export const hashToCurve = /* @__PURE__ */ (() => ed25519_hasher.hashToCurve)();
442
- /** @deprecated use `import { ed25519_hasher } from '@noble/curves/ed25519.js';` */
443
- export const encodeToCurve = /* @__PURE__ */ (() => ed25519_hasher.encodeToCurve)();
444
- /** @deprecated use `import { ristretto255_hasher } from '@noble/curves/ed25519.js';` */
445
- export const hashToRistretto255 = /* @__PURE__ */ (() => ristretto255_hasher.hashToCurve)();
446
- /** @deprecated use `import { ristretto255_hasher } from '@noble/curves/ed25519.js';` */
447
- export const hash_to_ristretto255 = /* @__PURE__ */ (() => ristretto255_hasher.hashToCurve)();
448
431
  /**
449
432
  * Weird / bogus points, useful for debugging.
450
433
  * All 8 ed25519 points of 8-torsion subgroup can be generated from the point
@@ -461,4 +444,24 @@ export const ED25519_TORSION_SUBGROUP = [
461
444
  '0000000000000000000000000000000000000000000000000000000000000000',
462
445
  'c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa',
463
446
  ];
447
+ /** @deprecated use `ed25519.utils.toMontgomery` */
448
+ export function edwardsToMontgomeryPub(edwardsPub) {
449
+ return ed25519.utils.toMontgomery(ensureBytes('pub', edwardsPub));
450
+ }
451
+ /** @deprecated use `ed25519.utils.toMontgomery` */
452
+ export const edwardsToMontgomery = edwardsToMontgomeryPub;
453
+ /** @deprecated use `ed25519.utils.toMontgomeryPriv` */
454
+ export function edwardsToMontgomeryPriv(edwardsPriv) {
455
+ return ed25519.utils.toMontgomeryPriv(ensureBytes('pub', edwardsPriv));
456
+ }
457
+ /** @deprecated use `ristretto255.Point` */
458
+ export const RistrettoPoint = _RistrettoPoint;
459
+ /** @deprecated use `import { ed25519_hasher } from '@noble/curves/ed25519.js';` */
460
+ export const hashToCurve = /* @__PURE__ */ (() => ed25519_hasher.hashToCurve)();
461
+ /** @deprecated use `import { ed25519_hasher } from '@noble/curves/ed25519.js';` */
462
+ export const encodeToCurve = /* @__PURE__ */ (() => ed25519_hasher.encodeToCurve)();
463
+ /** @deprecated use `import { ristretto255_hasher } from '@noble/curves/ed25519.js';` */
464
+ export const hashToRistretto255 = /* @__PURE__ */ (() => ristretto255_hasher.hashToCurve)();
465
+ /** @deprecated use `import { ristretto255_hasher } from '@noble/curves/ed25519.js';` */
466
+ export const hash_to_ristretto255 = /* @__PURE__ */ (() => ristretto255_hasher.hashToCurve)();
464
467
  //# sourceMappingURL=ed25519.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../src/ed25519.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../src/ed25519.ts"],"names":[],"mappings":"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"}
package/esm/ed448.d.ts CHANGED
@@ -28,17 +28,12 @@ export declare const E448: EdwardsPointCons;
28
28
  * ed448 has 57-byte keys as per RFC 8032.
29
29
  */
30
30
  export declare const x448: XCurveFn;
31
- /** @deprecated use `ed448.utils.toMontgomery` */
32
- export declare function edwardsToMontgomeryPub(edwardsPub: string | Uint8Array): Uint8Array;
33
- /** @deprecated use `ed448.utils.toMontgomery` */
34
- export declare const edwardsToMontgomery: typeof edwardsToMontgomeryPub;
35
31
  /** Hashing / encoding to ed448 points / field. RFC 9380 methods. */
36
32
  export declare const ed448_hasher: H2CHasher<bigint>;
37
- type ExtendedPoint = EdwardsPoint;
38
33
  /**
39
- * Each ed448/ExtendedPoint has 4 different equivalent points. This can be
34
+ * Each ed448/EdwardsPoint has 4 different equivalent points. This can be
40
35
  * a source of bugs for protocols like ring signatures. Decaf was created to solve this.
41
- * Decaf point operates in X:Y:Z:T extended coordinates like ExtendedPoint,
36
+ * Decaf point operates in X:Y:Z:T extended coordinates like EdwardsPoint,
42
37
  * but it should work in its own namespace: do not combine those two.
43
38
  * See [RFC9496](https://www.rfc-editor.org/rfc/rfc9496).
44
39
  */
@@ -47,7 +42,7 @@ declare class _DecafPoint extends PrimeEdwardsPoint<_DecafPoint> {
47
42
  static ZERO: _DecafPoint;
48
43
  static Fp: IField<bigint>;
49
44
  static Fn: IField<bigint>;
50
- constructor(ep: ExtendedPoint);
45
+ constructor(ep: EdwardsPoint);
51
46
  static fromAffine(ap: AffinePoint<bigint>): _DecafPoint;
52
47
  protected assertSame(other: _DecafPoint): void;
53
48
  protected init(ep: EdwardsPoint): _DecafPoint;
@@ -74,14 +69,21 @@ declare class _DecafPoint extends PrimeEdwardsPoint<_DecafPoint> {
74
69
  equals(other: _DecafPoint): boolean;
75
70
  is0(): boolean;
76
71
  }
77
- /** @deprecated use `decaf448.Point` */
78
- export declare const DecafPoint: typeof _DecafPoint;
79
72
  export declare const decaf448: {
80
73
  Point: typeof _DecafPoint;
81
74
  };
82
75
  /** Hashing to decaf448 points / field. RFC 9380 methods. */
83
76
  export declare const decaf448_hasher: H2CHasherBase<bigint>;
77
+ /**
78
+ * Weird / bogus points, useful for debugging.
79
+ * Unlike ed25519, there is no ed448 generator point which can produce full T subgroup.
80
+ * Instead, there is a Klein four-group, which spans over 2 independent 2-torsion points:
81
+ * (0, 1), (0, -1), (-1, 0), (1, 0).
82
+ */
83
+ export declare const ED448_TORSION_SUBGROUP: string[];
84
84
  type DcfHasher = (msg: Uint8Array, options: htfBasicOpts) => _DecafPoint;
85
+ /** @deprecated use `decaf448.Point` */
86
+ export declare const DecafPoint: typeof _DecafPoint;
85
87
  /** @deprecated use `import { ed448_hasher } from '@noble/curves/ed448.js';` */
86
88
  export declare const hashToCurve: H2CMethod<bigint>;
87
89
  /** @deprecated use `import { ed448_hasher } from '@noble/curves/ed448.js';` */
@@ -90,12 +92,9 @@ export declare const encodeToCurve: H2CMethod<bigint>;
90
92
  export declare const hashToDecaf448: DcfHasher;
91
93
  /** @deprecated use `import { decaf448_hasher } from '@noble/curves/ed448.js';` */
92
94
  export declare const hash_to_decaf448: DcfHasher;
93
- /**
94
- * Weird / bogus points, useful for debugging.
95
- * Unlike ed25519, there is no ed448 generator point which can produce full T subgroup.
96
- * Instead, there is a Klein four-group, which spans over 2 independent 2-torsion points:
97
- * (0, 1), (0, -1), (-1, 0), (1, 0).
98
- */
99
- export declare const ED448_TORSION_SUBGROUP: string[];
95
+ /** @deprecated use `ed448.utils.toMontgomery` */
96
+ export declare function edwardsToMontgomeryPub(edwardsPub: string | Uint8Array): Uint8Array;
97
+ /** @deprecated use `ed448.utils.toMontgomery` */
98
+ export declare const edwardsToMontgomery: typeof edwardsToMontgomeryPub;
100
99
  export {};
101
100
  //# sourceMappingURL=ed448.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ed448.d.ts","sourceRoot":"","sources":["../src/ed448.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ed448.d.ts","sourceRoot":"","sources":["../src/ed448.ts"],"names":[],"mappings":"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"}