@noble/curves 0.7.1 → 0.7.3

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 (49) hide show
  1. package/README.md +40 -20
  2. package/abstract/hash-to-curve.d.ts +13 -4
  3. package/abstract/hash-to-curve.d.ts.map +1 -1
  4. package/abstract/hash-to-curve.js +28 -25
  5. package/abstract/hash-to-curve.js.map +1 -1
  6. package/abstract/montgomery.d.ts +4 -0
  7. package/abstract/montgomery.d.ts.map +1 -1
  8. package/abstract/montgomery.js +1 -0
  9. package/abstract/montgomery.js.map +1 -1
  10. package/ed25519.d.ts.map +1 -1
  11. package/ed25519.js +1 -0
  12. package/ed25519.js.map +1 -1
  13. package/ed448.d.ts.map +1 -1
  14. package/ed448.js +1 -0
  15. package/ed448.js.map +1 -1
  16. package/esm/abstract/hash-to-curve.js +29 -26
  17. package/esm/abstract/hash-to-curve.js.map +1 -1
  18. package/esm/abstract/montgomery.js +1 -0
  19. package/esm/abstract/montgomery.js.map +1 -1
  20. package/esm/ed25519.js +1 -0
  21. package/esm/ed25519.js.map +1 -1
  22. package/esm/ed448.js +1 -0
  23. package/esm/ed448.js.map +1 -1
  24. package/esm/stark.js +75 -114
  25. package/esm/stark.js.map +1 -1
  26. package/package.json +2 -12
  27. package/src/abstract/hash-to-curve.ts +39 -38
  28. package/src/abstract/montgomery.ts +3 -0
  29. package/src/ed25519.ts +1 -0
  30. package/src/ed448.ts +1 -0
  31. package/src/stark.ts +92 -130
  32. package/stark.d.ts +12 -17
  33. package/stark.d.ts.map +1 -1
  34. package/stark.js +81 -122
  35. package/stark.js.map +1 -1
  36. package/esm/p192.js +0 -22
  37. package/esm/p192.js.map +0 -1
  38. package/esm/p224.js +0 -22
  39. package/esm/p224.js.map +0 -1
  40. package/p192.d.ts +0 -101
  41. package/p192.d.ts.map +0 -1
  42. package/p192.js +0 -25
  43. package/p192.js.map +0 -1
  44. package/p224.d.ts +0 -101
  45. package/p224.d.ts.map +0 -1
  46. package/p224.js +0 -25
  47. package/p224.js.map +0 -1
  48. package/src/p192.ts +0 -25
  49. package/src/p224.ts +0 -25
package/stark.d.ts CHANGED
@@ -1,12 +1,12 @@
1
- import { ProjPointType } from './abstract/weierstrass.js';
2
- import * as cutils from './abstract/utils.js';
3
1
  import { Field } from './abstract/modular.js';
2
+ import { ProjPointType, SignatureType } from './abstract/weierstrass.js';
3
+ import { Hex } from './abstract/utils.js';
4
4
  declare type ProjectivePoint = ProjPointType<bigint>;
5
- export declare const starkCurve: import("./abstract/weierstrass.js").CurveFn;
6
- declare function getPublicKey0x(privKey: Hex, isCompressed?: boolean): Uint8Array;
7
- declare function getSharedSecret0x(privKeyA: Hex, pubKeyB: Hex): Uint8Array;
8
- declare function sign0x(msgHash: Hex, privKey: Hex, opts?: any): import("./abstract/weierstrass.js").SignatureType;
9
- declare function verify0x(signature: Hex, msgHash: Hex, pubKey: Hex): boolean;
5
+ export declare const _starkCurve: import("./abstract/weierstrass.js").CurveFn;
6
+ export declare function getPublicKey(privKey: Hex, isCompressed?: boolean): Uint8Array;
7
+ export declare function getSharedSecret(privKeyA: Hex, pubKeyB: Hex): Uint8Array;
8
+ export declare function sign(msgHash: Hex, privKey: Hex, opts?: any): SignatureType;
9
+ export declare function verify(signature: SignatureType | Hex, msgHash: Hex, pubKey: Hex): boolean;
10
10
  declare const CURVE: Readonly<{
11
11
  readonly nBitLength: number;
12
12
  readonly nByteLength: number;
@@ -32,24 +32,19 @@ declare const CURVE: Readonly<{
32
32
  } | undefined;
33
33
  readonly isTorsionFree?: ((c: import("./abstract/weierstrass.js").ProjConstructor<bigint>, point: ProjPointType<bigint>) => boolean) | undefined;
34
34
  readonly clearCofactor?: ((c: import("./abstract/weierstrass.js").ProjConstructor<bigint>, point: ProjPointType<bigint>) => ProjPointType<bigint>) | undefined;
35
- readonly hash: cutils.CHash;
35
+ readonly hash: import("./abstract/utils.js").CHash;
36
36
  readonly hmac: (key: Uint8Array, ...messages: Uint8Array[]) => Uint8Array;
37
37
  readonly randomBytes: (bytesLength?: number | undefined) => Uint8Array;
38
38
  lowS: boolean;
39
39
  readonly bits2int?: ((bytes: Uint8Array) => bigint) | undefined;
40
40
  readonly bits2int_modN?: ((bytes: Uint8Array) => bigint) | undefined;
41
- }>, ProjectivePoint: import("./abstract/weierstrass.js").ProjConstructor<bigint>, Signature: import("./abstract/weierstrass.js").SignatureConstructor;
42
- export declare const utils: {
43
- normPrivateKeyToScalar: (key: cutils.PrivKey) => bigint;
44
- isValidPrivateKey(privateKey: cutils.PrivKey): boolean;
41
+ }>, ProjectivePoint: import("./abstract/weierstrass.js").ProjConstructor<bigint>, Signature: import("./abstract/weierstrass.js").SignatureConstructor, utils: {
42
+ normPrivateKeyToScalar: (key: import("./abstract/utils.js").PrivKey) => bigint;
43
+ isValidPrivateKey(privateKey: import("./abstract/utils.js").PrivKey): boolean;
45
44
  randomPrivateKey: () => Uint8Array;
46
45
  precompute: (windowSize?: number | undefined, point?: ProjPointType<bigint> | undefined) => ProjPointType<bigint>;
47
46
  };
