@noble/curves 1.9.7 → 2.0.0-beta.2

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 (242) hide show
  1. package/README.md +520 -505
  2. package/abstract/bls.d.ts +58 -120
  3. package/abstract/bls.d.ts.map +1 -1
  4. package/abstract/bls.js +108 -152
  5. package/abstract/bls.js.map +1 -1
  6. package/abstract/curve.d.ts +18 -54
  7. package/abstract/curve.d.ts.map +1 -1
  8. package/abstract/curve.js +30 -49
  9. package/abstract/curve.js.map +1 -1
  10. package/abstract/edwards.d.ts +18 -77
  11. package/abstract/edwards.d.ts.map +1 -1
  12. package/abstract/edwards.js +68 -144
  13. package/abstract/edwards.js.map +1 -1
  14. package/abstract/fft.js +14 -27
  15. package/abstract/fft.js.map +1 -1
  16. package/abstract/hash-to-curve.d.ts +35 -47
  17. package/abstract/hash-to-curve.d.ts.map +1 -1
  18. package/abstract/hash-to-curve.js +42 -46
  19. package/abstract/hash-to-curve.js.map +1 -1
  20. package/abstract/modular.d.ts +5 -17
  21. package/abstract/modular.d.ts.map +1 -1
  22. package/abstract/modular.js +170 -169
  23. package/abstract/modular.js.map +1 -1
  24. package/abstract/montgomery.d.ts +7 -12
  25. package/abstract/montgomery.d.ts.map +1 -1
  26. package/abstract/montgomery.js +22 -29
  27. package/abstract/montgomery.js.map +1 -1
  28. package/abstract/oprf.d.ts +282 -0
  29. package/abstract/oprf.d.ts.map +1 -0
  30. package/abstract/oprf.js +297 -0
  31. package/abstract/oprf.js.map +1 -0
  32. package/abstract/poseidon.d.ts.map +1 -1
  33. package/abstract/poseidon.js +26 -31
  34. package/abstract/poseidon.js.map +1 -1
  35. package/abstract/tower.d.ts.map +1 -1
  36. package/abstract/tower.js +43 -19
  37. package/abstract/tower.js.map +1 -1
  38. package/abstract/weierstrass.d.ts +77 -168
  39. package/abstract/weierstrass.d.ts.map +1 -1
  40. package/abstract/weierstrass.js +184 -389
  41. package/abstract/weierstrass.js.map +1 -1
  42. package/bls12-381.d.ts +5 -11
  43. package/bls12-381.d.ts.map +1 -1
  44. package/bls12-381.js +161 -181
  45. package/bls12-381.js.map +1 -1
  46. package/bn254.d.ts +59 -11
  47. package/bn254.d.ts.map +1 -1
  48. package/bn254.js +69 -97
  49. package/bn254.js.map +1 -1
  50. package/ed25519.d.ts +33 -48
  51. package/ed25519.d.ts.map +1 -1
  52. package/ed25519.js +147 -161
  53. package/ed25519.js.map +1 -1
  54. package/ed448.d.ts +27 -36
  55. package/ed448.d.ts.map +1 -1
  56. package/ed448.js +143 -164
  57. package/ed448.js.map +1 -1
  58. package/index.d.ts +1 -0
  59. package/index.js +20 -4
  60. package/index.js.map +1 -1
  61. package/misc.d.ts +10 -14
  62. package/misc.d.ts.map +1 -1
  63. package/misc.js +53 -62
  64. package/misc.js.map +1 -1
  65. package/nist.d.ts +31 -16
  66. package/nist.d.ts.map +1 -1
  67. package/nist.js +75 -64
  68. package/nist.js.map +1 -1
  69. package/package.json +20 -234
  70. package/secp256k1.d.ts +17 -30
  71. package/secp256k1.d.ts.map +1 -1
  72. package/secp256k1.js +59 -73
  73. package/secp256k1.js.map +1 -1
  74. package/src/abstract/bls.ts +207 -354
  75. package/src/abstract/curve.ts +25 -84
  76. package/src/abstract/edwards.ts +68 -193
  77. package/src/abstract/hash-to-curve.ts +71 -85
  78. package/src/abstract/modular.ts +150 -134
  79. package/src/abstract/montgomery.ts +28 -35
  80. package/src/abstract/oprf.ts +600 -0
  81. package/src/abstract/poseidon.ts +6 -8
  82. package/src/abstract/tower.ts +0 -3
  83. package/src/abstract/weierstrass.ts +203 -525
  84. package/src/bls12-381.ts +133 -139
  85. package/src/bn254.ts +69 -93
  86. package/src/ed25519.ts +106 -133
  87. package/src/ed448.ts +111 -138
  88. package/src/index.ts +19 -3
  89. package/src/misc.ts +68 -51
  90. package/src/nist.ts +77 -70
  91. package/src/secp256k1.ts +46 -81
  92. package/src/utils.ts +67 -137
  93. package/src/webcrypto.ts +403 -0
  94. package/utils.d.ts +31 -38
  95. package/utils.d.ts.map +1 -1
  96. package/utils.js +66 -185
  97. package/utils.js.map +1 -1
  98. package/webcrypto.d.ts +99 -0
  99. package/webcrypto.d.ts.map +1 -0
  100. package/webcrypto.js +256 -0
  101. package/webcrypto.js.map +1 -0
  102. package/_shortw_utils.d.ts +0 -19
  103. package/_shortw_utils.d.ts.map +0 -1
  104. package/_shortw_utils.js +0 -20
  105. package/_shortw_utils.js.map +0 -1
  106. package/abstract/utils.d.ts +0 -78
  107. package/abstract/utils.d.ts.map +0 -1
  108. package/abstract/utils.js +0 -73
  109. package/abstract/utils.js.map +0 -1
  110. package/esm/_shortw_utils.d.ts +0 -19
  111. package/esm/_shortw_utils.d.ts.map +0 -1
  112. package/esm/_shortw_utils.js +0 -16
  113. package/esm/_shortw_utils.js.map +0 -1
  114. package/esm/abstract/bls.d.ts +0 -190
  115. package/esm/abstract/bls.d.ts.map +0 -1
  116. package/esm/abstract/bls.js +0 -408
  117. package/esm/abstract/bls.js.map +0 -1
  118. package/esm/abstract/curve.d.ts +0 -231
  119. package/esm/abstract/curve.d.ts.map +0 -1
  120. package/esm/abstract/curve.js +0 -465
  121. package/esm/abstract/curve.js.map +0 -1
  122. package/esm/abstract/edwards.d.ts +0 -243
  123. package/esm/abstract/edwards.d.ts.map +0 -1
  124. package/esm/abstract/edwards.js +0 -627
  125. package/esm/abstract/edwards.js.map +0 -1
  126. package/esm/abstract/fft.d.ts +0 -122
  127. package/esm/abstract/fft.d.ts.map +0 -1
  128. package/esm/abstract/fft.js +0 -425
  129. package/esm/abstract/fft.js.map +0 -1
  130. package/esm/abstract/hash-to-curve.d.ts +0 -102
  131. package/esm/abstract/hash-to-curve.d.ts.map +0 -1
  132. package/esm/abstract/hash-to-curve.js +0 -203
  133. package/esm/abstract/hash-to-curve.js.map +0 -1
  134. package/esm/abstract/modular.d.ts +0 -171
  135. package/esm/abstract/modular.d.ts.map +0 -1
  136. package/esm/abstract/modular.js +0 -530
  137. package/esm/abstract/modular.js.map +0 -1
  138. package/esm/abstract/montgomery.d.ts +0 -30
  139. package/esm/abstract/montgomery.d.ts.map +0 -1
  140. package/esm/abstract/montgomery.js +0 -157
  141. package/esm/abstract/montgomery.js.map +0 -1
  142. package/esm/abstract/poseidon.d.ts +0 -68
  143. package/esm/abstract/poseidon.d.ts.map +0 -1
  144. package/esm/abstract/poseidon.js +0 -296
  145. package/esm/abstract/poseidon.js.map +0 -1
  146. package/esm/abstract/tower.d.ts +0 -95
  147. package/esm/abstract/tower.d.ts.map +0 -1
  148. package/esm/abstract/tower.js +0 -714
  149. package/esm/abstract/tower.js.map +0 -1
  150. package/esm/abstract/utils.d.ts +0 -78
  151. package/esm/abstract/utils.d.ts.map +0 -1
  152. package/esm/abstract/utils.js +0 -70
  153. package/esm/abstract/utils.js.map +0 -1
  154. package/esm/abstract/weierstrass.d.ts +0 -416
  155. package/esm/abstract/weierstrass.d.ts.map +0 -1
  156. package/esm/abstract/weierstrass.js +0 -1413
  157. package/esm/abstract/weierstrass.js.map +0 -1
  158. package/esm/bls12-381.d.ts +0 -16
  159. package/esm/bls12-381.d.ts.map +0 -1
  160. package/esm/bls12-381.js +0 -705
  161. package/esm/bls12-381.js.map +0 -1
  162. package/esm/bn254.d.ts +0 -18
  163. package/esm/bn254.d.ts.map +0 -1
  164. package/esm/bn254.js +0 -214
  165. package/esm/bn254.js.map +0 -1
  166. package/esm/ed25519.d.ts +0 -106
  167. package/esm/ed25519.d.ts.map +0 -1
  168. package/esm/ed25519.js +0 -467
  169. package/esm/ed25519.js.map +0 -1
  170. package/esm/ed448.d.ts +0 -100
  171. package/esm/ed448.d.ts.map +0 -1
  172. package/esm/ed448.js +0 -459
  173. package/esm/ed448.js.map +0 -1
  174. package/esm/index.d.ts +0 -2
  175. package/esm/index.d.ts.map +0 -1
  176. package/esm/index.js +0 -17
  177. package/esm/index.js.map +0 -1
  178. package/esm/jubjub.d.ts +0 -12
  179. package/esm/jubjub.d.ts.map +0 -1
  180. package/esm/jubjub.js +0 -12
  181. package/esm/jubjub.js.map +0 -1
  182. package/esm/misc.d.ts +0 -19
  183. package/esm/misc.d.ts.map +0 -1
  184. package/esm/misc.js +0 -109
  185. package/esm/misc.js.map +0 -1
  186. package/esm/nist.d.ts +0 -21
  187. package/esm/nist.d.ts.map +0 -1
  188. package/esm/nist.js +0 -132
  189. package/esm/nist.js.map +0 -1
  190. package/esm/p256.d.ts +0 -16
  191. package/esm/p256.d.ts.map +0 -1
  192. package/esm/p256.js +0 -16
  193. package/esm/p256.js.map +0 -1
  194. package/esm/p384.d.ts +0 -16
  195. package/esm/p384.d.ts.map +0 -1
  196. package/esm/p384.js +0 -16
  197. package/esm/p384.js.map +0 -1
  198. package/esm/p521.d.ts +0 -16
  199. package/esm/p521.d.ts.map +0 -1
  200. package/esm/p521.js +0 -16
  201. package/esm/p521.js.map +0 -1
  202. package/esm/package.json +0 -4
  203. package/esm/pasta.d.ts +0 -10
  204. package/esm/pasta.d.ts.map +0 -1
  205. package/esm/pasta.js +0 -10
  206. package/esm/pasta.js.map +0 -1
  207. package/esm/secp256k1.d.ts +0 -89
  208. package/esm/secp256k1.d.ts.map +0 -1
  209. package/esm/secp256k1.js +0 -294
  210. package/esm/secp256k1.js.map +0 -1
  211. package/esm/utils.d.ts +0 -110
  212. package/esm/utils.d.ts.map +0 -1
  213. package/esm/utils.js +0 -322
  214. package/esm/utils.js.map +0 -1
  215. package/jubjub.d.ts +0 -12
  216. package/jubjub.d.ts.map +0 -1
  217. package/jubjub.js +0 -15
  218. package/jubjub.js.map +0 -1
  219. package/p256.d.ts +0 -16
  220. package/p256.d.ts.map +0 -1
  221. package/p256.js +0 -13
  222. package/p256.js.map +0 -1
  223. package/p384.d.ts +0 -16
  224. package/p384.d.ts.map +0 -1
  225. package/p384.js +0 -13
  226. package/p384.js.map +0 -1
  227. package/p521.d.ts +0 -16
  228. package/p521.d.ts.map +0 -1
  229. package/p521.js +0 -13
  230. package/p521.js.map +0 -1
  231. package/pasta.d.ts +0 -10
  232. package/pasta.d.ts.map +0 -1
  233. package/pasta.js +0 -13
  234. package/pasta.js.map +0 -1
  235. package/src/_shortw_utils.ts +0 -21
  236. package/src/abstract/utils.ts +0 -80
  237. package/src/jubjub.ts +0 -12
  238. package/src/p256.ts +0 -15
  239. package/src/p384.ts +0 -15
  240. package/src/p521.ts +0 -15
  241. package/src/package.json +0 -3
  242. package/src/pasta.ts +0 -9
