@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.
- package/README.md +40 -20
- package/abstract/hash-to-curve.d.ts +13 -4
- package/abstract/hash-to-curve.d.ts.map +1 -1
- package/abstract/hash-to-curve.js +28 -25
- package/abstract/hash-to-curve.js.map +1 -1
- package/abstract/montgomery.d.ts +4 -0
- package/abstract/montgomery.d.ts.map +1 -1
- package/abstract/montgomery.js +1 -0
- package/abstract/montgomery.js.map +1 -1
- package/ed25519.d.ts.map +1 -1
- package/ed25519.js +1 -0
- package/ed25519.js.map +1 -1
- package/ed448.d.ts.map +1 -1
- package/ed448.js +1 -0
- package/ed448.js.map +1 -1
- package/esm/abstract/hash-to-curve.js +29 -26
- package/esm/abstract/hash-to-curve.js.map +1 -1
- package/esm/abstract/montgomery.js +1 -0
- package/esm/abstract/montgomery.js.map +1 -1
- package/esm/ed25519.js +1 -0
- package/esm/ed25519.js.map +1 -1
- package/esm/ed448.js +1 -0
- package/esm/ed448.js.map +1 -1
- package/esm/stark.js +75 -114
- package/esm/stark.js.map +1 -1
- package/package.json +2 -12
- package/src/abstract/hash-to-curve.ts +39 -38
- package/src/abstract/montgomery.ts +3 -0
- package/src/ed25519.ts +1 -0
- package/src/ed448.ts +1 -0
- package/src/stark.ts +92 -130
- package/stark.d.ts +12 -17
- package/stark.d.ts.map +1 -1
- package/stark.js +81 -122
- package/stark.js.map +1 -1
- package/esm/p192.js +0 -22
- package/esm/p192.js.map +0 -1
- package/esm/p224.js +0 -22
- package/esm/p224.js.map +0 -1
- package/p192.d.ts +0 -101
- package/p192.d.ts.map +0 -1
- package/p192.js +0 -25
- package/p192.js.map +0 -1
- package/p224.d.ts +0 -101
- package/p224.d.ts.map +0 -1
- package/p224.js +0 -25
- package/p224.js.map +0 -1
- package/src/p192.ts +0 -25
- 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
|
|
6
|
-
declare function
|
|
7
|
-
declare function
|
|
8
|
-
declare function
|
|
9
|
-
declare function
|
|
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:
|
|
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
|
-
|
|
43
|
-
|
|
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,
|
|
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":"
|
|
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.
|
|
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
|
|
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
|
|
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 =
|
|
20
|
+
const num = (0, utils_js_1.bytesToNumberBE)(bytes);
|
|
21
21
|
return delta > 0 ? num >> BigInt(delta) : num;
|
|
22
22
|
}
|
|
23
|
-
function
|
|
24
|
-
|
|
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
|
-
|
|
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
|
-
|
|
34
|
-
|
|
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
|
|
45
|
-
while (bytes[0] === 0)
|
|
46
|
-
bytes = bytes.subarray(1);
|
|
47
|
-
return bits2int(bytes);
|
|
48
|
-
},
|
|
46
|
+
bits2int,
|
|
49
47
|
bits2int_modN: (bytes) => {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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
|
-
|
|
62
|
-
function
|
|
63
|
-
|
|
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
|
|
61
|
+
return (0, utils_js_1.bytesToHex)(ensureBytes(privKey)).padStart(64, '0');
|
|
100
62
|
}
|
|
101
|
-
function
|
|
102
|
-
return
|
|
63
|
+
function getPublicKey(privKey, isCompressed = false) {
|
|
64
|
+
return curve.getPublicKey(normPrivKey(privKey), isCompressed);
|
|
103
65
|
}
|
|
104
|
-
exports.getPublicKey =
|
|
105
|
-
function
|
|
106
|
-
return
|
|
66
|
+
exports.getPublicKey = getPublicKey;
|
|
67
|
+
function getSharedSecret(privKeyA, pubKeyB) {
|
|
68
|
+
return curve.getSharedSecret(normPrivKey(privKeyA), pubKeyB);
|
|
107
69
|
}
|
|
108
|
-
exports.getSharedSecret =
|
|
109
|
-
function
|
|
110
|
-
|
|
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 =
|
|
115
|
-
function
|
|
116
|
-
const sig = signature instanceof Signature ? signature :
|
|
117
|
-
return
|
|
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 =
|
|
120
|
-
const { CURVE, ProjectivePoint, Signature } =
|
|
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 =
|
|
125
|
-
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
|
|
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 =
|
|
99
|
+
const _seed = ensureBytes(seed);
|
|
141
100
|
const sha256mask = 2n ** 256n;
|
|
142
|
-
const limit = sha256mask - (0, modular_js_1.mod)(sha256mask,
|
|
101
|
+
const limit = sha256mask - (0, modular_js_1.mod)(sha256mask, CURVE_ORDER);
|
|
143
102
|
for (let i = 0;; i++) {
|
|
144
|
-
const key =
|
|
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,
|
|
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 (
|
|
112
|
+
return extractX(getPublicKey(privateKey, true));
|
|
153
113
|
}
|
|
154
114
|
exports.getStarkKey = getStarkKey;
|
|
155
115
|
function ethSigToPrivate(signature) {
|
|
156
|
-
signature =
|
|
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 =
|
|
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
|
|
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 =
|
|
210
|
-
|
|
211
|
-
if (!(0n <= value && value <
|
|
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 (
|
|
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 (
|
|
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 =
|
|
249
|
-
const keccak = (data) =>
|
|
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) =>
|
|
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
|
|
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":";;;AAAA,sEAAsE;AACtE,6CAAgD;AAChD,iDAA8C;AAC9C,+CAAkD;AAClD,sDAAsE;AACtE,wDAAkD;AAClD,8DAAsF;AACtF,kDAU6B;AAC7B,yDAA6C;AAM7C,MAAM,WAAW,GAAG,MAAM,CACxB,8EAA8E,CAC/E,CAAC;AACF,MAAM,UAAU,GAAG,GAAG,CAAC;AACvB,SAAS,QAAQ,CAAC,KAAiB;IACjC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB;IACrE,kCAAkC;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAA,0BAAe,EAAC,KAAK,CAAC,CAAC;IACnC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAChD,CAAC;AACD,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB;QACtC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,qBAAqB;KAC3D;IACD,OAAO,IAAA,qBAAU,EAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AACD,MAAM,KAAK,GAAG,IAAA,4BAAW,EAAC;IACxB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC,8EAA8E,CAAC;IACzF,yEAAyE;IACzE,gDAAgD;IAChD,EAAE,EAAE,IAAA,eAAE,EAAC,MAAM,CAAC,mEAAmE,CAAC,CAAC;IACnF,CAAC,EAAE,WAAW;IACd,UAAU;IACV,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC,6EAA6E,CAAC;IACzF,EAAE,EAAE,MAAM,CAAC,6EAA6E,CAAC;IACzF,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,IAAI,EAAE,KAAK;IACX,GAAG,IAAA,0BAAO,EAAC,eAAM,CAAC;IAClB,6CAA6C;IAC7C,QAAQ;IACR,aAAa,EAAE,CAAC,KAAiB,EAAU,EAAE;QAC3C,qEAAqE;QACrE,mEAAmE;QACnE,MAAM,GAAG,GAAG,IAAA,0BAAe,EAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB;QAClE,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE;YAAE,KAAK,GAAG,YAAY,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,oBAAoB;QAC5E,OAAO,IAAA,gBAAG,EAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC;CACF,CAAC,CAAC;AACU,QAAA,WAAW,GAAG,KAAK,CAAC;AAEjC,SAAS,WAAW,CAAC,GAAQ;IAC3B,OAAO,IAAA,sBAAe,EAAC,EAAE,EAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,WAAW,CAAC,OAAY;IAC/B,OAAO,IAAA,qBAAU,EAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAC5D,CAAC;AACD,SAAgB,YAAY,CAAC,OAAY,EAAE,YAAY,GAAG,KAAK;IAC7D,OAAO,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;AAChE,CAAC;AAFD,oCAEC;AACD,SAAgB,eAAe,CAAC,QAAa,EAAE,OAAY;IACzD,OAAO,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;AAC/D,CAAC;AAFD,0CAEC;AACD,SAAgB,IAAI,CAAC,OAAY,EAAE,OAAY,EAAE,IAAU;IACzD,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;AACtE,CAAC;AAFD,oBAEC;AACD,SAAgB,MAAM,CAAC,SAA8B,EAAE,OAAY,EAAE,MAAW;IAC9E,MAAM,GAAG,GAAG,SAAS,YAAY,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChF,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACtE,CAAC;AAHD,wBAGC;AAED,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;AAClD,sBAAK;AAAE,0CAAe;AAAE,8BAAS;AAAE,sBAAK;AAEjD,SAAS,QAAQ,CAAC,KAAiB;IACjC,MAAM,GAAG,GAAG,IAAA,qBAAU,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB;IAC9D,OAAO,KAAK,QAAQ,EAAE,CAAC;AACzB,CAAC;AACD,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC;AACD,SAAS,YAAY,CAAC,GAAW;IAC/B,2EAA2E;IAC3E,OAAO,KAAK,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AACjC,CAAC;AAED,kBAAkB;AAClB,SAAgB,QAAQ,CAAC,IAAS;IAChC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,EAAE,IAAI,IAAI,CAAC;IAC9B,MAAM,KAAK,GAAG,UAAU,GAAG,IAAA,gBAAG,EAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACxD,KAAK,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,SAAS,CAAC,IAAA,sBAAW,EAAC,KAAK,EAAE,IAAA,6BAAkB,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,IAAI,GAAG,GAAG,KAAK;YAAE,OAAO,IAAA,gBAAG,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,8BAA8B;QAC1F,IAAI,CAAC,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC,cAAc;KACzF;AACH,CAAC;AATD,4BASC;AAED,SAAgB,WAAW,CAAC,UAAe;IACzC,OAAO,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC;AAFD,kCAEC;AAED,SAAgB,eAAe,CAAC,SAAiB;IAC/C,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/B,IAAI,SAAS,CAAC,MAAM,KAAK,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC1E,OAAO,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC;AAJD,0CAIC;AAED,MAAM,OAAO,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC;AAC/B,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;AACjD,SAAgB,cAAc,CAC5B,KAAa,EACb,WAAmB,EACnB,eAAuB,EACvB,KAAa;IAEb,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,IAAA,sBAAW,EAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IAClD,OAAO,WAAW,QAAQ,KAAK,cAAc,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;AACjG,CAAC;AAVD,wCAUC;AAED,gEAAgE;AAChE,MAAM,eAAe,GAAG;IACtB,IAAI,eAAe,CACjB,6EAA6E,EAC7E,6EAA6E,EAC7E,EAAE,CACH;IACD,IAAI,eAAe,CACjB,4EAA4E,EAC5E,6EAA6E,EAC7E,EAAE,CACH;IACD,IAAI,eAAe,CACjB,6EAA6E,EAC7E,6EAA6E,EAC7E,EAAE,CACH;IACD,IAAI,eAAe,CACjB,6EAA6E,EAC7E,4EAA4E,EAC5E,EAAE,CACH;IACD,IAAI,eAAe,CACjB,6EAA6E,EAC7E,4EAA4E,EAC5E,EAAE,CACH;CACF,CAAC;AAEF,SAAS,kBAAkB,CAAC,EAAmB,EAAE,EAAmB;IAClE,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAC5B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;KAChB;IACD,+FAA+F;IAC/F,oEAAoE;IACpE,CAAC,GAAG,EAAE,CAAC;IACP,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;KAChB;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AACD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAGpF,SAAS,WAAW,CAAC,GAAgB;IACnC,IAAI,KAAa,CAAC;IAClB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,KAAK,GAAG,GAAG,CAAC;KACb;SAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAClC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;QAC/E,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;KACrB;SAAM;QACL,KAAK,GAAG,IAAA,0BAAe,EAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3C;IACD,IAAI,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,+CAA+C,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU;IACrF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,KAAsB,EAAE,KAAkB,EAAE,SAA4B;IAC9F,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAC5B,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE;YAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC,KAAK,EAAE,CAAC;KACV;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sEAAsE;AACtE,SAAgB,QAAQ,CAAC,CAAc,EAAE,CAAc;IACrD,IAAI,KAAK,GAAoB,eAAe,CAAC,CAAC,CAAC,CAAC;IAChD,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACnD,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACnD,OAAO,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC;AALD,4BAKC;AAED,SAAgB,SAAS,CAAC,IAAmB,EAAE,EAAE,GAAG,QAAQ;IAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SACpB,OAAO,EAAE;SACT,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC;AAPD,8BAOC;AACD,wFAAwF;AACjF,MAAM,qBAAqB,GAAG,CAAC,IAAmB,EAAE,EAAE,GAAG,QAAQ,EAAE,EAAE,CAC1E,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAD1C,QAAA,qBAAqB,yBACqB;AAEvD,MAAM,QAAQ,GAAG,IAAA,kBAAO,EAAC,GAAG,CAAC,CAAC;AACvB,MAAM,MAAM,GAAG,CAAC,IAAgB,EAAU,EAAE,CAAC,IAAA,0BAAe,EAAC,IAAA,iBAAU,EAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC;AAApF,QAAA,MAAM,UAA8E;AACjG,MAAM,SAAS,GAAG,CAAC,IAAyB,EAAU,EAAE,CAAC,IAAA,0BAAe,EAAC,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,CAAC;AAEvF,gBAAgB;AACH,QAAA,KAAK,GAAG,IAAA,eAAE,EACrB,MAAM,CAAC,+EAA+E,CAAC,CACxF,CAAC,CAAC,oBAAoB;AACV,QAAA,KAAK,GAAG,IAAA,eAAE,EACrB,MAAM,CAAC,8EAA8E,CAAC,CACvF,CAAC,CAAC,yBAAyB;AAE5B,SAAS,qBAAqB,CAAC,EAAiB,EAAE,IAAY,EAAE,GAAW;IACzE,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,IAAA,eAAM,EAAC,IAAA,mBAAW,EAAC,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,wIAAwI;AACxI,qDAAqD;AACrD,gFAAgF;AAChF,SAAgB,YAAY,CAAC,EAAiB,EAAE,IAAY,EAAE,CAAS,EAAE,OAAO,GAAG,CAAC;IAClF,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,GAAG,IAAI,GAAG,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,GAAG,IAAI,GAAG,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KACvE;IACD,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAVD,oCAUC;AAED,MAAM,SAAS,GAAG;IAChB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACT,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CACX,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAU5B,SAAgB,aAAa,CAAC,IAAkB,EAAE,GAAe;IAC/D,IAAA,0BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC;IACpD,MAAM,cAAc,GAAG,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzF,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC1B;IACD,OAAO,IAAA,sBAAQ,EAAC;QACd,GAAG,IAAI;QACP,CAAC,EAAE,CAAC;QACJ,SAAS,EAAE,CAAC;QACZ,oBAAoB,EAAE,IAAI;QAC1B,GAAG;QACH,cAAc;KACf,CAAC,CAAC;AACL,CAAC;AApBD,sCAoBC;AAED,SAAgB,cAAc,CAAC,IAAkB,EAAE,UAAU,GAAG,CAAC;IAC/D,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;IACpC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAC;IACzF,OAAO,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;AAC/E,CAAC;AAJD,wCAIC;AAEY,QAAA,aAAa,GAAG,aAAa,CACxC,EAAE,EAAE,EAAE,aAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,EACrE,SAAS,CACV,CAAC;AAEF,SAAgB,YAAY,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,GAAG,qBAAa;IACnE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAFD,oCAEC"}
|
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"}
|