48
- export { CURVE, Signature, ProjectivePoint, getPublicKey0x as getPublicKey, getSharedSecret0x as getSharedSecret, sign0x as sign, verify0x as verify, };
49
- export declare const bytesToHexEth: (uint8a: Uint8Array) => string;
50
- export declare const strip0x: (hex: string) => string;
51
- export declare const numberToHexEth: (num: bigint | number) => string;
52
- declare type Hex = Uint8Array | string;
47
+ export { CURVE, ProjectivePoint, Signature, utils };
53
48
  export declare function grindKey(seed: Hex): string;
54
49
  export declare function getStarkKey(privateKey: Hex): string;
55
50
  export declare function ethSigToPrivate(signature: string): string;
package/stark.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"stark.d.ts","sourceRoot":"","sources":["src/stark.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAW,KAAK,EAAiB,MAAM,uBAAuB,CAAC;AAKtE,aAAK,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAiB7C,eAAO,MAAM,UAAU,6CAgCrB,CAAC;AAwCH,iBAAS,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,UAAQ,cAEzD;AACD,iBAAS,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,cAErD;AAED,iBAAS,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,qDAGrD;AACD,iBAAS,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,WAG1D;AAED,QAAA,MAAQ,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAE,eAAe,+DAAE,SAAS,0DAAe,CAAC;AACzD,eAAO,MAAM,KAAK;;;;;CAAmB,CAAC;AACtC,OAAO,EACL,KAAK,EACL,SAAS,EACT,eAAe,EACf,cAAc,IAAI,YAAY,EAC9B,iBAAiB,IAAI,eAAe,EACpC,MAAM,IAAI,IAAI,EACd,QAAQ,IAAI,MAAM,GACnB,CAAC;AAGF,eAAO,MAAM,aAAa,WAAY,UAAU,KAAG,MACE,CAAC;AACtD,eAAO,MAAM,OAAO,QAAS,MAAM,WAA4B,CAAC;AAChE,eAAO,MAAM,cAAc,QAAS,MAAM,GAAG,MAAM,WAA4B,CAAC;AAGhF,aAAK,GAAG,GAAG,UAAU,GAAG,MAAM,CAAC;AAS/B,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,UAUjC;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,GAAG,UAE1C;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,UAIhD;AAID,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,MAAM,UAMd;AAoDD,aAAK,WAAW,GAAG,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;AA0BzC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,UAKtD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,kBAAW,eAO3D;AAED,eAAO,MAAM,qBAAqB,SAAU,WAAW,EAAE,sCACH,CAAC;AAGvD,eAAO,MAAM,MAAM,SAAU,UAAU,KAAG,MAAsD,CAAC;AAIjG,eAAO,MAAM,KAAK,kEAEjB,CAAC;AACF,eAAO,MAAM,KAAK,kEAEjB,CAAC;AAUF,wBAAgB,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,SAAI,cAUnF;AAQD,oBAAY,YAAY,GAAG;IACzB,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;;;EAoBhE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,SAAI;;;EAIhE;AAED,eAAO,MAAM,aAAa;;;CAGzB,CAAC;AAEF,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;;;CAAgB,UAEpE"}
1
+ {"version":3,"file":"stark.d.ts","sourceRoot":"","sources":["src/stark.ts"],"names":[],"mappings":"AAIA,OAAO,EAAW,KAAK,EAAiB,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAe,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EACL,GAAG,EASJ,MAAM,qBAAqB,CAAC;AAM7B,aAAK,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AA2C7C,eAAO,MAAM,WAAW,6CAAQ,CAAC;AASjC,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,UAAQ,GAAG,UAAU,CAE3E;AACD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,UAAU,CAEvE;AACD,wBAAgB,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,aAAa,CAE1E;AACD,wBAAgB,MAAM,CAAC,SAAS,EAAE,aAAa,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,WAG/E;AAED,QAAA,MAAQ,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAE,eAAe,+DAAE,SAAS,4DAAE,KAAK;;;;;CAAU,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAgBpD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,UASjC;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,GAAG,GAAG,MAAM,CAEnD;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIzD;AAID,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,MAAM,GACZ,MAAM,CAKR;AAkDD,aAAK,WAAW,GAAG,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;AA4BzC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,MAAM,CAK/D;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,kBAAW,eAO3D;AAED,eAAO,MAAM,qBAAqB,SAAU,WAAW,EAAE,sCACH,CAAC;AAGvD,eAAO,MAAM,MAAM,SAAU,UAAU,KAAG,MAAsD,CAAC;AAIjG,eAAO,MAAM,KAAK,kEAEjB,CAAC;AACF,eAAO,MAAM,KAAK,kEAEjB,CAAC;AAUF,wBAAgB,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,SAAI,cAUnF;AAQD,oBAAY,YAAY,GAAG;IACzB,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;;;EAoBhE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,SAAI;;;EAIhE;AAED,eAAO,MAAM,aAAa;;;CAGzB,CAAC;AAEF,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;;;CAAgB,UAEpE"}
package/stark.js CHANGED
@@ -1,159 +1,119 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.poseidonHash = exports.poseidonSmall = exports.poseidonCreate = exports.poseidonBasic = exports._poseidonMDS = exports.Fp251 = exports.Fp253 = exports.keccak = exports.computeHashOnElements = exports.hashChain = exports.pedersen = exports.getAccountPath = exports.ethSigToPrivate = exports.getStarkKey = exports.grindKey = exports.numberToHexEth = exports.strip0x = exports.bytesToHexEth = exports.verify = exports.sign = exports.getSharedSecret = exports.getPublicKey = exports.ProjectivePoint = exports.Signature = exports.CURVE = exports.utils = exports.starkCurve = void 0;
3
+ exports.poseidonHash = exports.poseidonSmall = exports.poseidonCreate = exports.poseidonBasic = exports._poseidonMDS = exports.Fp251 = exports.Fp253 = exports.keccak = exports.computeHashOnElements = exports.hashChain = exports.pedersen = exports.getAccountPath = exports.ethSigToPrivate = exports.getStarkKey = exports.grindKey = exports.utils = exports.Signature = exports.ProjectivePoint = exports.CURVE = exports.verify = exports.sign = exports.getSharedSecret = exports.getPublicKey = exports._starkCurve = void 0;
4
4
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
5
5
  const sha3_1 = require("@noble/hashes/sha3");