package/esm/misc.js DELETED
@@ -1,109 +0,0 @@
1
- /**
2
- * Miscellaneous, rarely used curves.
3
- * jubjub, babyjubjub, pallas, vesta.
4
- * @module
5
- */
6
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
7
- import { blake256 } from '@noble/hashes/blake1.js';
8
- import { blake2s } from '@noble/hashes/blake2.js';
9
- import { sha256, sha512 } from '@noble/hashes/sha2.js';
10
- import { concatBytes, utf8ToBytes } from '@noble/hashes/utils.js';
11
- import { twistedEdwards, } from "./abstract/edwards.js";
12
- import { Field, mod } from "./abstract/modular.js";
13
- import { weierstrass } from "./abstract/weierstrass.js";
14
- import { bls12_381_Fr } from "./bls12-381.js";
15
- import { bn254_Fr } from "./bn254.js";
16
- // Jubjub curves have 𝔽p over scalar fields of other curves. They are friendly to ZK proofs.
17
- // jubjub Fp = bls n. babyjubjub Fp = bn254 n.
18
- // verify manually, check bls12-381.ts and bn254.ts.
19
- const jubjub_CURVE = {
20
- p: bls12_381_Fr.ORDER,
21
- n: BigInt('0xe7db4ea6533afa906673b0101343b00a6682093ccc81082d0970e5ed6f72cb7'),
22
- h: BigInt(8),
23
- a: BigInt('0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000000'),
24
- d: BigInt('0x2a9318e74bfa2b48f5fd9207e6bd7fd4292d7f6d37579d2601065fd6d6343eb1'),
25
- Gx: BigInt('0x11dafe5d23e1218086a365b99fbf3d3be72f6afd7d1f72623e6b071492d1122b'),
26
- Gy: BigInt('0x1d523cf1ddab1a1793132e78c866c0c33e26ba5cc220fed7cc3f870e59d292aa'),
27
- };
28
- /** Curve over scalar field of bls12-381. jubjub Fp = bls n */
29
- export const jubjub = /* @__PURE__ */ twistedEdwards({
30
- ...jubjub_CURVE,
31
- Fp: bls12_381_Fr,
32
- hash: sha512,
33
- });
34
- const babyjubjub_CURVE = {
35
- p: bn254_Fr.ORDER,
36
- n: BigInt('0x30644e72e131a029b85045b68181585d59f76dc1c90770533b94bee1c9093788'),
37
- h: BigInt(8),
38
- a: BigInt('168700'),
39
- d: BigInt('168696'),
40
- Gx: BigInt('0x23343e3445b673d38bcba38f25645adb494b1255b1162bb40f41a59f4d4b45e'),
41
- Gy: BigInt('0xc19139cb84c680a6e14116da06056174a0cfa121e6e5c2450f87d64fc000001'),
42
- };
43
- /** Curve over scalar field of bn254. babyjubjub Fp = bn254 n */
44
- export const babyjubjub = /* @__PURE__ */ twistedEdwards({
45
- ...babyjubjub_CURVE,
46
- Fp: bn254_Fr,
47
- hash: blake256,
48
- });
49
- const jubjub_gh_first_block = utf8ToBytes('096b36a5804bfacef1691e173c366a47ff5ba84a44f26ddd7e8d9f79d5b42df0');
50
- // Returns point at JubJub curve which is prime order and not zero
51
- export function jubjub_groupHash(tag, personalization) {
52
- const h = blake2s.create({ personalization, dkLen: 32 });
53
- h.update(jubjub_gh_first_block);
54
- h.update(tag);
55
- // NOTE: returns ExtendedPoint, in case it will be multiplied later
56
- let p = jubjub.Point.fromBytes(h.digest());
57
- // NOTE: cannot replace with isSmallOrder, returns Point*8
58
- p = p.multiply(jubjub_CURVE.h);
59
- if (p.equals(jubjub.Point.ZERO))
60
- throw new Error('Point has small order');
61
- return p;
62
- }
63
- // No secret data is leaked here at all.
64
- // It operates over public data:
65
- // const G_SPEND = jubjub.findGroupHash(Uint8Array.of(), utf8ToBytes('Item_G_'));
66
- export function jubjub_findGroupHash(m, personalization) {
67
- const tag = concatBytes(m, Uint8Array.of(0));
68
- const hashes = [];
69
- for (let i = 0; i < 256; i++) {
70
- tag[tag.length - 1] = i;
71
- try {
72
- hashes.push(jubjub_groupHash(tag, personalization));
73
- }
74
- catch (e) { }
75
- }
76
- if (!hashes.length)
77
- throw new Error('findGroupHash tag overflow');
78
- return hashes[0];
79
- }
80
- // Pasta curves. See [Spec](https://o1-labs.github.io/proof-systems/specs/pasta.html).
81
- export const pasta_p = BigInt('0x40000000000000000000000000000000224698fc094cf91b992d30ed00000001');
82
- export const pasta_q = BigInt('0x40000000000000000000000000000000224698fc0994a8dd8c46eb2100000001');
83
- /**
84
- * @deprecated
85
- */
86
- export const pallas = weierstrass({
87
- a: BigInt(0),
88
- b: BigInt(5),
89
- Fp: Field(pasta_p),
90
- n: pasta_q,
91
- Gx: mod(BigInt(-1), pasta_p),
92
- Gy: BigInt(2),
93
- h: BigInt(1),
94
- hash: sha256,
95
- });
96
- /**
97
- * @deprecated
98
- */
99
- export const vesta = weierstrass({
100
- a: BigInt(0),
101
- b: BigInt(5),
102
- Fp: Field(pasta_q),
103
- n: pasta_p,
104
- Gx: mod(BigInt(-1), pasta_q),
105
- Gy: BigInt(2),
106
- h: BigInt(1),
107
- hash: sha256,
108
- });
109
- //# sourceMappingURL=misc.js.map
package/esm/misc.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"misc.js","sourceRoot":"","sources":["../src/misc.ts"],"names":[],"mappings":"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"}
package/esm/nist.d.ts DELETED
@@ -1,21 +0,0 @@
1
- import { type CurveFnWithCreate } from './_shortw_utils.ts';
2
- import { type H2CHasher } from './abstract/hash-to-curve.ts';
3
- /** NIST P256 (aka secp256r1, prime256v1) curve, ECDSA and ECDH methods. */
4
- export declare const p256: CurveFnWithCreate;
5
- /** Hashing / encoding to p256 points / field. RFC 9380 methods. */
6
- export declare const p256_hasher: H2CHasher<bigint>;
7
- /** NIST P384 (aka secp384r1) curve, ECDSA and ECDH methods. */
8
- export declare const p384: CurveFnWithCreate;
9
- /** Hashing / encoding to p384 points / field. RFC 9380 methods. */
10
- export declare const p384_hasher: H2CHasher<bigint>;
11
- /** NIST P521 (aka secp521r1) curve, ECDSA and ECDH methods. */
12
- export declare const p521: CurveFnWithCreate;
13
- /** @deprecated use `p256` for consistency with `p256_hasher` */
14
- export declare const secp256r1: typeof p256;
15
- /** @deprecated use `p384` for consistency with `p384_hasher` */
16
- export declare const secp384r1: typeof p384;
17
- /** @deprecated use `p521` for consistency with `p521_hasher` */
18
- export declare const secp521r1: typeof p521;
19
- /** Hashing / encoding to p521 points / field. RFC 9380 methods. */
20
- export declare const p521_hasher: H2CHasher<bigint>;
21
- //# sourceMappingURL=nist.d.ts.map
package/esm/nist.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"nist.d.ts","sourceRoot":"","sources":["../src/nist.ts"],"names":[],"mappings":"AAOA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AA+E3E,2EAA2E;AAC3E,eAAO,MAAM,IAAI,EAAE,iBAGlB,CAAC;AACF,mEAAmE;AACnE,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAkBtC,CAAC;AAUL,+DAA+D;AAC/D,eAAO,MAAM,IAAI,EAAE,iBAGlB,CAAC;AACF,mEAAmE;AACnE,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAkBtC,CAAC;AAWL,+DAA+D;AAC/D,eAAO,MAAM,IAAI,EAAE,iBAGlB,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,SAAS,EAAE,OAAO,IAAW,CAAC;AAC3C,gEAAgE;AAChE,eAAO,MAAM,SAAS,EAAE,OAAO,IAAW,CAAC;AAC3C,gEAAgE;AAChE,eAAO,MAAM,SAAS,EAAE,OAAO,IAAW,CAAC;AAE3C,mEAAmE;AACnE,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAkBtC,CAAC"}
package/esm/nist.js DELETED
@@ -1,132 +0,0 @@
1
- /**
2
- * Internal module for NIST P256, P384, P521 curves.
3
- * Do not use for now.
4
- * @module
5
- */
6
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
7
- import { sha256, sha384, sha512 } from '@noble/hashes/sha2.js';
8
- import { createCurve } from "./_shortw_utils.js";
9
- import { createHasher } from "./abstract/hash-to-curve.js";
10
- import { Field } from "./abstract/modular.js";
11
- import { mapToCurveSimpleSWU, } from "./abstract/weierstrass.js";
12
- // p = 2n**224n * (2n**32n-1n) + 2n**192n + 2n**96n - 1n
13
- // a = Fp256.create(BigInt('-3'));
14
- const p256_CURVE = {
15
- p: BigInt('0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff'),
16
- n: BigInt('0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551'),
17
- h: BigInt(1),
18
- a: BigInt('0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc'),
19
- b: BigInt('0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b'),
20
- Gx: BigInt('0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296'),
21
- Gy: BigInt('0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5'),
22
- };
23
- // p = 2n**384n - 2n**128n - 2n**96n + 2n**32n - 1n
24
- const p384_CURVE = {
25
- p: BigInt('0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff'),
26
- n: BigInt('0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973'),
27
- h: BigInt(1),
28
- a: BigInt('0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc'),
29
- b: BigInt('0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef'),
30
- Gx: BigInt('0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7'),
31
- Gy: BigInt('0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f'),
32
- };
33
- // p = 2n**521n - 1n
34
- const p521_CURVE = {
35
- p: BigInt('0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'),
36
- n: BigInt('0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409'),
37
- h: BigInt(1),
38
- a: BigInt('0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc'),
39
- b: BigInt('0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00'),
40
- Gx: BigInt('0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66'),
41
- Gy: BigInt('0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650'),
42
- };
43
- const Fp256 = Field(p256_CURVE.p);
44
- const Fp384 = Field(p384_CURVE.p);
45
- const Fp521 = Field(p521_CURVE.p);
46
- function createSWU(Point, opts) {
47
- const map = mapToCurveSimpleSWU(Point.Fp, opts);
48
- return (scalars) => map(scalars[0]);
49
- }
50
- /** NIST P256 (aka secp256r1, prime256v1) curve, ECDSA and ECDH methods. */
51
- export const p256 = createCurve({ ...p256_CURVE, Fp: Fp256, lowS: false }, sha256);
52
- /** Hashing / encoding to p256 points / field. RFC 9380 methods. */
53
- export const p256_hasher = /* @__PURE__ */ (() => {
54
- return createHasher(p256.Point, createSWU(p256.Point, {
55
- A: p256_CURVE.a,
56
- B: p256_CURVE.b,
57
- Z: p256.Point.Fp.create(BigInt('-10')),
58
- }), {
59
- DST: 'P256_XMD:SHA-256_SSWU_RO_',
60
- encodeDST: 'P256_XMD:SHA-256_SSWU_NU_',
61
- p: p256_CURVE.p,
62
- m: 1,
63
- k: 128,
64
- expand: 'xmd',
65
- hash: sha256,
66
- });
67
- })();
68
- // export const p256_oprf: OPRF = createORPF({
69
- // name: 'P256-SHA256',
70
- // Point: p256.Point,
71
- // hash: sha256,
72
- // hashToGroup: p256_hasher.hashToCurve,
73
- // hashToScalar: p256_hasher.hashToScalar,
74
- // });
75
- /** NIST P384 (aka secp384r1) curve, ECDSA and ECDH methods. */
76
- export const p384 = createCurve({ ...p384_CURVE, Fp: Fp384, lowS: false }, sha384);
77
- /** Hashing / encoding to p384 points / field. RFC 9380 methods. */
78
- export const p384_hasher = /* @__PURE__ */ (() => {
79
- return createHasher(p384.Point, createSWU(p384.Point, {
80
- A: p384_CURVE.a,
81
- B: p384_CURVE.b,
82
- Z: p384.Point.Fp.create(BigInt('-12')),
83
- }), {
84
- DST: 'P384_XMD:SHA-384_SSWU_RO_',
85
- encodeDST: 'P384_XMD:SHA-384_SSWU_NU_',
86
- p: p384_CURVE.p,
87
- m: 1,
88
- k: 192,
89
- expand: 'xmd',
90
- hash: sha384,
91
- });
92
- })();
93
- // export const p384_oprf: OPRF = createORPF({
94
- // name: 'P384-SHA384',
95
- // Point: p384.Point,
96
- // hash: sha384,
97
- // hashToGroup: p384_hasher.hashToCurve,
98
- // hashToScalar: p384_hasher.hashToScalar,
99
- // });
100
- // const Fn521 = Field(p521_CURVE.n, { allowedScalarLengths: [65, 66] });
101
- /** NIST P521 (aka secp521r1) curve, ECDSA and ECDH methods. */
102
- export const p521 = createCurve({ ...p521_CURVE, Fp: Fp521, lowS: false, allowedPrivateKeyLengths: [130, 131, 132] }, sha512);
103
- /** @deprecated use `p256` for consistency with `p256_hasher` */
104
- export const secp256r1 = p256;
105
- /** @deprecated use `p384` for consistency with `p384_hasher` */
106
- export const secp384r1 = p384;
107
- /** @deprecated use `p521` for consistency with `p521_hasher` */
108
- export const secp521r1 = p521;
109
- /** Hashing / encoding to p521 points / field. RFC 9380 methods. */
110
- export const p521_hasher = /* @__PURE__ */ (() => {
111
- return createHasher(p521.Point, createSWU(p521.Point, {
112
- A: p521_CURVE.a,
113
- B: p521_CURVE.b,
114
- Z: p521.Point.Fp.create(BigInt('-4')),
115
- }), {
116
- DST: 'P521_XMD:SHA-512_SSWU_RO_',
117
- encodeDST: 'P521_XMD:SHA-512_SSWU_NU_',
118
- p: p521_CURVE.p,
119
- m: 1,
120
- k: 256,
121
- expand: 'xmd',
122
- hash: sha512,
123
- });
124
- })();
125
- // export const p521_oprf: OPRF = createORPF({
126
- // name: 'P521-SHA512',
127
- // Point: p521.Point,
128
- // hash: sha512,
129
- // hashToGroup: p521_hasher.hashToCurve,
130
- // hashToScalar: p521_hasher.hashToScalar, // produces L=98 just like in RFC
131
- // });
132
- //# sourceMappingURL=nist.js.map
package/esm/nist.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"nist.js","sourceRoot":"","sources":["../src/nist.ts"],"names":[],"mappings":"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"}
package/esm/p256.d.ts DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * NIST secp256r1 aka p256.
3
- * @module
4
- */
5
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
6
- import { type H2CMethod } from './abstract/hash-to-curve.ts';
7
- import { p256 as p256n } from './nist.ts';
8
- /** @deprecated use `import { p256 } from '@noble/curves/nist.js';` */
9
- export declare const p256: typeof p256n;
10
- /** @deprecated use `import { p256 } from '@noble/curves/nist.js';` */
11
- export declare const secp256r1: typeof p256n;
12
- /** @deprecated use `import { p256_hasher } from '@noble/curves/nist.js';` */
13
- export declare const hashToCurve: H2CMethod<bigint>;
14
- /** @deprecated use `import { p256_hasher } from '@noble/curves/nist.js';` */
15
- export declare const encodeToCurve: H2CMethod<bigint>;
16
- //# sourceMappingURL=p256.d.ts.map
package/esm/p256.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"p256.d.ts","sourceRoot":"","sources":["../src/p256.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sEAAsE;AACtE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAe,IAAI,IAAI,KAAK,EAAE,MAAM,WAAW,CAAC;AACvD,sEAAsE;AACtE,eAAO,MAAM,IAAI,EAAE,OAAO,KAAa,CAAC;AACxC,sEAAsE;AACtE,eAAO,MAAM,SAAS,EAAE,OAAO,KAAa,CAAC;AAC7C,6EAA6E;AAC7E,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAAqD,CAAC;AAChG,6EAA6E;AAC7E,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,MAAM,CAAuD,CAAC"}
package/esm/p256.js DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * NIST secp256r1 aka p256.
3
- * @module
4
- */
5
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
6
- import {} from "./abstract/hash-to-curve.js";
7
- import { p256_hasher, p256 as p256n } from "./nist.js";
8
- /** @deprecated use `import { p256 } from '@noble/curves/nist.js';` */
9
- export const p256 = p256n;
10
- /** @deprecated use `import { p256 } from '@noble/curves/nist.js';` */
11
- export const secp256r1 = p256n;
12
- /** @deprecated use `import { p256_hasher } from '@noble/curves/nist.js';` */
13
- export const hashToCurve = /* @__PURE__ */ (() => p256_hasher.hashToCurve)();
14
- /** @deprecated use `import { p256_hasher } from '@noble/curves/nist.js';` */
15
- export const encodeToCurve = /* @__PURE__ */ (() => p256_hasher.encodeToCurve)();
16
- //# sourceMappingURL=p256.js.map
package/esm/p256.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"p256.js","sourceRoot":"","sources":["../src/p256.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sEAAsE;AACtE,OAAO,EAAkB,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,WAAW,CAAC;AACvD,sEAAsE;AACtE,MAAM,CAAC,MAAM,IAAI,GAAiB,KAAK,CAAC;AACxC,sEAAsE;AACtE,MAAM,CAAC,MAAM,SAAS,GAAiB,KAAK,CAAC;AAC7C,6EAA6E;AAC7E,MAAM,CAAC,MAAM,WAAW,GAAsB,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;AAChG,6EAA6E;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAsB,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC"}
package/esm/p384.d.ts DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * NIST secp384r1 aka p384.
3
- * @module
4
- */
5
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
6
- import { type H2CMethod } from './abstract/hash-to-curve.ts';
7
- import { p384 as p384n } from './nist.ts';
8
- /** @deprecated use `import { p384 } from '@noble/curves/nist.js';` */
9
- export declare const p384: typeof p384n;
10
- /** @deprecated use `import { p384 } from '@noble/curves/nist.js';` */
11
- export declare const secp384r1: typeof p384n;
12
- /** @deprecated use `import { p384_hasher } from '@noble/curves/nist.js';` */
13
- export declare const hashToCurve: H2CMethod<bigint>;
14
- /** @deprecated use `import { p384_hasher } from '@noble/curves/nist.js';` */
15
- export declare const encodeToCurve: H2CMethod<bigint>;
16
- //# sourceMappingURL=p384.d.ts.map
package/esm/p384.d.ts.map DELETED
@@ -1 +0,0 @@
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,sEAAsE;AACtE,eAAO,MAAM,IAAI,EAAE,OAAO,KAAa,CAAC;AACxC,sEAAsE;AACtE,eAAO,MAAM,SAAS,EAAE,OAAO,KAAa,CAAC;AAC7C,6EAA6E;AAC7E,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAAqD,CAAC;AAChG,6EAA6E;AAC7E,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,MAAM,CAAuD,CAAC"}
package/esm/p384.js DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * NIST secp384r1 aka p384.
3
- * @module
4
- */
5
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
6
- import {} from "./abstract/hash-to-curve.js";
7
- import { p384_hasher, p384 as p384n } from "./nist.js";
8
- /** @deprecated use `import { p384 } from '@noble/curves/nist.js';` */
9
- export const p384 = p384n;
10
- /** @deprecated use `import { p384 } from '@noble/curves/nist.js';` */
11
- export const secp384r1 = p384n;
12
- /** @deprecated use `import { p384_hasher } from '@noble/curves/nist.js';` */
13
- export const hashToCurve = /* @__PURE__ */ (() => p384_hasher.hashToCurve)();
14
- /** @deprecated use `import { p384_hasher } from '@noble/curves/nist.js';` */
15
- export const encodeToCurve = /* @__PURE__ */ (() => p384_hasher.encodeToCurve)();
16
- //# sourceMappingURL=p384.js.map
package/esm/p384.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"p384.js","sourceRoot":"","sources":["../src/p384.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sEAAsE;AACtE,OAAO,EAAkB,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,WAAW,CAAC;AACvD,sEAAsE;AACtE,MAAM,CAAC,MAAM,IAAI,GAAiB,KAAK,CAAC;AACxC,sEAAsE;AACtE,MAAM,CAAC,MAAM,SAAS,GAAiB,KAAK,CAAC;AAC7C,6EAA6E;AAC7E,MAAM,CAAC,MAAM,WAAW,GAAsB,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;AAChG,6EAA6E;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAsB,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC"}
package/esm/p521.d.ts DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * NIST secp521r1 aka p521.
3
- * @module
4
- */
5
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
6
- import { type H2CMethod } from './abstract/hash-to-curve.ts';
7
- import { p521 as p521n } from './nist.ts';
8
- /** @deprecated use `import { p521 } from '@noble/curves/nist.js';` */
9
- export declare const p521: typeof p521n;
10
- /** @deprecated use `import { p521 } from '@noble/curves/nist.js';` */
11
- export declare const secp521r1: typeof p521n;
12
- /** @deprecated use `import { p521_hasher } from '@noble/curves/nist.js';` */
13
- export declare const hashToCurve: H2CMethod<bigint>;
14
- /** @deprecated use `import { p521_hasher } from '@noble/curves/nist.js';` */
15
- export declare const encodeToCurve: H2CMethod<bigint>;
16
- //# sourceMappingURL=p521.d.ts.map
package/esm/p521.d.ts.map DELETED
@@ -1 +0,0 @@
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,sEAAsE;AACtE,eAAO,MAAM,IAAI,EAAE,OAAO,KAAa,CAAC;AACxC,sEAAsE;AACtE,eAAO,MAAM,SAAS,EAAE,OAAO,KAAa,CAAC;AAC7C,6EAA6E;AAC7E,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAAqD,CAAC;AAChG,6EAA6E;AAC7E,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,MAAM,CAAuD,CAAC"}
package/esm/p521.js DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * NIST secp521r1 aka p521.
3
- * @module
4
- */
5
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
6
- import {} from "./abstract/hash-to-curve.js";
7
- import { p521_hasher, p521 as p521n } from "./nist.js";
8
- /** @deprecated use `import { p521 } from '@noble/curves/nist.js';` */
9
- export const p521 = p521n;
10
- /** @deprecated use `import { p521 } from '@noble/curves/nist.js';` */
11
- export const secp521r1 = p521n;
12
- /** @deprecated use `import { p521_hasher } from '@noble/curves/nist.js';` */
13
- export const hashToCurve = /* @__PURE__ */ (() => p521_hasher.hashToCurve)();
14
- /** @deprecated use `import { p521_hasher } from '@noble/curves/nist.js';` */
15
- export const encodeToCurve = /* @__PURE__ */ (() => p521_hasher.encodeToCurve)();
16
- //# sourceMappingURL=p521.js.map
package/esm/p521.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"p521.js","sourceRoot":"","sources":["../src/p521.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sEAAsE;AACtE,OAAO,EAAkB,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,WAAW,CAAC;AACvD,sEAAsE;AACtE,MAAM,CAAC,MAAM,IAAI,GAAiB,KAAK,CAAC;AACxC,sEAAsE;AACtE,MAAM,CAAC,MAAM,SAAS,GAAiB,KAAK,CAAC;AAC7C,6EAA6E;AAC7E,MAAM,CAAC,MAAM,WAAW,GAAsB,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;AAChG,6EAA6E;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAsB,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC"}
package/esm/package.json DELETED
@@ -1,4 +0,0 @@
1
- {
2
- "type": "module",
3
- "sideEffects": false
4
- }
package/esm/pasta.d.ts DELETED
@@ -1,10 +0,0 @@
1
- /**
2
- * @deprecated
3
- * @module
4
- */
5
- import { pallas as pn, vesta as vn } from './misc.ts';
6
- /** @deprecated */
7
- export declare const pallas: typeof pn;
8
- /** @deprecated */
9
- export declare const vesta: typeof vn;
10
- //# sourceMappingURL=pasta.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pasta.d.ts","sourceRoot":"","sources":["../src/pasta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,MAAM,WAAW,CAAC;AACtD,kBAAkB;AAClB,eAAO,MAAM,MAAM,EAAE,OAAO,EAAO,CAAC;AACpC,kBAAkB;AAClB,eAAO,MAAM,KAAK,EAAE,OAAO,EAAO,CAAC"}
package/esm/pasta.js DELETED
@@ -1,10 +0,0 @@
1
- /**
2
- * @deprecated
3
- * @module
4
- */
5
- import { pallas as pn, vesta as vn } from "./misc.js";
6
- /** @deprecated */
7
- export const pallas = pn;
8
- /** @deprecated */
9
- export const vesta = vn;
10
- //# sourceMappingURL=pasta.js.map
package/esm/pasta.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"pasta.js","sourceRoot":"","sources":["../src/pasta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,MAAM,WAAW,CAAC;AACtD,kBAAkB;AAClB,MAAM,CAAC,MAAM,MAAM,GAAc,EAAE,CAAC;AACpC,kBAAkB;AAClB,MAAM,CAAC,MAAM,KAAK,GAAc,EAAE,CAAC"}
@@ -1,89 +0,0 @@
1
- import { type CurveFnWithCreate } from './_shortw_utils.ts';
2
- import type { CurveLengths } from './abstract/curve.ts';
3
- import { type H2CHasher, type H2CMethod } from './abstract/hash-to-curve.ts';
4
- import { mod } from './abstract/modular.ts';
5
- import { type WeierstrassPoint as PointType, type WeierstrassPointCons } from './abstract/weierstrass.ts';
6
- import type { Hex, PrivKey } from './utils.ts';
7
- import { bytesToNumberBE, numberToBytesBE } from './utils.ts';
8
- /**
9
- * secp256k1 curve, ECDSA and ECDH methods.
10
- *
11
- * Field: `2n**256n - 2n**32n - 2n**9n - 2n**8n - 2n**7n - 2n**6n - 2n**4n - 1n`
12
- *
13
- * @example
14
- * ```js
15
- * import { secp256k1 } from '@noble/curves/secp256k1';
16
- * const { secretKey, publicKey } = secp256k1.keygen();
17
- * const msg = new TextEncoder().encode('hello');
18
- * const sig = secp256k1.sign(msg, secretKey);
19
- * const isValid = secp256k1.verify(sig, msg, publicKey) === true;
20
- * ```
21
- */
22
- export declare const secp256k1: CurveFnWithCreate;
23
- declare function taggedHash(tag: string, ...messages: Uint8Array[]): Uint8Array;
24
- /**
25
- * lift_x from BIP340. Convert 32-byte x coordinate to elliptic curve point.
26
- * @returns valid point checked for being on-curve
27
- */
28
- declare function lift_x(x: bigint): PointType<bigint>;
29
- /**
30
- * Schnorr public key is just `x` coordinate of Point as per BIP340.
31
- */
32
- declare function schnorrGetPublicKey(secretKey: Hex): Uint8Array;
33
- /**
34
- * Creates Schnorr signature as per BIP340. Verifies itself before returning anything.
35
- * auxRand is optional and is not the sole source of k generation: bad CSPRNG won't be dangerous.
36
- */
37
- declare function schnorrSign(message: Hex, secretKey: PrivKey, auxRand?: Hex): Uint8Array;
38
- /**
39
- * Verifies Schnorr signature.
40
- * Will swallow errors & return false except for initial type validation of arguments.
41
- */
42
- declare function schnorrVerify(signature: Hex, message: Hex, publicKey: Hex): boolean;
43
- export type SecpSchnorr = {
44
- keygen: (seed?: Uint8Array) => {
45
- secretKey: Uint8Array;
46
- publicKey: Uint8Array;
47
- };
48
- getPublicKey: typeof schnorrGetPublicKey;
49
- sign: typeof schnorrSign;
50
- verify: typeof schnorrVerify;
51
- Point: WeierstrassPointCons<bigint>;
52
- utils: {
53
- randomSecretKey: (seed?: Uint8Array) => Uint8Array;
54
- pointToBytes: (point: PointType<bigint>) => Uint8Array;
55
- lift_x: typeof lift_x;
56
- taggedHash: typeof taggedHash;
57
- /** @deprecated use `randomSecretKey` */
58
- randomPrivateKey: (seed?: Uint8Array) => Uint8Array;
59
- /** @deprecated use `utils` */
60
- numberToBytesBE: typeof numberToBytesBE;
61
- /** @deprecated use `utils` */
62
- bytesToNumberBE: typeof bytesToNumberBE;
63
- /** @deprecated use `modular` */
64
- mod: typeof mod;
65
- };
66
- lengths: CurveLengths;
67
- };
68
- /**
69
- * Schnorr signatures over secp256k1.
70
- * https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki
71
- * @example
72
- * ```js
73
- * import { schnorr } from '@noble/curves/secp256k1';
74
- * const { secretKey, publicKey } = schnorr.keygen();
75
- * // const publicKey = schnorr.getPublicKey(secretKey);
76
- * const msg = new TextEncoder().encode('hello');
77
- * const sig = schnorr.sign(msg, secretKey);
78
- * const isValid = schnorr.verify(sig, msg, publicKey);
79
- * ```
80
- */
81
- export declare const schnorr: SecpSchnorr;
82
- /** Hashing / encoding to secp256k1 points / field. RFC 9380 methods. */
83
- export declare const secp256k1_hasher: H2CHasher<bigint>;
84
- /** @deprecated use `import { secp256k1_hasher } from '@noble/curves/secp256k1.js';` */
85
- export declare const hashToCurve: H2CMethod<bigint>;
86
- /** @deprecated use `import { secp256k1_hasher } from '@noble/curves/secp256k1.js';` */
87
- export declare const encodeToCurve: H2CMethod<bigint>;
88
- export {};
89
- //# sourceMappingURL=secp256k1.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secp256k1.d.ts","sourceRoot":"","sources":["../src/secp256k1.ts"],"names":[],"mappings":"AAUA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,SAAS,EAEf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAyB,GAAG,EAAQ,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAIL,KAAK,gBAAgB,IAAI,SAAS,EAElC,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EACL,eAAe,EAIf,eAAe,EAEhB,MAAM,YAAY,CAAC;AAyDpB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,EAAE,iBAGvB,CAAC;AAMF,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,CAQtE;AAeD;;;GAGG;AACH,iBAAS,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAY5C;AASD;;GAEG;AACH,iBAAS,mBAAmB,CAAC,SAAS,EAAE,GAAG,GAAG,UAAU,CAEvD;AAED;;;GAGG;AACH,iBAAS,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAE,GAAqB,GAAG,UAAU,CAgBjG;AAED;;;GAGG;AACH,iBAAS,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAsB5E;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,KAAK;QAAE,SAAS,EAAE,UAAU,CAAC;QAAC,SAAS,EAAE,UAAU,CAAA;KAAE,CAAC;IAChF,YAAY,EAAE,OAAO,mBAAmB,CAAC;IACzC,IAAI,EAAE,OAAO,WAAW,CAAC;IACzB,MAAM,EAAE,OAAO,aAAa,CAAC;IAC7B,KAAK,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACpC,KAAK,EAAE;QACL,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,KAAK,UAAU,CAAC;QACnD,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC;QACvD,MAAM,EAAE,OAAO,MAAM,CAAC;QACtB,UAAU,EAAE,OAAO,UAAU,CAAC;QAE9B,wCAAwC;QACxC,gBAAgB,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,KAAK,UAAU,CAAC;QACpD,8BAA8B;QAC9B,eAAe,EAAE,OAAO,eAAe,CAAC;QACxC,8BAA8B;QAC9B,eAAe,EAAE,OAAO,eAAe,CAAC;QACxC,gCAAgC;QAChC,GAAG,EAAE,OAAO,GAAG,CAAC;KACjB,CAAC;IACF,OAAO,EAAE,YAAY,CAAC;CACvB,CAAC;AACF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,EAAE,WAsClB,CAAC;AA0CL,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAgBzC,CAAC;AAEP,uFAAuF;AACvF,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CACT,CAAC;AAElC,uFAAuF;AACvF,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,MAAM,CACT,CAAC"}