@noble/curves 0.7.3 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -4
- package/_shortw_utils.js +8 -13
- package/_shortw_utils.js.map +1 -1
- package/abstract/bls.js +12 -16
- package/abstract/bls.js.map +1 -1
- package/abstract/curve.js +7 -12
- package/abstract/curve.js.map +1 -1
- package/abstract/edwards.js +16 -20
- package/abstract/edwards.js.map +1 -1
- package/abstract/hash-to-curve.d.ts +5 -3
- package/abstract/hash-to-curve.d.ts.map +1 -1
- package/abstract/hash-to-curve.js +25 -33
- package/abstract/hash-to-curve.js.map +1 -1
- package/abstract/modular.d.ts.map +1 -1
- package/abstract/modular.js +25 -44
- package/abstract/modular.js.map +1 -1
- package/abstract/montgomery.js +11 -15
- package/abstract/montgomery.js.map +1 -1
- package/abstract/poseidon.js +6 -12
- package/abstract/poseidon.js.map +1 -1
- package/abstract/utils.js +19 -41
- package/abstract/utils.js.map +1 -1
- package/abstract/weierstrass.d.ts.map +1 -1
- package/abstract/weierstrass.js +25 -37
- package/abstract/weierstrass.js.map +1 -1
- package/bls12-381.js +63 -66
- package/bls12-381.js.map +1 -1
- package/bn.js +7 -10
- package/bn.js.map +1 -1
- package/ed25519.d.ts +3 -0
- package/ed25519.d.ts.map +1 -1
- package/ed25519.js +81 -74
- package/ed25519.js.map +1 -1
- package/ed448.js +37 -41
- package/ed448.js.map +1 -1
- package/jubjub.js +17 -22
- package/jubjub.js.map +1 -1
- package/p256.js +13 -17
- package/p256.js.map +1 -1
- package/p384.js +13 -17
- package/p384.js.map +1 -1
- package/p521.js +13 -17
- package/p521.js.map +1 -1
- package/package.json +4 -26
- package/pasta.js +16 -19
- package/pasta.js.map +1 -1
- package/secp256k1.d.ts +0 -6
- package/secp256k1.d.ts.map +1 -1
- package/secp256k1.js +58 -63
- package/secp256k1.js.map +1 -1
- package/src/abstract/hash-to-curve.ts +13 -12
- package/src/abstract/modular.ts +1 -0
- package/src/abstract/weierstrass.ts +4 -10
- package/src/ed25519.ts +17 -1
- package/src/secp256k1.ts +7 -7
- package/src/stark.ts +50 -27
- package/stark.d.ts +17 -19
- package/stark.d.ts.map +1 -1
- package/stark.js +76 -72
- package/stark.js.map +1 -1
- package/esm/_shortw_utils.js +0 -17
- package/esm/_shortw_utils.js.map +0 -1
- package/esm/abstract/bls.js +0 -226
- package/esm/abstract/bls.js.map +0 -1
- package/esm/abstract/curve.js +0 -152
- package/esm/abstract/curve.js.map +0 -1
- package/esm/abstract/edwards.js +0 -409
- package/esm/abstract/edwards.js.map +0 -1
- package/esm/abstract/hash-to-curve.js +0 -166
- package/esm/abstract/hash-to-curve.js.map +0 -1
- package/esm/abstract/modular.js +0 -345
- package/esm/abstract/modular.js.map +0 -1
- package/esm/abstract/montgomery.js +0 -157
- package/esm/abstract/montgomery.js.map +0 -1
- package/esm/abstract/poseidon.js +0 -110
- package/esm/abstract/poseidon.js.map +0 -1
- package/esm/abstract/utils.js +0 -222
- package/esm/abstract/utils.js.map +0 -1
- package/esm/abstract/weierstrass.js +0 -1016
- package/esm/abstract/weierstrass.js.map +0 -1
- package/esm/bls12-381.js +0 -1173
- package/esm/bls12-381.js.map +0 -1
- package/esm/bn.js +0 -22
- package/esm/bn.js.map +0 -1
- package/esm/ed25519.js +0 -385
- package/esm/ed25519.js.map +0 -1
- package/esm/ed448.js +0 -213
- package/esm/ed448.js.map +0 -1
- package/esm/index.js +0 -3
- package/esm/index.js.map +0 -1
- package/esm/jubjub.js +0 -54
- package/esm/jubjub.js.map +0 -1
- package/esm/p256.js +0 -42
- package/esm/p256.js.map +0 -1
- package/esm/p384.js +0 -47
- package/esm/p384.js.map +0 -1
- package/esm/p521.js +0 -48
- package/esm/p521.js.map +0 -1
- package/esm/package.json +0 -7
- package/esm/pasta.js +0 -30
- package/esm/pasta.js.map +0 -1
- package/esm/secp256k1.js +0 -253
- package/esm/secp256k1.js.map +0 -1
- package/esm/stark.js +0 -251
- package/esm/stark.js.map +0 -1
package/stark.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Field } from './abstract/modular.js';
|
|
2
|
+
import { poseidon } from './abstract/poseidon.js';
|
|
2
3
|
import { ProjPointType, SignatureType } from './abstract/weierstrass.js';
|
|
3
|
-
import
|
|
4
|
+
import * as u from './abstract/utils.js';
|
|
5
|
+
import type { Hex } from './abstract/utils.js';
|
|
4
6
|
declare type ProjectivePoint = ProjPointType<bigint>;
|
|
5
7
|
export declare const _starkCurve: import("./abstract/weierstrass.js").CurveFn;
|
|
6
8
|
export declare function getPublicKey(privKey: Hex, isCompressed?: boolean): Uint8Array;
|
|
@@ -32,15 +34,15 @@ declare const CURVE: Readonly<{
|
|
|
32
34
|
} | undefined;
|
|
33
35
|
readonly isTorsionFree?: ((c: import("./abstract/weierstrass.js").ProjConstructor<bigint>, point: ProjPointType<bigint>) => boolean) | undefined;
|
|
34
36
|
readonly clearCofactor?: ((c: import("./abstract/weierstrass.js").ProjConstructor<bigint>, point: ProjPointType<bigint>) => ProjPointType<bigint>) | undefined;
|
|
35
|
-
readonly hash:
|
|
37
|
+
readonly hash: u.CHash;
|
|
36
38
|
readonly hmac: (key: Uint8Array, ...messages: Uint8Array[]) => Uint8Array;
|
|
37
39
|
readonly randomBytes: (bytesLength?: number | undefined) => Uint8Array;
|
|
38
40
|
lowS: boolean;
|
|
39
41
|
readonly bits2int?: ((bytes: Uint8Array) => bigint) | undefined;
|
|
40
42
|
readonly bits2int_modN?: ((bytes: Uint8Array) => bigint) | undefined;
|
|
41
43
|
}>, ProjectivePoint: import("./abstract/weierstrass.js").ProjConstructor<bigint>, Signature: import("./abstract/weierstrass.js").SignatureConstructor, utils: {
|
|
42
|
-
normPrivateKeyToScalar: (key:
|
|
43
|
-
isValidPrivateKey(privateKey:
|
|
44
|
+
normPrivateKeyToScalar: (key: u.PrivKey) => bigint;
|
|
45
|
+
isValidPrivateKey(privateKey: u.PrivKey): boolean;
|
|
44
46
|
randomPrivateKey: () => Uint8Array;
|
|
45
47
|
precompute: (windowSize?: number | undefined, point?: ProjPointType<bigint> | undefined) => ProjPointType<bigint>;
|
|
46
48
|
};
|
|
@@ -64,20 +66,16 @@ export declare type PoseidonOpts = {
|
|
|
64
66
|
roundsFull: number;
|
|
65
67
|
roundsPartial: number;
|
|
66
68
|
};
|
|
67
|
-
export declare
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
export declare function poseidonCreate(opts: PoseidonOpts, mdsAttempt?: number): {
|
|
72
|
-
(values: bigint[]): bigint[];
|
|
73
|
-
roundConstants: bigint[][];
|
|
74
|
-
};
|
|
75
|
-
export declare const poseidonSmall: {
|
|
76
|
-
(values: bigint[]): bigint[];
|
|
77
|
-
roundConstants: bigint[][];
|
|
69
|
+
export declare type PoseidonFn = ReturnType<typeof poseidon> & {
|
|
70
|
+
m: number;
|
|
71
|
+
rate: number;
|
|
72
|
+
capacity: number;
|
|
78
73
|
};
|
|
79
|
-
export declare function
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
74
|
+
export declare function poseidonBasic(opts: PoseidonOpts, mds: bigint[][]): PoseidonFn;
|
|
75
|
+
export declare function poseidonCreate(opts: PoseidonOpts, mdsAttempt?: number): PoseidonFn;
|
|
76
|
+
export declare const poseidonSmall: PoseidonFn;
|
|
77
|
+
export declare function poseidonHash(x: bigint, y: bigint, fn?: PoseidonFn): bigint;
|
|
78
|
+
export declare function poseidonHashFunc(x: Uint8Array, y: Uint8Array, fn?: PoseidonFn): Uint8Array;
|
|
79
|
+
export declare function poseidonHashSingle(x: bigint, fn?: PoseidonFn): bigint;
|
|
80
|
+
export declare function poseidonHashMany(values: bigint[], fn?: PoseidonFn): bigint;
|
|
83
81
|
//# sourceMappingURL=stark.d.ts.map
|
package/stark.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stark.d.ts","sourceRoot":"","sources":["src/stark.ts"],"names":[],"mappings":"AAIA,OAAO,EAAW,KAAK,EAAiB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"stark.d.ts","sourceRoot":"","sources":["src/stark.ts"],"names":[],"mappings":"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"}
|
package/stark.js
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
"use strict";
|
|
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.utils = exports.Signature = exports.ProjectivePoint = exports.CURVE = exports.verify = exports.sign = exports.getSharedSecret = exports.getPublicKey = exports._starkCurve = void 0;
|
|
4
1
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
2
|
+
import { keccak_256 } from '@noble/hashes/sha3';
|
|
3
|
+
import { sha256 } from '@noble/hashes/sha256';
|
|
4
|
+
import { utf8ToBytes } from '@noble/hashes/utils';
|
|
5
|
+
import { Fp, mod, validateField } from './abstract/modular.js';
|
|
6
|
+
import { poseidon } from './abstract/poseidon.js';
|
|
7
|
+
import { weierstrass } from './abstract/weierstrass.js';
|
|
8
|
+
import * as u from './abstract/utils.js';
|
|
9
|
+
import { getHash } from './_shortw_utils.js';
|
|
13
10
|
const CURVE_ORDER = BigInt('3618502788666131213697322783095070105526743751716087489154079457884512865583');
|
|
14
11
|
const nBitLength = 252;
|
|
15
12
|
function bits2int(bytes) {
|
|
@@ -17,7 +14,7 @@ function bits2int(bytes) {
|
|
|
17
14
|
bytes = bytes.subarray(1); // strip leading 0s
|
|
18
15
|
// Copy-pasted from weierstrass.ts
|
|
19
16
|
const delta = bytes.length * 8 - nBitLength;
|
|
20
|
-
const num =
|
|
17
|
+
const num = u.bytesToNumberBE(bytes);
|
|
21
18
|
return delta > 0 ? num >> BigInt(delta) : num;
|
|
22
19
|
}
|
|
23
20
|
function hex0xToBytes(hex) {
|
|
@@ -26,14 +23,14 @@ function hex0xToBytes(hex) {
|
|
|
26
23
|
if (hex.length & 1)
|
|
27
24
|
hex = '0' + hex; // allow unpadded hex
|
|
28
25
|
}
|
|
29
|
-
return
|
|
26
|
+
return u.hexToBytes(hex);
|
|
30
27
|
}
|
|
31
|
-
const curve =
|
|
28
|
+
const curve = weierstrass({
|
|
32
29
|
a: BigInt(1),
|
|
33
30
|
b: BigInt('3141592653589793238462643383279502884197169399375105820974944592307816406665'),
|
|
34
31
|
// Field over which we'll do calculations; 2n**251n + 17n * 2n**192n + 1n
|
|
35
32
|
// There is no efficient sqrt for field (P%4==1)
|
|
36
|
-
Fp:
|
|
33
|
+
Fp: Fp(BigInt('0x800000000000011000000000000000000000000000000000000000000000001')),
|
|
37
34
|
n: CURVE_ORDER,
|
|
38
35
|
nBitLength,
|
|
39
36
|
// Base point (x, y) aka generator point
|
|
@@ -41,49 +38,42 @@ const curve = (0, weierstrass_js_1.weierstrass)({
|
|
|
41
38
|
Gy: BigInt('152666792071518830868575557812948353041420400780739481342941381225525861407'),
|
|
42
39
|
h: BigInt(1),
|
|
43
40
|
lowS: false,
|
|
44
|
-
...
|
|
41
|
+
...getHash(sha256),
|
|
45
42
|
// Custom truncation routines for stark curve
|
|
46
43
|
bits2int,
|
|
47
44
|
bits2int_modN: (bytes) => {
|
|
48
45
|
// 2102820b232636d200cb21f1d330f20d096cae09d1bf3edb1cc333ddee11318 =>
|
|
49
46
|
// 2102820b232636d200cb21f1d330f20d096cae09d1bf3edb1cc333ddee113180
|
|
50
|
-
const hex =
|
|
47
|
+
const hex = u.bytesToNumberBE(bytes).toString(16); // toHex unpadded
|
|
51
48
|
if (hex.length === 63)
|
|
52
49
|
bytes = hex0xToBytes(hex + '0'); // append trailing 0
|
|
53
|
-
return
|
|
50
|
+
return mod(bits2int(bytes), CURVE_ORDER);
|
|
54
51
|
},
|
|
55
52
|
});
|
|
56
|
-
|
|
53
|
+
export const _starkCurve = curve;
|
|
57
54
|
function ensureBytes(hex) {
|
|
58
|
-
return
|
|
55
|
+
return u.ensureBytes('', typeof hex === 'string' ? hex0xToBytes(hex) : hex);
|
|
59
56
|
}
|
|
60
57
|
function normPrivKey(privKey) {
|
|
61
|
-
return
|
|
58
|
+
return u.bytesToHex(ensureBytes(privKey)).padStart(64, '0');
|
|
62
59
|
}
|
|
63
|
-
function getPublicKey(privKey, isCompressed = false) {
|
|
60
|
+
export function getPublicKey(privKey, isCompressed = false) {
|
|
64
61
|
return curve.getPublicKey(normPrivKey(privKey), isCompressed);
|
|
65
62
|
}
|
|
66
|
-
|
|
67
|
-
function getSharedSecret(privKeyA, pubKeyB) {
|
|
63
|
+
export function getSharedSecret(privKeyA, pubKeyB) {
|
|
68
64
|
return curve.getSharedSecret(normPrivKey(privKeyA), pubKeyB);
|
|
69
65
|
}
|
|
70
|
-
|
|
71
|
-
function sign(msgHash, privKey, opts) {
|
|
66
|
+
export function sign(msgHash, privKey, opts) {
|
|
72
67
|
return curve.sign(ensureBytes(msgHash), normPrivKey(privKey), opts);
|
|
73
68
|
}
|
|
74
|
-
|
|
75
|
-
function verify(signature, msgHash, pubKey) {
|
|
69
|
+
export function verify(signature, msgHash, pubKey) {
|
|
76
70
|
const sig = signature instanceof Signature ? signature : ensureBytes(signature);
|
|
77
71
|
return curve.verify(sig, ensureBytes(msgHash), ensureBytes(pubKey));
|
|
78
72
|
}
|
|
79
|
-
exports.verify = verify;
|
|
80
73
|
const { CURVE, ProjectivePoint, Signature, utils } = curve;
|
|
81
|
-
|
|
82
|
-
exports.ProjectivePoint = ProjectivePoint;
|
|
83
|
-
exports.Signature = Signature;
|
|
84
|
-
exports.utils = utils;
|
|
74
|
+
export { CURVE, ProjectivePoint, Signature, utils };
|
|
85
75
|
function extractX(bytes) {
|
|
86
|
-
const hex =
|
|
76
|
+
const hex = u.bytesToHex(bytes.subarray(1));
|
|
87
77
|
const stripped = hex.replace(/^0+/gm, ''); // strip leading 0s
|
|
88
78
|
return `0x${stripped}`;
|
|
89
79
|
}
|
|
@@ -95,39 +85,35 @@ function numberTo0x16(num) {
|
|
|
95
85
|
return `0x${num.toString(16)}`;
|
|
96
86
|
}
|
|
97
87
|
// seed generation
|
|
98
|
-
function grindKey(seed) {
|
|
88
|
+
export function grindKey(seed) {
|
|
99
89
|
const _seed = ensureBytes(seed);
|
|
100
90
|
const sha256mask = 2n ** 256n;
|
|
101
|
-
const limit = sha256mask -
|
|
91
|
+
const limit = sha256mask - mod(sha256mask, CURVE_ORDER);
|
|
102
92
|
for (let i = 0;; i++) {
|
|
103
|
-
const key = sha256Num(
|
|
93
|
+
const key = sha256Num(u.concatBytes(_seed, u.numberToVarBytesBE(BigInt(i))));
|
|
104
94
|
if (key < limit)
|
|
105
|
-
return
|
|
95
|
+
return mod(key, CURVE_ORDER).toString(16); // key should be in [0, limit)
|
|
106
96
|
if (i === 100000)
|
|
107
97
|
throw new Error('grindKey is broken: tried 100k vals'); // prevent dos
|
|
108
98
|
}
|
|
109
99
|
}
|
|
110
|
-
|
|
111
|
-
function getStarkKey(privateKey) {
|
|
100
|
+
export function getStarkKey(privateKey) {
|
|
112
101
|
return extractX(getPublicKey(privateKey, true));
|
|
113
102
|
}
|
|
114
|
-
|
|
115
|
-
function ethSigToPrivate(signature) {
|
|
103
|
+
export function ethSigToPrivate(signature) {
|
|
116
104
|
signature = strip0x(signature);
|
|
117
105
|
if (signature.length !== 130)
|
|
118
106
|
throw new Error('Wrong ethereum signature');
|
|
119
107
|
return grindKey(signature.substring(0, 64));
|
|
120
108
|
}
|
|
121
|
-
exports.ethSigToPrivate = ethSigToPrivate;
|
|
122
109
|
const MASK_31 = 2n ** 31n - 1n;
|
|
123
110
|
const int31 = (n) => Number(n & MASK_31);
|
|
124
|
-
function getAccountPath(layer, application, ethereumAddress, index) {
|
|
111
|
+
export function getAccountPath(layer, application, ethereumAddress, index) {
|
|
125
112
|
const layerNum = int31(sha256Num(layer));
|
|
126
113
|
const applicationNum = int31(sha256Num(application));
|
|
127
|
-
const eth =
|
|
114
|
+
const eth = u.hexToNumber(strip0x(ethereumAddress));
|
|
128
115
|
return `m/2645'/${layerNum}'/${applicationNum}'/${int31(eth)}'/${int31(eth >> 31n)}'/${index}`;
|
|
129
116
|
}
|
|
130
|
-
exports.getAccountPath = getAccountPath;
|
|
131
117
|
// https://docs.starkware.co/starkex/pedersen-hash-function.html
|
|
132
118
|
const PEDERSEN_POINTS = [
|
|
133
119
|
new ProjectivePoint(2089986280348253421170679821480865132823066470938446095505822317253594081284n, 1713931329540660377023406109199410414810705867260802078187082345529207694986n, 1n),
|
|
@@ -165,7 +151,7 @@ function pedersenArg(arg) {
|
|
|
165
151
|
value = BigInt(arg);
|
|
166
152
|
}
|
|
167
153
|
else {
|
|
168
|
-
value =
|
|
154
|
+
value = u.bytesToNumberBE(ensureBytes(arg));
|
|
169
155
|
}
|
|
170
156
|
if (!(0n <= value && value < curve.CURVE.Fp.ORDER))
|
|
171
157
|
throw new Error(`PedersenArg should be 0 <= value < CURVE.P: ${value}`); // [0..Fp)
|
|
@@ -175,7 +161,7 @@ function pedersenSingle(point, value, constants) {
|
|
|
175
161
|
let x = pedersenArg(value);
|
|
176
162
|
for (let j = 0; j < 252; j++) {
|
|
177
163
|
const pt = constants[j];
|
|
178
|
-
if (pt.
|
|
164
|
+
if (pt.equals(point))
|
|
179
165
|
throw new Error('Same point');
|
|
180
166
|
if ((x & 1n) !== 0n)
|
|
181
167
|
point = point.add(pt);
|
|
@@ -184,14 +170,13 @@ function pedersenSingle(point, value, constants) {
|
|
|
184
170
|
return point;
|
|
185
171
|
}
|
|
186
172
|
// shift_point + x_low * P_0 + x_high * P1 + y_low * P2 + y_high * P3
|
|
187
|
-
function pedersen(x, y) {
|
|
173
|
+
export function pedersen(x, y) {
|
|
188
174
|
let point = PEDERSEN_POINTS[0];
|
|
189
175
|
point = pedersenSingle(point, x, PEDERSEN_POINTS1);
|
|
190
176
|
point = pedersenSingle(point, y, PEDERSEN_POINTS2);
|
|
191
177
|
return extractX(point.toRawBytes(true));
|
|
192
178
|
}
|
|
193
|
-
|
|
194
|
-
function hashChain(data, fn = pedersen) {
|
|
179
|
+
export function hashChain(data, fn = pedersen) {
|
|
195
180
|
if (!Array.isArray(data) || data.length < 1)
|
|
196
181
|
throw new Error('data should be array of at least 1 element');
|
|
197
182
|
if (data.length === 1)
|
|
@@ -200,25 +185,22 @@ function hashChain(data, fn = pedersen) {
|
|
|
200
185
|
.reverse()
|
|
201
186
|
.reduce((acc, i) => fn(i, acc));
|
|
202
187
|
}
|
|
203
|
-
exports.hashChain = hashChain;
|
|
204
188
|
// Same as hashChain, but computes hash even for single element and order is not revesed
|
|
205
|
-
const computeHashOnElements = (data, fn = pedersen) => [0, ...data, data.length].reduce((x, y) => fn(x, y));
|
|
206
|
-
|
|
207
|
-
const
|
|
208
|
-
const
|
|
209
|
-
exports.keccak = keccak;
|
|
210
|
-
const sha256Num = (data) => (0, utils_js_1.bytesToNumberBE)((0, sha256_1.sha256)(data));
|
|
189
|
+
export const computeHashOnElements = (data, fn = pedersen) => [0, ...data, data.length].reduce((x, y) => fn(x, y));
|
|
190
|
+
const MASK_250 = u.bitMask(250);
|
|
191
|
+
export const keccak = (data) => u.bytesToNumberBE(keccak_256(data)) & MASK_250;
|
|
192
|
+
const sha256Num = (data) => u.bytesToNumberBE(sha256(data));
|
|
211
193
|
// Poseidon hash
|
|
212
|
-
|
|
213
|
-
|
|
194
|
+
export const Fp253 = Fp(BigInt('14474011154664525231415395255581126252639794253786371766033694892385558855681')); // 2^253 + 2^199 + 1
|
|
195
|
+
export const Fp251 = Fp(BigInt('3618502788666131213697322783095070105623107215331596699973092056135872020481')); // 2^251 + 17 * 2^192 + 1
|
|
214
196
|
function poseidonRoundConstant(Fp, name, idx) {
|
|
215
|
-
const val = Fp.fromBytes(
|
|
197
|
+
const val = Fp.fromBytes(sha256(utf8ToBytes(`${name}${idx}`)));
|
|
216
198
|
return Fp.create(val);
|
|
217
199
|
}
|
|
218
200
|
// NOTE: doesn't check eiginvalues and possible can create unsafe matrix. But any filtration here will break compatibility with starknet
|
|
219
201
|
// Please use only if you really know what you doing.
|
|
220
202
|
// https://eprint.iacr.org/2019/458.pdf Section 2.3 (Avoiding Insecure Matrices)
|
|
221
|
-
function _poseidonMDS(Fp, name, m, attempt = 0) {
|
|
203
|
+
export function _poseidonMDS(Fp, name, m, attempt = 0) {
|
|
222
204
|
const x_values = [];
|
|
223
205
|
const y_values = [];
|
|
224
206
|
for (let i = 0; i < m; i++) {
|
|
@@ -229,14 +211,13 @@ function _poseidonMDS(Fp, name, m, attempt = 0) {
|
|
|
229
211
|
throw new Error('X and Y values are not distinct');
|
|
230
212
|
return x_values.map((x) => y_values.map((y) => Fp.inv(Fp.sub(x, y))));
|
|
231
213
|
}
|
|
232
|
-
exports._poseidonMDS = _poseidonMDS;
|
|
233
214
|
const MDS_SMALL = [
|
|
234
215
|
[3, 1, 1],
|
|
235
216
|
[1, -1, 1],
|
|
236
217
|
[1, 1, -2],
|
|
237
218
|
].map((i) => i.map(BigInt));
|
|
238
|
-
function poseidonBasic(opts, mds) {
|
|
239
|
-
|
|
219
|
+
export function poseidonBasic(opts, mds) {
|
|
220
|
+
validateField(opts.Fp);
|
|
240
221
|
if (!Number.isSafeInteger(opts.rate) || !Number.isSafeInteger(opts.capacity))
|
|
241
222
|
throw new Error(`Wrong poseidon opts: ${opts}`);
|
|
242
223
|
const m = opts.rate + opts.capacity;
|
|
@@ -248,7 +229,7 @@ function poseidonBasic(opts, mds) {
|
|
|
248
229
|
row.push(poseidonRoundConstant(opts.Fp, 'Hades', m * i + j));
|
|
249
230
|
roundConstants.push(row);
|
|
250
231
|
}
|
|
251
|
-
|
|
232
|
+
const res = poseidon({
|
|
252
233
|
...opts,
|
|
253
234
|
t: m,
|
|
254
235
|
sboxPower: 3,
|
|
@@ -256,18 +237,41 @@ function poseidonBasic(opts, mds) {
|
|
|
256
237
|
mds,
|
|
257
238
|
roundConstants,
|
|
258
239
|
});
|
|
240
|
+
res.m = m;
|
|
241
|
+
res.rate = opts.rate;
|
|
242
|
+
res.capacity = opts.capacity;
|
|
243
|
+
return res;
|
|
259
244
|
}
|
|
260
|
-
|
|
261
|
-
function poseidonCreate(opts, mdsAttempt = 0) {
|
|
245
|
+
export function poseidonCreate(opts, mdsAttempt = 0) {
|
|
262
246
|
const m = opts.rate + opts.capacity;
|
|
263
247
|
if (!Number.isSafeInteger(mdsAttempt))
|
|
264
248
|
throw new Error(`Wrong mdsAttempt=${mdsAttempt}`);
|
|
265
249
|
return poseidonBasic(opts, _poseidonMDS(opts.Fp, 'HadesMDS', m, mdsAttempt));
|
|
266
250
|
}
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
function poseidonHash(x, y, fn = exports.poseidonSmall) {
|
|
251
|
+
export const poseidonSmall = poseidonBasic({ Fp: Fp251, rate: 2, capacity: 1, roundsFull: 8, roundsPartial: 83 }, MDS_SMALL);
|
|
252
|
+
export function poseidonHash(x, y, fn = poseidonSmall) {
|
|
270
253
|
return fn([x, y, 2n])[0];
|
|
271
254
|
}
|
|
272
|
-
|
|
255
|
+
export function poseidonHashFunc(x, y, fn = poseidonSmall) {
|
|
256
|
+
return u.numberToVarBytesBE(poseidonHash(u.bytesToNumberBE(x), u.bytesToNumberBE(y), fn));
|
|
257
|
+
}
|
|
258
|
+
export function poseidonHashSingle(x, fn = poseidonSmall) {
|
|
259
|
+
return fn([x, 0n, 1n])[0];
|
|
260
|
+
}
|
|
261
|
+
export function poseidonHashMany(values, fn = poseidonSmall) {
|
|
262
|
+
const { m, rate } = fn;
|
|
263
|
+
if (!Array.isArray(values))
|
|
264
|
+
throw new Error('bigint array expected in values');
|
|
265
|
+
const padded = Array.from(values); // copy
|
|
266
|
+
padded.push(1n);
|
|
267
|
+
while (padded.length % rate !== 0)
|
|
268
|
+
padded.push(0n);
|
|
269
|
+
let state = new Array(m).fill(0n);
|
|
270
|
+
for (let i = 0; i < padded.length; i += rate) {
|
|
271
|
+
for (let j = 0; j < rate; j++)
|
|
272
|
+
state[j] += padded[i + j];
|
|
273
|
+
state = fn(state);
|
|
274
|
+
}
|
|
275
|
+
return state[0];
|
|
276
|
+
}
|
|
273
277
|
//# sourceMappingURL=stark.js.map
|
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/_shortw_utils.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
2
|
-
import { hmac } from '@noble/hashes/hmac';
|
|
3
|
-
import { concatBytes, randomBytes } from '@noble/hashes/utils';
|
|
4
|
-
import { weierstrass } from './abstract/weierstrass.js';
|
|
5
|
-
// connects noble-curves to noble-hashes
|
|
6
|
-
export function getHash(hash) {
|
|
7
|
-
return {
|
|
8
|
-
hash,
|
|
9
|
-
hmac: (key, ...msgs) => hmac(hash, key, concatBytes(...msgs)),
|
|
10
|
-
randomBytes,
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
export function createCurve(curveDef, defHash) {
|
|
14
|
-
const create = (hash) => weierstrass({ ...curveDef, ...getHash(hash) });
|
|
15
|
-
return Object.freeze({ ...create(defHash), create });
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=_shortw_utils.js.map
|
package/esm/_shortw_utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_shortw_utils.js","sourceRoot":"","sources":["../src/_shortw_utils.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAa,MAAM,2BAA2B,CAAC;AAGnE,wCAAwC;AACxC,MAAM,UAAU,OAAO,CAAC,IAAW;IACjC,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,CAAC,GAAe,EAAE,GAAG,IAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;QACvF,WAAW;KACZ,CAAC;AACJ,CAAC;AAGD,MAAM,UAAU,WAAW,CAAC,QAAkB,EAAE,OAAc;IAC5D,MAAM,MAAM,GAAG,CAAC,IAAW,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/E,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;AACvD,CAAC"}
|