6
6
  const sha256_1 = require("@noble/hashes/sha256");
7
- const weierstrass_js_1 = require("./abstract/weierstrass.js");
8
- const cutils = require("./abstract/utils.js");
7
+ const utils_1 = require("@noble/hashes/utils");
9
8
  const modular_js_1 = require("./abstract/modular.js");
9
+ const poseidon_js_1 = require("./abstract/poseidon.js");
10
+ const weierstrass_js_1 = require("./abstract/weierstrass.js");
11
+ const utils_js_1 = require("./abstract/utils.js");
10
12
  const _shortw_utils_js_1 = require("./_shortw_utils.js");
11
- const poseidon = require("./abstract/poseidon.js");
12
- const utils_1 = require("@noble/hashes/utils");
13
- // Stark-friendly elliptic curve
14
- // https://docs.starkware.co/starkex/stark-curve.html
15
- const CURVE_N = BigInt('3618502788666131213697322783095070105526743751716087489154079457884512865583');
13
+ const CURVE_ORDER = BigInt('3618502788666131213697322783095070105526743751716087489154079457884512865583');
16
14
  const nBitLength = 252;
17
- // Copy-pasted from weierstrass.ts
18
15
  function bits2int(bytes) {
16
+ while (bytes[0] === 0)
17
+ bytes = bytes.subarray(1); // strip leading 0s
18
+ // Copy-pasted from weierstrass.ts
19
19
  const delta = bytes.length * 8 - nBitLength;
20
- const num = cutils.bytesToNumberBE(bytes);
20
+ const num = (0, utils_js_1.bytesToNumberBE)(bytes);
21
21
  return delta > 0 ? num >> BigInt(delta) : num;
22
22
  }
23
- function bits2int_modN(bytes) {
24
- return (0, modular_js_1.mod)(bits2int(bytes), CURVE_N);
23
+ function hex0xToBytes(hex) {
24
+ if (typeof hex === 'string') {
25
+ hex = strip0x(hex); // allow 0x prefix
26
+ if (hex.length & 1)
27
+ hex = '0' + hex; // allow unpadded hex
28
+ }
29
+ return (0, utils_js_1.hexToBytes)(hex);
25
30
  }
26
- exports.starkCurve = (0, weierstrass_js_1.weierstrass)({
27
- // Params: a, b
31
+ const curve = (0, weierstrass_js_1.weierstrass)({
28
32
  a: BigInt(1),
29
33
  b: BigInt('3141592653589793238462643383279502884197169399375105820974944592307816406665'),
30
34
  // Field over which we'll do calculations; 2n**251n + 17n * 2n**192n + 1n
31
35
  // There is no efficient sqrt for field (P%4==1)
32
36
  Fp: (0, modular_js_1.Fp)(BigInt('0x800000000000011000000000000000000000000000000000000000000000001')),
33
- // Curve order, total count of valid points in the field.
34
- n: CURVE_N,
35
- nBitLength: nBitLength,
37
+ n: CURVE_ORDER,
38
+ nBitLength,
36
39
  // Base point (x, y) aka generator point
37
40
  Gx: BigInt('874739451078007766457464989774322083649278607533249481151382481072868806602'),
38
41
  Gy: BigInt('152666792071518830868575557812948353041420400780739481342941381225525861407'),
39
42
  h: BigInt(1),
40
- // Default options
41
43
  lowS: false,
42
44
  ...(0, _shortw_utils_js_1.getHash)(sha256_1.sha256),
43
45
  // Custom truncation routines for stark curve
44
- bits2int: (bytes) => {
45
- while (bytes[0] === 0)
46
- bytes = bytes.subarray(1);
47
- return bits2int(bytes);
48
- },
46
+ bits2int,
49
47
  bits2int_modN: (bytes) => {
50
- let hashS = cutils.bytesToNumberBE(bytes).toString(16);
51
- if (hashS.length === 63) {
52
- hashS += '0';
53
- bytes = hexToBytes0x(hashS);
54
- }
55
- // Truncate zero bytes on left (compat with elliptic)
56
- while (bytes[0] === 0)
57
- bytes = bytes.subarray(1);
58
- return bits2int_modN(bytes);
48
+ // 2102820b232636d200cb21f1d330f20d096cae09d1bf3edb1cc333ddee11318 =>
49
+ // 2102820b232636d200cb21f1d330f20d096cae09d1bf3edb1cc333ddee113180
50
+ const hex = (0, utils_js_1.bytesToNumberBE)(bytes).toString(16); // toHex unpadded
51
+ if (hex.length === 63)
52
+ bytes = hex0xToBytes(hex + '0'); // append trailing 0
53
+ return (0, modular_js_1.mod)(bits2int(bytes), CURVE_ORDER);
59
54
  },
60
55
  });
61
- // Custom Starknet type conversion functions that can handle 0x and unpadded hex
62
- function hexToBytes0x(hex) {
63
- if (typeof hex !== 'string') {
64
- throw new Error('hexToBytes: expected string, got ' + typeof hex);
65
- }
66
- hex = (0, exports.strip0x)(hex);
67
- if (hex.length & 1)
68
- hex = '0' + hex; // padding
69
- if (hex.length % 2)
70
- throw new Error('hexToBytes: received invalid unpadded hex ' + hex.length);
71
- const array = new Uint8Array(hex.length / 2);
72
- for (let i = 0; i < array.length; i++) {
73
- const j = i * 2;
74
- const hexByte = hex.slice(j, j + 2);
75
- const byte = Number.parseInt(hexByte, 16);
76
- if (Number.isNaN(byte) || byte < 0)
77
- throw new Error('Invalid byte sequence');
78
- array[i] = byte;
79
- }
80
- return array;
81
- }
82
- function hexToNumber0x(hex) {
83
- if (typeof hex !== 'string') {
84
- throw new Error('hexToNumber: expected string, got ' + typeof hex);
85
- }
86
- // Big Endian
87
- // TODO: strip vs no strip?
88
- return BigInt(`0x${(0, exports.strip0x)(hex)}`);
89
- }
90
- function bytesToNumber0x(bytes) {
91
- return hexToNumber0x(cutils.bytesToHex(bytes));
92
- }
93
- function ensureBytes0x(hex) {
94
- // Uint8Array.from() instead of hash.slice() because node.js Buffer
95
- // is instance of Uint8Array, and its slice() creates **mutable** copy
96
- return hex instanceof Uint8Array ? Uint8Array.from(hex) : hexToBytes0x(hex);
56
+ exports._starkCurve = curve;
57
+ function ensureBytes(hex) {
58
+ return (0, utils_js_1.ensureBytes)('', typeof hex === 'string' ? hex0xToBytes(hex) : hex);
97
59
  }
98
60
  function normPrivKey(privKey) {
99
- return cutils.bytesToHex(ensureBytes0x(privKey)).padStart(64, '0');
61
+ return (0, utils_js_1.bytesToHex)(ensureBytes(privKey)).padStart(64, '0');
100
62
  }
101
- function getPublicKey0x(privKey, isCompressed = false) {
102
- return exports.starkCurve.getPublicKey(normPrivKey(privKey), isCompressed);
63
+ function getPublicKey(privKey, isCompressed = false) {
64
+ return curve.getPublicKey(normPrivKey(privKey), isCompressed);
103
65
  }
104
- exports.getPublicKey = getPublicKey0x;
105
- function getSharedSecret0x(privKeyA, pubKeyB) {
106
- return exports.starkCurve.getSharedSecret(normPrivKey(privKeyA), pubKeyB);
66
+ exports.getPublicKey = getPublicKey;
67
+ function getSharedSecret(privKeyA, pubKeyB) {
68
+ return curve.getSharedSecret(normPrivKey(privKeyA), pubKeyB);
107
69
  }
108
- exports.getSharedSecret = getSharedSecret0x;
109
- function sign0x(msgHash, privKey, opts) {
110
- if (typeof privKey === 'string')
111
- privKey = (0, exports.strip0x)(privKey).padStart(64, '0');
112
- return exports.starkCurve.sign(ensureBytes0x(msgHash), normPrivKey(privKey), opts);
70
+ exports.getSharedSecret = getSharedSecret;
71
+ function sign(msgHash, privKey, opts) {
72
+ return curve.sign(ensureBytes(msgHash), normPrivKey(privKey), opts);
113
73
  }
114
- exports.sign = sign0x;
115
- function verify0x(signature, msgHash, pubKey) {
116
- const sig = signature instanceof Signature ? signature : ensureBytes0x(signature);
117
- return exports.starkCurve.verify(sig, ensureBytes0x(msgHash), ensureBytes0x(pubKey));
74
+ exports.sign = sign;
75
+ function verify(signature, msgHash, pubKey) {
76
+ const sig = signature instanceof Signature ? signature : ensureBytes(signature);
77
+ return curve.verify(sig, ensureBytes(msgHash), ensureBytes(pubKey));
118
78
  }
119
- exports.verify = verify0x;
120
- const { CURVE, ProjectivePoint, Signature } = exports.starkCurve;
79
+ exports.verify = verify;
80
+ const { CURVE, ProjectivePoint, Signature, utils } = curve;
121
81
  exports.CURVE = CURVE;
122
82
  exports.ProjectivePoint = ProjectivePoint;
123
83
  exports.Signature = Signature;
124
- exports.utils = exports.starkCurve.utils;
125
- const stripLeadingZeros = (s) => s.replace(/^0+/gm, '');
126
- const bytesToHexEth = (uint8a) => `0x${stripLeadingZeros(cutils.bytesToHex(uint8a))}`;
127
- exports.bytesToHexEth = bytesToHexEth;
128
- const strip0x = (hex) => hex.replace(/^0x/i, '');
129
- exports.strip0x = strip0x;
130
- const numberToHexEth = (num) => `0x${num.toString(16)}`;
131
- exports.numberToHexEth = numberToHexEth;
132
- // 1. seed generation
133
- function hashKeyWithIndex(key, index) {
134
- let indexHex = cutils.numberToHexUnpadded(index);
135
- if (indexHex.length & 1)
136
- indexHex = '0' + indexHex;
137
- return sha256Num(cutils.concatBytes(key, hexToBytes0x(indexHex)));
84
+ exports.utils = utils;
85
+ function extractX(bytes) {
86
+ const hex = (0, utils_js_1.bytesToHex)(bytes.subarray(1));
87
+ const stripped = hex.replace(/^0+/gm, ''); // strip leading 0s
88
+ return `0x${stripped}`;
138
89
  }
90
+ function strip0x(hex) {
91
+ return hex.replace(/^0x/i, '');
92
+ }
93
+ function numberTo0x16(num) {
94
+ // can't use utils.numberToHexUnpadded: adds leading 0 for even byte length
95
+ return `0x${num.toString(16)}`;
96
+ }
97
+ // seed generation
139
98
  function grindKey(seed) {
140
- const _seed = ensureBytes0x(seed);
99
+ const _seed = ensureBytes(seed);
141
100
  const sha256mask = 2n ** 256n;
142
- const limit = sha256mask - (0, modular_js_1.mod)(sha256mask, CURVE_N);
101
+ const limit = sha256mask - (0, modular_js_1.mod)(sha256mask, CURVE_ORDER);
143
102
  for (let i = 0;; i++) {
144
- const key = hashKeyWithIndex(_seed, i);
145
- // key should be in [0, limit)
103
+ const key = sha256Num((0, utils_js_1.concatBytes)(_seed, (0, utils_js_1.numberToVarBytesBE)(BigInt(i))));
146
104
  if (key < limit)
147
- return (0, modular_js_1.mod)(key, CURVE_N).toString(16);
105
+ return (0, modular_js_1.mod)(key, CURVE_ORDER).toString(16); // key should be in [0, limit)
106
+ if (i === 100000)
107
+ throw new Error('grindKey is broken: tried 100k vals'); // prevent dos
148
108
  }
149
109
  }
150
110
  exports.grindKey = grindKey;
151
111
  function getStarkKey(privateKey) {
152
- return (0, exports.bytesToHexEth)(getPublicKey0x(privateKey, true).slice(1));
112
+ return extractX(getPublicKey(privateKey, true));
153
113
  }
154
114
  exports.getStarkKey = getStarkKey;
155
115
  function ethSigToPrivate(signature) {
156
- signature = (0, exports.strip0x)(signature.replace(/^0x/, ''));
116
+ signature = strip0x(signature);
157
117
  if (signature.length !== 130)
158
118
  throw new Error('Wrong ethereum signature');
159
119
  return grindKey(signature.substring(0, 64));
@@ -164,20 +124,18 @@ const int31 = (n) => Number(n & MASK_31);
164
124
  function getAccountPath(layer, application, ethereumAddress, index) {
165
125
  const layerNum = int31(sha256Num(layer));
166
126
  const applicationNum = int31(sha256Num(application));
167
- const eth = hexToNumber0x(ethereumAddress);
127
+ const eth = (0, utils_js_1.hexToNumber)(strip0x(ethereumAddress));
168
128
  return `m/2645'/${layerNum}'/${applicationNum}'/${int31(eth)}'/${int31(eth >> 31n)}'/${index}`;
169
129
  }
170
130
  exports.getAccountPath = getAccountPath;
171
131
  // https://docs.starkware.co/starkex/pedersen-hash-function.html
172
- const PEDERSEN_POINTS_AFFINE = [
132
+ const PEDERSEN_POINTS = [
173
133
  new ProjectivePoint(2089986280348253421170679821480865132823066470938446095505822317253594081284n, 1713931329540660377023406109199410414810705867260802078187082345529207694986n, 1n),
174
134
  new ProjectivePoint(996781205833008774514500082376783249102396023663454813447423147977397232763n, 1668503676786377725805489344771023921079126552019160156920634619255970485781n, 1n),
175
135
  new ProjectivePoint(2251563274489750535117886426533222435294046428347329203627021249169616184184n, 1798716007562728905295480679789526322175868328062420237419143593021674992973n, 1n),
176
136
  new ProjectivePoint(2138414695194151160943305727036575959195309218611738193261179310511854807447n, 113410276730064486255102093846540133784865286929052426931474106396135072156n, 1n),
177
137
  new ProjectivePoint(2379962749567351885752724891227938183011949129833673362440656643086021394946n, 776496453633298175483985398648758586525933812536653089401905292063708816422n, 1n),
178
138
  ];
179
- // for (const p of PEDERSEN_POINTS) p._setWindowSize(8);
180
- const PEDERSEN_POINTS = PEDERSEN_POINTS_AFFINE;
181
139
  function pedersenPrecompute(p1, p2) {
182
140
  const out = [];
183
141
  let p = p1;
@@ -198,18 +156,19 @@ const PEDERSEN_POINTS1 = pedersenPrecompute(PEDERSEN_POINTS[1], PEDERSEN_POINTS[
198
156
  const PEDERSEN_POINTS2 = pedersenPrecompute(PEDERSEN_POINTS[3], PEDERSEN_POINTS[4]);
199
157
  function pedersenArg(arg) {
200
158
  let value;
201
- if (typeof arg === 'bigint')
159
+ if (typeof arg === 'bigint') {
202
160
  value = arg;
161
+ }
203
162
  else if (typeof arg === 'number') {
204
163
  if (!Number.isSafeInteger(arg))
205
164
  throw new Error(`Invalid pedersenArg: ${arg}`);
206
165
  value = BigInt(arg);
207
166
  }
208
- else
209
- value = bytesToNumber0x(ensureBytes0x(arg));
210
- // [0..Fp)
211
- if (!(0n <= value && value < exports.starkCurve.CURVE.Fp.ORDER))
212
- throw new Error(`PedersenArg should be 0 <= value < CURVE.P: ${value}`);
167
+ else {
168
+ value = (0, utils_js_1.bytesToNumberBE)(ensureBytes(arg));
169
+ }
170
+ if (!(0n <= value && value < curve.CURVE.Fp.ORDER))
171
+ throw new Error(`PedersenArg should be 0 <= value < CURVE.P: ${value}`); // [0..Fp)
213
172
  return value;
214
173
  }
215
174
  function pedersenSingle(point, value, constants) {
@@ -229,14 +188,14 @@ function pedersen(x, y) {
229
188
  let point = PEDERSEN_POINTS[0];
230
189
  point = pedersenSingle(point, x, PEDERSEN_POINTS1);
231
190
  point = pedersenSingle(point, y, PEDERSEN_POINTS2);
232
- return (0, exports.bytesToHexEth)(point.toRawBytes(true).slice(1));
191
+ return extractX(point.toRawBytes(true));
233
192
  }
234
193
  exports.pedersen = pedersen;
235
194
  function hashChain(data, fn = pedersen) {
236
195
  if (!Array.isArray(data) || data.length < 1)
237
196
  throw new Error('data should be array of at least 1 element');
238
197
  if (data.length === 1)
239
- return (0, exports.numberToHexEth)(pedersenArg(data[0]));
198
+ return numberTo0x16(pedersenArg(data[0]));
240
199
  return Array.from(data)
241
200
  .reverse()
242
201
  .reduce((acc, i) => fn(i, acc));
@@ -245,10 +204,10 @@ exports.hashChain = hashChain;
245
204
  // Same as hashChain, but computes hash even for single element and order is not revesed
246
205
  const computeHashOnElements = (data, fn = pedersen) => [0, ...data, data.length].reduce((x, y) => fn(x, y));
247
206
  exports.computeHashOnElements = computeHashOnElements;
248
- const MASK_250 = cutils.bitMask(250);
249
- const keccak = (data) => bytesToNumber0x((0, sha3_1.keccak_256)(data)) & MASK_250;
207
+ const MASK_250 = (0, utils_js_1.bitMask)(250);
208
+ const keccak = (data) => (0, utils_js_1.bytesToNumberBE)((0, sha3_1.keccak_256)(data)) & MASK_250;
250
209
  exports.keccak = keccak;
251
- const sha256Num = (data) => cutils.bytesToNumberBE((0, sha256_1.sha256)(data));
210
+ const sha256Num = (data) => (0, utils_js_1.bytesToNumberBE)((0, sha256_1.sha256)(data));
252
211
  // Poseidon hash
253
212
  exports.Fp253 = (0, modular_js_1.Fp)(BigInt('14474011154664525231415395255581126252639794253786371766033694892385558855681')); // 2^253 + 2^199 + 1
254
213
  exports.Fp251 = (0, modular_js_1.Fp)(BigInt('3618502788666131213697322783095070105623107215331596699973092056135872020481')); // 2^251 + 17 * 2^192 + 1
@@ -289,7 +248,7 @@ function poseidonBasic(opts, mds) {
289
248
  row.push(poseidonRoundConstant(opts.Fp, 'Hades', m * i + j));
290
249
  roundConstants.push(row);
291
250
  }
292
- return poseidon.poseidon({
251
+ return (0, poseidon_js_1.poseidon)({
293
252
  ...opts,
294
253
  t: m,
295
254
  sboxPower: 3,
package/stark.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"stark.js","sourceRoot":"","sources":["src/stark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stark.js","sourceRoot":"","sources":["src/stark.ts"],"names":[],"mappings":"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"}
package/esm/p192.js DELETED
@@ -1,22 +0,0 @@
1
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
2
- import { createCurve } from './_shortw_utils.js';
3
- import { sha256 } from '@noble/hashes/sha256';
4
- import { Fp } from './abstract/modular.js';
5
- // NIST secp192r1 aka P192
6
- // https://www.secg.org/sec2-v2.pdf, https://neuromancer.sk/std/secg/secp192r1
7
- export const P192 = createCurve({
8
- // Params: a, b
9
- a: BigInt('0xfffffffffffffffffffffffffffffffefffffffffffffffc'),
10
- b: BigInt('0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1'),
11
- // Field over which we'll do calculations; 2n ** 192n - 2n ** 64n - 1n
12
- Fp: Fp(BigInt('0xfffffffffffffffffffffffffffffffeffffffffffffffff')),
13
- // Curve order, total count of valid points in the field.
14
- n: BigInt('0xffffffffffffffffffffffff99def836146bc9b1b4d22831'),
15
- // Base point (x, y) aka generator point
16
- Gx: BigInt('0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012'),
17
- Gy: BigInt('0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811'),
18
- h: BigInt(1),
19
- lowS: false,
20
- }, sha256);
21
- export const secp192r1 = P192;
22
- //# sourceMappingURL=p192.js.map
package/esm/p192.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"p192.js","sourceRoot":"","sources":["../src/p192.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAE3C,0BAA0B;AAC1B,8EAA8E;AAC9E,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAC7B;IACE,eAAe;IACf,CAAC,EAAE,MAAM,CAAC,oDAAoD,CAAC;IAC/D,CAAC,EAAE,MAAM,CAAC,oDAAoD,CAAC;IAC/D,sEAAsE;IACtE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,oDAAoD,CAAC,CAAC;IACpE,yDAAyD;IACzD,CAAC,EAAE,MAAM,CAAC,oDAAoD,CAAC;IAC/D,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC,oDAAoD,CAAC;IAChE,EAAE,EAAE,MAAM,CAAC,oDAAoD,CAAC;IAChE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,IAAI,EAAE,KAAK;CACH,EACV,MAAM,CACP,CAAC;AACF,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC"}
package/esm/p224.js DELETED
@@ -1,22 +0,0 @@
1
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
2
- import { createCurve } from './_shortw_utils.js';
3
- import { sha224 } from '@noble/hashes/sha256';
4
- import { Fp } from './abstract/modular.js';
5
- // NIST secp224r1 aka P224
6
- // https://www.secg.org/sec2-v2.pdf, https://neuromancer.sk/std/nist/P-224
7
- export const P224 = createCurve({
8
- // Params: a, b
9
- a: BigInt('0xfffffffffffffffffffffffffffffffefffffffffffffffffffffffe'),
10
- b: BigInt('0xb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4'),
11
- // Field over which we'll do calculations;
12
- Fp: Fp(BigInt('0xffffffffffffffffffffffffffffffff000000000000000000000001')),
13
- // Curve order, total count of valid points in the field
14
- n: BigInt('0xffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d'),
15
- // Base point (x, y) aka generator point
16
- Gx: BigInt('0xb70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21'),
17
- Gy: BigInt('0xbd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34'),
18
- h: BigInt(1),
19
- lowS: false,
20
- }, sha224);
21
- export const secp224r1 = P224;
22
- //# sourceMappingURL=p224.js.map
package/esm/p224.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"p224.js","sourceRoot":"","sources":["../src/p224.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAE3C,0BAA0B;AAC1B,0EAA0E;AAC1E,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAC7B;IACE,eAAe;IACf,CAAC,EAAE,MAAM,CAAC,4DAA4D,CAAC;IACvE,CAAC,EAAE,MAAM,CAAC,4DAA4D,CAAC;IACvE,0CAA0C;IAC1C,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,4DAA4D,CAAC,CAAC;IAC5E,wDAAwD;IACxD,CAAC,EAAE,MAAM,CAAC,4DAA4D,CAAC;IACvE,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC,4DAA4D,CAAC;IACxE,EAAE,EAAE,MAAM,CAAC,4DAA4D,CAAC;IACxE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,IAAI,EAAE,KAAK;CACH,EACV,MAAM,CACP,CAAC;AACF,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC"}
package/p192.d.ts DELETED
@@ -1,101 +0,0 @@
1
- export declare const P192: Readonly<{
2
- create: (hash: import("./abstract/utils.js").CHash) => import("./abstract/weierstrass.js").CurveFn;
3
- CURVE: Readonly<{
4
- readonly nBitLength: number;
5
- readonly nByteLength: number;
6
- readonly Fp: import("./abstract/modular.js").Field<bigint>;
7
- readonly n: bigint;
8
- readonly h: bigint;
9
- readonly hEff?: bigint | undefined;
10
- readonly Gx: bigint;
11
- readonly Gy: bigint;
12
- readonly allowInfinityPoint?: boolean | undefined;
13
- readonly a: bigint;
14
- readonly b: bigint;
15
- readonly allowedPrivateKeyLengths?: readonly number[] | undefined;
16
- readonly wrapPrivateKey?: boolean | undefined;
17
- readonly endo?: {
18
- beta: bigint;
19
- splitScalar: (k: bigint) => {
20
- k1neg: boolean;
21
- k1: bigint;
22
- k2neg: boolean;
23
- k2: bigint;
24
- };
25
- } | undefined;
26
- readonly isTorsionFree?: ((c: import("./abstract/weierstrass.js").ProjConstructor<bigint>, point: import("./abstract/weierstrass.js").ProjPointType<bigint>) => boolean) | undefined;
27
- readonly clearCofactor?: ((c: import("./abstract/weierstrass.js").ProjConstructor<bigint>, point: import("./abstract/weierstrass.js").ProjPointType<bigint>) => import("./abstract/weierstrass.js").ProjPointType<bigint>) | undefined;
28
- readonly hash: import("./abstract/utils.js").CHash;
29
- readonly hmac: (key: Uint8Array, ...messages: Uint8Array[]) => Uint8Array;
30
- readonly randomBytes: (bytesLength?: number | undefined) => Uint8Array;
31
- lowS: boolean;
32
- readonly bits2int?: ((bytes: Uint8Array) => bigint) | undefined;
33
- readonly bits2int_modN?: ((bytes: Uint8Array) => bigint) | undefined;
34
- }>;
35
- getPublicKey: (privateKey: import("./abstract/utils.js").PrivKey, isCompressed?: boolean | undefined) => Uint8Array;
36
- getSharedSecret: (privateA: import("./abstract/utils.js").PrivKey, publicB: import("./abstract/utils.js").Hex, isCompressed?: boolean | undefined) => Uint8Array;
37
- sign: (msgHash: import("./abstract/utils.js").Hex, privKey: import("./abstract/utils.js").PrivKey, opts?: import("./abstract/weierstrass.js").SignOpts | undefined) => import("./abstract/weierstrass.js").SignatureType;
38
- verify: (signature: import("./abstract/utils.js").Hex | {
39
- r: bigint;
40
- s: bigint;
41
- }, msgHash: import("./abstract/utils.js").Hex, publicKey: import("./abstract/utils.js").Hex, opts?: import("./abstract/weierstrass.js").VerOpts | undefined) => boolean;
42
- ProjectivePoint: import("./abstract/weierstrass.js").ProjConstructor<bigint>;
43
- Signature: import("./abstract/weierstrass.js").SignatureConstructor;
44
- utils: {
45
- normPrivateKeyToScalar: (key: import("./abstract/utils.js").PrivKey) => bigint;
46
- isValidPrivateKey(privateKey: import("./abstract/utils.js").PrivKey): boolean;
47
- randomPrivateKey: () => Uint8Array;
48
- precompute: (windowSize?: number | undefined, point?: import("./abstract/weierstrass.js").ProjPointType<bigint> | undefined) => import("./abstract/weierstrass.js").ProjPointType<bigint>;
49
- };
50
- }>;
51
- export declare const secp192r1: Readonly<{
52
- create: (hash: import("./abstract/utils.js").CHash) => import("./abstract/weierstrass.js").CurveFn;
53
- CURVE: Readonly<{
54
- readonly nBitLength: number;
55
- readonly nByteLength: number;
56
- readonly Fp: import("./abstract/modular.js").Field<bigint>;
57
- readonly n: bigint;
58
- readonly h: bigint;
59
- readonly hEff?: bigint | undefined;
60
- readonly Gx: bigint;
61
- readonly Gy: bigint;
62
- readonly allowInfinityPoint?: boolean | undefined;
63
- readonly a: bigint;
64
- readonly b: bigint;
65
- readonly allowedPrivateKeyLengths?: readonly number[] | undefined;
66
- readonly wrapPrivateKey?: boolean | undefined;
67
- readonly endo?: {
68
- beta: bigint;
69
- splitScalar: (k: bigint) => {
70
- k1neg: boolean;
71
- k1: bigint;
72
- k2neg: boolean;
73
- k2: bigint;
74
- };
75
- } | undefined;
76
- readonly isTorsionFree?: ((c: import("./abstract/weierstrass.js").ProjConstructor<bigint>, point: import("./abstract/weierstrass.js").ProjPointType<bigint>) => boolean) | undefined;
77
- readonly clearCofactor?: ((c: import("./abstract/weierstrass.js").ProjConstructor<bigint>, point: import("./abstract/weierstrass.js").ProjPointType<bigint>) => import("./abstract/weierstrass.js").ProjPointType<bigint>) | undefined;
78
- readonly hash: import("./abstract/utils.js").CHash;
79
- readonly hmac: (key: Uint8Array, ...messages: Uint8Array[]) => Uint8Array;
80
- readonly randomBytes: (bytesLength?: number | undefined) => Uint8Array;
81
- lowS: boolean;
82
- readonly bits2int?: ((bytes: Uint8Array) => bigint) | undefined;
83
- readonly bits2int_modN?: ((bytes: Uint8Array) => bigint) | undefined;
84
- }>;
85
- getPublicKey: (privateKey: import("./abstract/utils.js").PrivKey, isCompressed?: boolean | undefined) => Uint8Array;
86
- getSharedSecret: (privateA: import("./abstract/utils.js").PrivKey, publicB: import("./abstract/utils.js").Hex, isCompressed?: boolean | undefined) => Uint8Array;
87
- sign: (msgHash: import("./abstract/utils.js").Hex, privKey: import("./abstract/utils.js").PrivKey, opts?: import("./abstract/weierstrass.js").SignOpts | undefined) => import("./abstract/weierstrass.js").SignatureType;
88
- verify: (signature: import("./abstract/utils.js").Hex | {
89
- r: bigint;
90
- s: bigint;
91
- }, msgHash: import("./abstract/utils.js").Hex, publicKey: import("./abstract/utils.js").Hex, opts?: import("./abstract/weierstrass.js").VerOpts | undefined) => boolean;
92
- ProjectivePoint: import("./abstract/weierstrass.js").ProjConstructor<bigint>;
93
- Signature: import("./abstract/weierstrass.js").SignatureConstructor;
94
- utils: {
95
- normPrivateKeyToScalar: (key: import("./abstract/utils.js").PrivKey) => bigint;
96
- isValidPrivateKey(privateKey: import("./abstract/utils.js").PrivKey): boolean;
97
- randomPrivateKey: () => Uint8Array;
98
- precompute: (windowSize?: number | undefined, point?: import("./abstract/weierstrass.js").ProjPointType<bigint> | undefined) => import("./abstract/weierstrass.js").ProjPointType<bigint>;
99
- };
100
- }>;
101
- //# sourceMappingURL=p192.d.ts.map
package/p192.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"p192.d.ts","sourceRoot":"","sources":["src/p192.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBhB,CAAC;AACF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAO,CAAC"}
package/p192.js DELETED
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.secp192r1 = exports.P192 = void 0;
4
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
5
- const _shortw_utils_js_1 = require("./_shortw_utils.js");
6
- const sha256_1 = require("@noble/hashes/sha256");
7
- const modular_js_1 = require("./abstract/modular.js");
8
- // NIST secp192r1 aka P192
9
- // https://www.secg.org/sec2-v2.pdf, https://neuromancer.sk/std/secg/secp192r1
10
- exports.P192 = (0, _shortw_utils_js_1.createCurve)({
11
- // Params: a, b
12
- a: BigInt('0xfffffffffffffffffffffffffffffffefffffffffffffffc'),
13
- b: BigInt('0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1'),
14
- // Field over which we'll do calculations; 2n ** 192n - 2n ** 64n - 1n
15
- Fp: (0, modular_js_1.Fp)(BigInt('0xfffffffffffffffffffffffffffffffeffffffffffffffff')),
16
- // Curve order, total count of valid points in the field.
17
- n: BigInt('0xffffffffffffffffffffffff99def836146bc9b1b4d22831'),
18
- // Base point (x, y) aka generator point
19
- Gx: BigInt('0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012'),
20
- Gy: BigInt('0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811'),
21
- h: BigInt(1),
22
- lowS: false,
23
- }, sha256_1.sha256);
24
- exports.secp192r1 = exports.P192;
25
- //# sourceMappingURL=p192.js.map
package/p192.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"p192.js","sourceRoot":"","sources":["src/p192.ts"],"names":[],"mappings":";;;AAAA,sEAAsE;AACtE,yDAAiD;AACjD,iDAA8C;AAC9C,sDAA2C;AAE3C,0BAA0B;AAC1B,8EAA8E;AACjE,QAAA,IAAI,GAAG,IAAA,8BAAW,EAC7B;IACE,eAAe;IACf,CAAC,EAAE,MAAM,CAAC,oDAAoD,CAAC;IAC/D,CAAC,EAAE,MAAM,CAAC,oDAAoD,CAAC;IAC/D,sEAAsE;IACtE,EAAE,EAAE,IAAA,eAAE,EAAC,MAAM,CAAC,oDAAoD,CAAC,CAAC;IACpE,yDAAyD;IACzD,CAAC,EAAE,MAAM,CAAC,oDAAoD,CAAC;IAC/D,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC,oDAAoD,CAAC;IAChE,EAAE,EAAE,MAAM,CAAC,oDAAoD,CAAC;IAChE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,IAAI,EAAE,KAAK;CACH,EACV,eAAM,CACP,CAAC;AACW,QAAA,SAAS,GAAG,YAAI,CAAC"}