@noble/curves 1.9.1 → 1.9.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 +238 -227
- package/_shortw_utils.d.ts +8 -5
- package/_shortw_utils.d.ts.map +1 -1
- package/_shortw_utils.js +3 -8
- package/_shortw_utils.js.map +1 -1
- package/abstract/bls.d.ts +123 -62
- package/abstract/bls.d.ts.map +1 -1
- package/abstract/bls.js +219 -163
- package/abstract/bls.js.map +1 -1
- package/abstract/curve.d.ts +142 -21
- package/abstract/curve.d.ts.map +1 -1
- package/abstract/curve.js +224 -143
- package/abstract/curve.js.map +1 -1
- package/abstract/edwards.d.ts +190 -49
- package/abstract/edwards.d.ts.map +1 -1
- package/abstract/edwards.js +322 -136
- package/abstract/edwards.js.map +1 -1
- package/abstract/fft.d.ts +12 -10
- package/abstract/fft.d.ts.map +1 -1
- package/abstract/fft.js +12 -13
- package/abstract/fft.js.map +1 -1
- package/abstract/hash-to-curve.d.ts +31 -13
- package/abstract/hash-to-curve.d.ts.map +1 -1
- package/abstract/hash-to-curve.js +34 -19
- package/abstract/hash-to-curve.js.map +1 -1
- package/abstract/modular.d.ts +31 -13
- package/abstract/modular.d.ts.map +1 -1
- package/abstract/modular.js +125 -52
- package/abstract/modular.js.map +1 -1
- package/abstract/montgomery.d.ts +18 -5
- package/abstract/montgomery.d.ts.map +1 -1
- package/abstract/montgomery.js +23 -6
- package/abstract/montgomery.js.map +1 -1
- package/abstract/poseidon.d.ts +5 -13
- package/abstract/poseidon.d.ts.map +1 -1
- package/abstract/poseidon.js +12 -7
- package/abstract/poseidon.js.map +1 -1
- package/abstract/tower.d.ts +23 -49
- package/abstract/tower.d.ts.map +1 -1
- package/abstract/tower.js +9 -3
- package/abstract/tower.js.map +1 -1
- package/abstract/utils.d.ts +1 -115
- package/abstract/utils.d.ts.map +1 -1
- package/abstract/utils.js +17 -371
- package/abstract/utils.js.map +1 -1
- package/abstract/weierstrass.d.ts +206 -124
- package/abstract/weierstrass.d.ts.map +1 -1
- package/abstract/weierstrass.js +747 -604
- package/abstract/weierstrass.js.map +1 -1
- package/bls12-381.d.ts +2 -0
- package/bls12-381.d.ts.map +1 -1
- package/bls12-381.js +504 -466
- package/bls12-381.js.map +1 -1
- package/bn254.d.ts +2 -0
- package/bn254.d.ts.map +1 -1
- package/bn254.js +44 -32
- package/bn254.js.map +1 -1
- package/ed25519.d.ts +55 -66
- package/ed25519.d.ts.map +1 -1
- package/ed25519.js +172 -186
- package/ed25519.js.map +1 -1
- package/ed448.d.ts +60 -57
- package/ed448.d.ts.map +1 -1
- package/ed448.js +172 -166
- package/ed448.js.map +1 -1
- package/esm/_shortw_utils.d.ts +8 -5
- package/esm/_shortw_utils.d.ts.map +1 -1
- package/esm/_shortw_utils.js +3 -8
- package/esm/_shortw_utils.js.map +1 -1
- package/esm/abstract/bls.d.ts +123 -62
- package/esm/abstract/bls.d.ts.map +1 -1
- package/esm/abstract/bls.js +220 -164
- package/esm/abstract/bls.js.map +1 -1
- package/esm/abstract/curve.d.ts +142 -21
- package/esm/abstract/curve.d.ts.map +1 -1
- package/esm/abstract/curve.js +219 -143
- package/esm/abstract/curve.js.map +1 -1
- package/esm/abstract/edwards.d.ts +190 -49
- package/esm/abstract/edwards.d.ts.map +1 -1
- package/esm/abstract/edwards.js +320 -138
- package/esm/abstract/edwards.js.map +1 -1
- package/esm/abstract/fft.d.ts +12 -10
- package/esm/abstract/fft.d.ts.map +1 -1
- package/esm/abstract/fft.js +10 -11
- package/esm/abstract/fft.js.map +1 -1
- package/esm/abstract/hash-to-curve.d.ts +31 -13
- package/esm/abstract/hash-to-curve.d.ts.map +1 -1
- package/esm/abstract/hash-to-curve.js +33 -19
- package/esm/abstract/hash-to-curve.js.map +1 -1
- package/esm/abstract/modular.d.ts +31 -13
- package/esm/abstract/modular.d.ts.map +1 -1
- package/esm/abstract/modular.js +124 -51
- package/esm/abstract/modular.js.map +1 -1
- package/esm/abstract/montgomery.d.ts +18 -5
- package/esm/abstract/montgomery.d.ts.map +1 -1
- package/esm/abstract/montgomery.js +23 -6
- package/esm/abstract/montgomery.js.map +1 -1
- package/esm/abstract/poseidon.d.ts +5 -13
- package/esm/abstract/poseidon.d.ts.map +1 -1
- package/esm/abstract/poseidon.js +12 -7
- package/esm/abstract/poseidon.js.map +1 -1
- package/esm/abstract/tower.d.ts +23 -49
- package/esm/abstract/tower.d.ts.map +1 -1
- package/esm/abstract/tower.js +9 -3
- package/esm/abstract/tower.js.map +1 -1
- package/esm/abstract/utils.d.ts +1 -115
- package/esm/abstract/utils.d.ts.map +1 -1
- package/esm/abstract/utils.js +3 -344
- package/esm/abstract/utils.js.map +1 -1
- package/esm/abstract/weierstrass.d.ts +206 -124
- package/esm/abstract/weierstrass.d.ts.map +1 -1
- package/esm/abstract/weierstrass.js +743 -605
- package/esm/abstract/weierstrass.js.map +1 -1
- package/esm/bls12-381.d.ts +2 -0
- package/esm/bls12-381.d.ts.map +1 -1
- package/esm/bls12-381.js +503 -465
- package/esm/bls12-381.js.map +1 -1
- package/esm/bn254.d.ts +2 -0
- package/esm/bn254.d.ts.map +1 -1
- package/esm/bn254.js +41 -29
- package/esm/bn254.js.map +1 -1
- package/esm/ed25519.d.ts +55 -66
- package/esm/ed25519.d.ts.map +1 -1
- package/esm/ed25519.js +170 -183
- package/esm/ed25519.js.map +1 -1
- package/esm/ed448.d.ts +60 -57
- package/esm/ed448.d.ts.map +1 -1
- package/esm/ed448.js +169 -162
- package/esm/ed448.js.map +1 -1
- package/esm/index.js +7 -9
- package/esm/index.js.map +1 -1
- package/esm/jubjub.d.ts +3 -3
- package/esm/jubjub.d.ts.map +1 -1
- package/esm/jubjub.js +3 -3
- package/esm/jubjub.js.map +1 -1
- package/esm/misc.d.ts +3 -5
- package/esm/misc.d.ts.map +1 -1
- package/esm/misc.js +31 -29
- package/esm/misc.js.map +1 -1
- package/esm/nist.d.ts +7 -22
- package/esm/nist.d.ts.map +1 -1
- package/esm/nist.js +106 -101
- package/esm/nist.js.map +1 -1
- package/esm/p256.d.ts +7 -3
- package/esm/p256.d.ts.map +1 -1
- package/esm/p256.js +4 -0
- package/esm/p256.js.map +1 -1
- package/esm/p384.d.ts +7 -4
- package/esm/p384.d.ts.map +1 -1
- package/esm/p384.js +4 -1
- package/esm/p384.js.map +1 -1
- package/esm/p521.d.ts +7 -3
- package/esm/p521.d.ts.map +1 -1
- package/esm/p521.js +4 -0
- package/esm/p521.js.map +1 -1
- package/esm/secp256k1.d.ts +38 -21
- package/esm/secp256k1.d.ts.map +1 -1
- package/esm/secp256k1.js +112 -104
- package/esm/secp256k1.js.map +1 -1
- package/esm/utils.d.ts +96 -0
- package/esm/utils.d.ts.map +1 -0
- package/esm/utils.js +279 -0
- package/esm/utils.js.map +1 -0
- package/index.js +7 -9
- package/index.js.map +1 -1
- package/jubjub.d.ts +3 -3
- package/jubjub.d.ts.map +1 -1
- package/jubjub.js +3 -3
- package/jubjub.js.map +1 -1
- package/misc.d.ts +3 -5
- package/misc.d.ts.map +1 -1
- package/misc.js +35 -33
- package/misc.js.map +1 -1
- package/nist.d.ts +7 -22
- package/nist.d.ts.map +1 -1
- package/nist.js +106 -101
- package/nist.js.map +1 -1
- package/p256.d.ts +7 -3
- package/p256.d.ts.map +1 -1
- package/p256.js +4 -0
- package/p256.js.map +1 -1
- package/p384.d.ts +7 -4
- package/p384.d.ts.map +1 -1
- package/p384.js +4 -1
- package/p384.js.map +1 -1
- package/p521.d.ts +7 -3
- package/p521.d.ts.map +1 -1
- package/p521.js +4 -0
- package/p521.js.map +1 -1
- package/package.json +17 -6
- package/secp256k1.d.ts +38 -21
- package/secp256k1.d.ts.map +1 -1
- package/secp256k1.js +112 -104
- package/secp256k1.js.map +1 -1
- package/src/_shortw_utils.ts +6 -15
- package/src/abstract/bls.ts +428 -251
- package/src/abstract/curve.ts +307 -149
- package/src/abstract/edwards.ts +555 -203
- package/src/abstract/fft.ts +30 -19
- package/src/abstract/hash-to-curve.ts +75 -34
- package/src/abstract/modular.ts +131 -59
- package/src/abstract/montgomery.ts +44 -15
- package/src/abstract/poseidon.ts +22 -18
- package/src/abstract/tower.ts +40 -71
- package/src/abstract/utils.ts +3 -378
- package/src/abstract/weierstrass.ts +1086 -746
- package/src/bls12-381.ts +549 -490
- package/src/bn254.ts +47 -35
- package/src/ed25519.ts +214 -216
- package/src/ed448.ts +251 -220
- package/src/index.ts +7 -9
- package/src/jubjub.ts +3 -3
- package/src/misc.ts +41 -40
- package/src/nist.ts +161 -126
- package/src/p256.ts +7 -3
- package/src/p384.ts +7 -5
- package/src/p521.ts +7 -3
- package/src/secp256k1.ts +145 -115
- package/src/utils.ts +328 -0
- package/utils.d.ts +96 -0
- package/utils.d.ts.map +1 -0
- package/utils.js +313 -0
- package/utils.js.map +1 -0
|
@@ -1,48 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* ### Parameters
|
|
5
|
-
*
|
|
6
|
-
* To initialize a weierstrass curve, one needs to pass following params:
|
|
7
|
-
*
|
|
8
|
-
* * a: formula param
|
|
9
|
-
* * b: formula param
|
|
10
|
-
* * Fp: finite field of prime characteristic P; may be complex (Fp2). Arithmetics is done in field
|
|
11
|
-
* * n: order of prime subgroup a.k.a total amount of valid curve points
|
|
12
|
-
* * Gx: Base point (x, y) aka generator point. Gx = x coordinate
|
|
13
|
-
* * Gy: ...y coordinate
|
|
14
|
-
* * h: cofactor, usually 1. h*n = curve group order (n is only subgroup order)
|
|
15
|
-
* * lowS: whether to enable (default) or disable "low-s" non-malleable signatures
|
|
16
|
-
*
|
|
17
|
-
* ### Design rationale for types
|
|
18
|
-
*
|
|
19
|
-
* * Interaction between classes from different curves should fail:
|
|
20
|
-
* `k256.Point.BASE.add(p256.Point.BASE)`
|
|
21
|
-
* * For this purpose we want to use `instanceof` operator, which is fast and works during runtime
|
|
22
|
-
* * Different calls of `curve()` would return different classes -
|
|
23
|
-
* `curve(params) !== curve(params)`: if somebody decided to monkey-patch their curve,
|
|
24
|
-
* it won't affect others
|
|
25
|
-
*
|
|
26
|
-
* TypeScript can't infer types for classes created inside a function. Classes is one instance
|
|
27
|
-
* of nominative types in TypeScript and interfaces only check for shape, so it's hard to create
|
|
28
|
-
* unique type for every function call.
|
|
29
|
-
*
|
|
30
|
-
* We can use generic types via some param, like curve opts, but that would:
|
|
31
|
-
* 1. Enable interaction between `curve(params)` and `curve(params)` (curves of same params)
|
|
32
|
-
* which is hard to debug.
|
|
33
|
-
* 2. Params can be generic and we can't enforce them to be constant value:
|
|
34
|
-
* if somebody creates curve from non-constant params,
|
|
35
|
-
* it would be allowed to interact with other curves with non-constant params
|
|
36
|
-
*
|
|
37
|
-
* @todo https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-7.html#unique-symbol
|
|
38
|
-
* @module
|
|
39
|
-
*/
|
|
40
|
-
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
41
|
-
import { type AffinePoint, type BasicCurve, type Group, type GroupConstructor } from './curve.ts';
|
|
42
|
-
import { type IField } from './modular.ts';
|
|
43
|
-
import { type CHash, type Hex, type PrivKey } from './utils.ts';
|
|
1
|
+
import { type CHash, type Hex, type PrivKey } from '../utils.ts';
|
|
2
|
+
import { type AffinePoint, type BasicCurve, type CurveInfo, type CurvePoint, type CurvePointCons } from './curve.ts';
|
|
3
|
+
import { type IField, type NLength } from './modular.ts';
|
|
44
4
|
export type { AffinePoint };
|
|
45
|
-
type HmacFnSync = (key: Uint8Array, ...messages: Uint8Array[]) => Uint8Array;
|
|
5
|
+
export type HmacFnSync = (key: Uint8Array, ...messages: Uint8Array[]) => Uint8Array;
|
|
6
|
+
type EndoBasis = [[bigint, bigint], [bigint, bigint]];
|
|
46
7
|
/**
|
|
47
8
|
* When Weierstrass curve has `a=0`, it becomes Koblitz curve.
|
|
48
9
|
* Koblitz curves allow using **efficiently-computable GLV endomorphism ψ**.
|
|
@@ -68,7 +29,8 @@ type HmacFnSync = (key: Uint8Array, ...messages: Uint8Array[]) => Uint8Array;
|
|
|
68
29
|
*/
|
|
69
30
|
export type EndomorphismOpts = {
|
|
70
31
|
beta: bigint;
|
|
71
|
-
|
|
32
|
+
basises?: EndoBasis;
|
|
33
|
+
splitScalar?: (k: bigint) => {
|
|
72
34
|
k1neg: boolean;
|
|
73
35
|
k1: bigint;
|
|
74
36
|
k2neg: boolean;
|
|
@@ -81,61 +43,162 @@ export type BasicWCurve<T> = BasicCurve<T> & {
|
|
|
81
43
|
allowedPrivateKeyLengths?: readonly number[];
|
|
82
44
|
wrapPrivateKey?: boolean;
|
|
83
45
|
endo?: EndomorphismOpts;
|
|
84
|
-
isTorsionFree?: (c:
|
|
85
|
-
clearCofactor?: (c:
|
|
86
|
-
};
|
|
87
|
-
export type Entropy = Hex | boolean;
|
|
88
|
-
export type SignOpts = {
|
|
89
|
-
lowS?: boolean;
|
|
90
|
-
extraEntropy?: Entropy;
|
|
91
|
-
prehash?: boolean;
|
|
46
|
+
isTorsionFree?: (c: WeierstrassPointCons<T>, point: WeierstrassPoint<T>) => boolean;
|
|
47
|
+
clearCofactor?: (c: WeierstrassPointCons<T>, point: WeierstrassPoint<T>) => WeierstrassPoint<T>;
|
|
92
48
|
};
|
|
93
|
-
export type
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
49
|
+
export type ScalarEndoParts = {
|
|
50
|
+
k1neg: boolean;
|
|
51
|
+
k1: bigint;
|
|
52
|
+
k2neg: boolean;
|
|
53
|
+
k2: bigint;
|
|
97
54
|
};
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
55
|
+
/**
|
|
56
|
+
* Splits scalar for GLV endomorphism.
|
|
57
|
+
*/
|
|
58
|
+
export declare function _splitEndoScalar(k: bigint, basis: EndoBasis, n: bigint): ScalarEndoParts;
|
|
59
|
+
export type ECDSASigFormat = 'compact' | 'der';
|
|
60
|
+
export type Entropy = Hex | boolean;
|
|
61
|
+
export type SignOpts = Partial<{
|
|
62
|
+
lowS: boolean;
|
|
63
|
+
extraEntropy: Entropy;
|
|
64
|
+
prehash: boolean;
|
|
65
|
+
format: ECDSASigFormat | 'js';
|
|
66
|
+
}>;
|
|
67
|
+
export type VerOpts = Partial<{
|
|
68
|
+
lowS: boolean;
|
|
69
|
+
prehash: boolean;
|
|
70
|
+
format: ECDSASigFormat | 'js' | undefined;
|
|
71
|
+
}>;
|
|
72
|
+
/** Instance methods for 3D XYZ projective points. */
|
|
73
|
+
export interface WeierstrassPoint<T> extends CurvePoint<T, WeierstrassPoint<T>> {
|
|
74
|
+
/** projective X coordinate. Different from affine x. */
|
|
75
|
+
readonly X: T;
|
|
76
|
+
/** projective Y coordinate. Different from affine y. */
|
|
77
|
+
readonly Y: T;
|
|
78
|
+
/** projective z coordinate */
|
|
79
|
+
readonly Z: T;
|
|
80
|
+
/** affine x coordinate. Different from projective X. */
|
|
102
81
|
get x(): T;
|
|
82
|
+
/** affine y coordinate. Different from projective Y. */
|
|
103
83
|
get y(): T;
|
|
104
|
-
|
|
84
|
+
/** Encodes point using IEEE P1363 (DER) encoding. First byte is 2/3/4. Default = isCompressed. */
|
|
85
|
+
toBytes(isCompressed?: boolean): Uint8Array;
|
|
105
86
|
toHex(isCompressed?: boolean): string;
|
|
87
|
+
/** @deprecated use .X */
|
|
88
|
+
readonly px: T;
|
|
89
|
+
/** @deprecated use .Y */
|
|
90
|
+
readonly py: T;
|
|
91
|
+
/** @deprecated use .Z */
|
|
92
|
+
readonly pz: T;
|
|
93
|
+
/** @deprecated use `toBytes` */
|
|
106
94
|
toRawBytes(isCompressed?: boolean): Uint8Array;
|
|
107
|
-
|
|
95
|
+
/** @deprecated use `multiplyUnsafe` */
|
|
96
|
+
multiplyAndAddUnsafe(Q: WeierstrassPoint<T>, a: bigint, b: bigint): WeierstrassPoint<T> | undefined;
|
|
97
|
+
/** @deprecated use `p.y % 2n === 0n` */
|
|
108
98
|
hasEvenY(): boolean;
|
|
109
|
-
|
|
110
|
-
multiplyAndAddUnsafe(Q: ProjPointType<T>, a: bigint, b: bigint): ProjPointType<T> | undefined;
|
|
111
|
-
isTorsionFree(): boolean;
|
|
112
|
-
clearCofactor(): ProjPointType<T>;
|
|
99
|
+
/** @deprecated use `p.precompute(windowSize)` */
|
|
113
100
|
_setWindowSize(windowSize: number): void;
|
|
114
101
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
102
|
+
/** Static methods for 3D XYZ projective points. */
|
|
103
|
+
export interface WeierstrassPointCons<T> extends CurvePointCons<T, WeierstrassPoint<T>> {
|
|
104
|
+
/** Does NOT validate if the point is valid. Use `.assertValidity()`. */
|
|
105
|
+
new (X: T, Y: T, Z: T): WeierstrassPoint<T>;
|
|
106
|
+
/** @deprecated use `Point.BASE.multiply(Point.Fn.fromBytes(privateKey))` */
|
|
107
|
+
fromPrivateKey(privateKey: PrivKey): WeierstrassPoint<T>;
|
|
108
|
+
/** @deprecated use `import { normalizeZ } from '@noble/curves/abstract/curve.js';` */
|
|
109
|
+
normalizeZ(points: WeierstrassPoint<T>[]): WeierstrassPoint<T>[];
|
|
110
|
+
/** @deprecated use `import { pippenger } from '@noble/curves/abstract/curve.js';` */
|
|
111
|
+
msm(points: WeierstrassPoint<T>[], scalars: bigint[]): WeierstrassPoint<T>;
|
|
122
112
|
}
|
|
113
|
+
/** @deprecated use WeierstrassPoint */
|
|
114
|
+
export type ProjPointType<T> = WeierstrassPoint<T>;
|
|
115
|
+
/** @deprecated use WeierstrassPointCons */
|
|
116
|
+
export type ProjConstuctor<T> = WeierstrassPointCons<T>;
|
|
123
117
|
export type CurvePointsType<T> = BasicWCurve<T> & {
|
|
124
118
|
fromBytes?: (bytes: Uint8Array) => AffinePoint<T>;
|
|
125
|
-
toBytes?: (c:
|
|
119
|
+
toBytes?: (c: WeierstrassPointCons<T>, point: WeierstrassPoint<T>, isCompressed: boolean) => Uint8Array;
|
|
126
120
|
};
|
|
127
|
-
export type CurvePointsTypeWithLength<T> = Readonly<CurvePointsType<T> &
|
|
128
|
-
nByteLength: number;
|
|
129
|
-
nBitLength: number;
|
|
130
|
-
}>;
|
|
131
|
-
declare function validatePointOpts<T>(curve: CurvePointsType<T>): CurvePointsTypeWithLength<T>;
|
|
121
|
+
export type CurvePointsTypeWithLength<T> = Readonly<CurvePointsType<T> & Partial<NLength>>;
|
|
132
122
|
export type CurvePointsRes<T> = {
|
|
133
|
-
|
|
134
|
-
|
|
123
|
+
Point: WeierstrassPointCons<T>;
|
|
124
|
+
/** @deprecated import individual CURVE params */
|
|
125
|
+
CURVE: CurvePointsType<T>;
|
|
126
|
+
/** @deprecated use `Point` */
|
|
127
|
+
ProjectivePoint: WeierstrassPointCons<T>;
|
|
128
|
+
/** @deprecated use `Point.Fn.fromBytes(privateKey)` */
|
|
135
129
|
normPrivateKeyToScalar: (key: PrivKey) => bigint;
|
|
130
|
+
/** @deprecated */
|
|
136
131
|
weierstrassEquation: (x: T) => T;
|
|
132
|
+
/** @deprecated use `Point.Fn.isValidNot0(num)` */
|
|
137
133
|
isWithinCurveOrder: (num: bigint) => boolean;
|
|
138
134
|
};
|
|
135
|
+
/**
|
|
136
|
+
* Weierstrass curve options.
|
|
137
|
+
*
|
|
138
|
+
* * p: prime characteristic (order) of finite field, in which arithmetics is done
|
|
139
|
+
* * n: order of prime subgroup a.k.a total amount of valid curve points
|
|
140
|
+
* * h: cofactor, usually 1. h*n is group order; n is subgroup order
|
|
141
|
+
* * a: formula param, must be in field of p
|
|
142
|
+
* * b: formula param, must be in field of p
|
|
143
|
+
* * Gx: x coordinate of generator point a.k.a. base point
|
|
144
|
+
* * Gy: y coordinate of generator point
|
|
145
|
+
*/
|
|
146
|
+
export type WeierstrassOpts<T> = Readonly<{
|
|
147
|
+
p: bigint;
|
|
148
|
+
n: bigint;
|
|
149
|
+
h: bigint;
|
|
150
|
+
a: T;
|
|
151
|
+
b: T;
|
|
152
|
+
Gx: T;
|
|
153
|
+
Gy: T;
|
|
154
|
+
}>;
|
|
155
|
+
export type WeierstrassExtraOpts<T> = Partial<{
|
|
156
|
+
Fp: IField<T>;
|
|
157
|
+
Fn: IField<bigint>;
|
|
158
|
+
allowInfinityPoint: boolean;
|
|
159
|
+
endo: EndomorphismOpts;
|
|
160
|
+
isTorsionFree: (c: WeierstrassPointCons<T>, point: WeierstrassPoint<T>) => boolean;
|
|
161
|
+
clearCofactor: (c: WeierstrassPointCons<T>, point: WeierstrassPoint<T>) => WeierstrassPoint<T>;
|
|
162
|
+
fromBytes: (bytes: Uint8Array) => AffinePoint<T>;
|
|
163
|
+
toBytes: (c: WeierstrassPointCons<T>, point: WeierstrassPoint<T>, isCompressed: boolean) => Uint8Array;
|
|
164
|
+
}>;
|
|
165
|
+
/**
|
|
166
|
+
* Options for ECDSA signatures over a Weierstrass curve.
|
|
167
|
+
*/
|
|
168
|
+
export type ECDSAOpts = Partial<{
|
|
169
|
+
lowS: boolean;
|
|
170
|
+
hmac: HmacFnSync;
|
|
171
|
+
randomBytes: (bytesLength?: number) => Uint8Array;
|
|
172
|
+
bits2int: (bytes: Uint8Array) => bigint;
|
|
173
|
+
bits2int_modN: (bytes: Uint8Array) => bigint;
|
|
174
|
+
}>;
|
|
175
|
+
/** ECDSA is only supported for prime fields, not Fp2 (extension fields). */
|
|
176
|
+
export interface ECDSA {
|
|
177
|
+
keygen: (seed?: Uint8Array) => {
|
|
178
|
+
secretKey: Uint8Array;
|
|
179
|
+
publicKey: Uint8Array;
|
|
180
|
+
};
|
|
181
|
+
getPublicKey: (secretKey: PrivKey, isCompressed?: boolean) => Uint8Array;
|
|
182
|
+
sign: (msgHash: Hex, secretKey: PrivKey, opts?: SignOpts) => ECDSASigRecovered;
|
|
183
|
+
verify: (signature: Hex | SignatureLike, msgHash: Hex, publicKey: Hex, opts?: VerOpts) => boolean;
|
|
184
|
+
getSharedSecret: (secretKeyA: PrivKey, publicKeyB: Hex, isCompressed?: boolean) => Uint8Array;
|
|
185
|
+
Point: WeierstrassPointCons<bigint>;
|
|
186
|
+
Signature: ECDSASignatureCons;
|
|
187
|
+
utils: {
|
|
188
|
+
isValidSecretKey: (secretKey: PrivKey) => boolean;
|
|
189
|
+
isValidPublicKey: (publicKey: Uint8Array, isCompressed?: boolean) => boolean;
|
|
190
|
+
randomSecretKey: (seed?: Uint8Array) => Uint8Array;
|
|
191
|
+
/** @deprecated use `randomSecretKey` */
|
|
192
|
+
randomPrivateKey: (seed?: Uint8Array) => Uint8Array;
|
|
193
|
+
/** @deprecated use `isValidSecretKey` */
|
|
194
|
+
isValidPrivateKey: (secretKey: PrivKey) => boolean;
|
|
195
|
+
/** @deprecated use `Point.Fn.fromBytes()` */
|
|
196
|
+
normPrivateKeyToScalar: (key: PrivKey) => bigint;
|
|
197
|
+
/** @deprecated use `point.precompute()` */
|
|
198
|
+
precompute: (windowSize?: number, point?: WeierstrassPoint<bigint>) => WeierstrassPoint<bigint>;
|
|
199
|
+
};
|
|
200
|
+
info: CurveInfo;
|
|
201
|
+
}
|
|
139
202
|
export declare class DERErr extends Error {
|
|
140
203
|
constructor(m?: string);
|
|
141
204
|
}
|
|
@@ -169,69 +232,73 @@ export type IDER = {
|
|
|
169
232
|
* Docs: https://letsencrypt.org/docs/a-warm-welcome-to-asn1-and-der/, https://luca.ntop.org/Teaching/Appunti/asn1.html
|
|
170
233
|
*/
|
|
171
234
|
export declare const DER: IDER;
|
|
172
|
-
export declare function
|
|
173
|
-
export
|
|
235
|
+
export declare function _legacyHelperEquat<T>(Fp: IField<T>, a: T, b: T): (x: T) => T;
|
|
236
|
+
export declare function _normFnElement(Fn: IField<bigint>, key: PrivKey): bigint;
|
|
237
|
+
export declare function weierstrassN<T>(CURVE: WeierstrassOpts<T>, curveOpts?: WeierstrassExtraOpts<T>): WeierstrassPointCons<T>;
|
|
238
|
+
/** @deprecated use `weierstrassN` */
|
|
239
|
+
export declare function weierstrassPoints<T>(c: CurvePointsTypeWithLength<T>): CurvePointsRes<T>;
|
|
240
|
+
export interface ECDSASignature {
|
|
174
241
|
readonly r: bigint;
|
|
175
242
|
readonly s: bigint;
|
|
176
243
|
readonly recovery?: number;
|
|
177
|
-
|
|
178
|
-
addRecoveryBit(recovery: number): RecoveredSignatureType;
|
|
244
|
+
addRecoveryBit(recovery: number): ECDSASigRecovered;
|
|
179
245
|
hasHighS(): boolean;
|
|
180
|
-
normalizeS():
|
|
181
|
-
recoverPublicKey(msgHash: Hex):
|
|
246
|
+
normalizeS(): ECDSASignature;
|
|
247
|
+
recoverPublicKey(msgHash: Hex): WeierstrassPoint<bigint>;
|
|
248
|
+
toBytes(format?: string): Uint8Array;
|
|
249
|
+
toHex(format?: string): string;
|
|
250
|
+
/** @deprecated */
|
|
251
|
+
assertValidity(): void;
|
|
252
|
+
/** @deprecated use `.toBytes('compact')` */
|
|
182
253
|
toCompactRawBytes(): Uint8Array;
|
|
254
|
+
/** @deprecated use `.toBytes('compact')` */
|
|
183
255
|
toCompactHex(): string;
|
|
184
|
-
|
|
185
|
-
|
|
256
|
+
/** @deprecated use `.toBytes('der')` */
|
|
257
|
+
toDERRawBytes(): Uint8Array;
|
|
258
|
+
/** @deprecated use `.toBytes('der')` */
|
|
259
|
+
toDERHex(): string;
|
|
186
260
|
}
|
|
187
|
-
export type
|
|
261
|
+
export type SignatureType = ECDSASignature;
|
|
262
|
+
export type ECDSASigRecovered = ECDSASignature & {
|
|
188
263
|
readonly recovery: number;
|
|
189
264
|
};
|
|
190
|
-
export type
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
265
|
+
export type RecoveredSignatureType = ECDSASigRecovered;
|
|
266
|
+
export type ECDSASignatureCons = {
|
|
267
|
+
new (r: bigint, s: bigint, recovery?: number): ECDSASignature;
|
|
268
|
+
fromBytes(bytes: Uint8Array, format?: ECDSASigFormat): ECDSASignature;
|
|
269
|
+
fromHex(hex: string, format?: ECDSASigFormat): ECDSASignature;
|
|
270
|
+
/** @deprecated use `.fromBytes(bytes, 'compact')` */
|
|
271
|
+
fromCompact(hex: Hex): ECDSASignature;
|
|
272
|
+
/** @deprecated use `.fromBytes(bytes, 'der')` */
|
|
273
|
+
fromDER(hex: Hex): ECDSASignature;
|
|
194
274
|
};
|
|
195
|
-
type SignatureLike = {
|
|
275
|
+
export type SignatureLike = {
|
|
196
276
|
r: bigint;
|
|
197
277
|
s: bigint;
|
|
198
278
|
};
|
|
199
|
-
export type PubKey = Hex |
|
|
279
|
+
export type PubKey = Hex | WeierstrassPoint<bigint>;
|
|
200
280
|
export type CurveType = BasicWCurve<bigint> & {
|
|
201
281
|
hash: CHash;
|
|
202
|
-
hmac
|
|
203
|
-
randomBytes
|
|
282
|
+
hmac?: HmacFnSync;
|
|
283
|
+
randomBytes?: (bytesLength?: number) => Uint8Array;
|
|
204
284
|
lowS?: boolean;
|
|
205
285
|
bits2int?: (bytes: Uint8Array) => bigint;
|
|
206
286
|
bits2int_modN?: (bytes: Uint8Array) => bigint;
|
|
207
287
|
};
|
|
208
|
-
declare function validateOpts(curve: CurveType): Readonly<CurveType & {
|
|
209
|
-
nByteLength: number;
|
|
210
|
-
nBitLength: number;
|
|
211
|
-
}>;
|
|
212
288
|
export type CurveFn = {
|
|
213
|
-
CURVE:
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
};
|
|
289
|
+
CURVE: CurvePointsType<bigint>;
|
|
290
|
+
keygen: ECDSA['keygen'];
|
|
291
|
+
getPublicKey: ECDSA['getPublicKey'];
|
|
292
|
+
getSharedSecret: ECDSA['getSharedSecret'];
|
|
293
|
+
sign: ECDSA['sign'];
|
|
294
|
+
verify: ECDSA['verify'];
|
|
295
|
+
Point: WeierstrassPointCons<bigint>;
|
|
296
|
+
/** @deprecated use `Point` */
|
|
297
|
+
ProjectivePoint: WeierstrassPointCons<bigint>;
|
|
298
|
+
Signature: ECDSASignatureCons;
|
|
299
|
+
utils: ECDSA['utils'];
|
|
300
|
+
info: CurveInfo;
|
|
226
301
|
};
|
|
227
|
-
/**
|
|
228
|
-
* Creates short weierstrass curve and ECDSA signature methods for it.
|
|
229
|
-
* @example
|
|
230
|
-
* import { Field } from '@noble/curves/abstract/modular';
|
|
231
|
-
* // Before that, define BigInt-s: a, b, p, n, Gx, Gy
|
|
232
|
-
* const curve = weierstrass({ a, b, Fp: Field(p), n, Gx, Gy, h: 1n })
|
|
233
|
-
*/
|
|
234
|
-
export declare function weierstrass(curveDef: CurveType): CurveFn;
|
|
235
302
|
/**
|
|
236
303
|
* Implementation of the Shallue and van de Woestijne method for any weierstrass curve.
|
|
237
304
|
* TODO: check if there is a way to merge this with uvRatio in Edwards; move to modular.
|
|
@@ -257,4 +324,19 @@ export declare function mapToCurveSimpleSWU<T>(Fp: IField<T>, opts: {
|
|
|
257
324
|
x: T;
|
|
258
325
|
y: T;
|
|
259
326
|
};
|
|
327
|
+
/**
|
|
328
|
+
* Creates ECDSA for given elliptic curve Point and hash function.
|
|
329
|
+
*/
|
|
330
|
+
export declare function ecdsa(Point: WeierstrassPointCons<bigint>, hash: CHash, ecdsaOpts?: ECDSAOpts): ECDSA;
|
|
331
|
+
export type WsPointComposed<T> = {
|
|
332
|
+
CURVE: WeierstrassOpts<T>;
|
|
333
|
+
curveOpts: WeierstrassExtraOpts<T>;
|
|
334
|
+
};
|
|
335
|
+
export type WsComposed = {
|
|
336
|
+
CURVE: WeierstrassOpts<bigint>;
|
|
337
|
+
hash: CHash;
|
|
338
|
+
curveOpts: WeierstrassExtraOpts<bigint>;
|
|
339
|
+
ecdsaOpts: ECDSAOpts;
|
|
340
|
+
};
|
|
341
|
+
export declare function weierstrass(c: CurveType): CurveFn;
|
|
260
342
|
//# sourceMappingURL=weierstrass.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weierstrass.d.ts","sourceRoot":"","sources":["../src/abstract/weierstrass.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"weierstrass.d.ts","sourceRoot":"","sources":["../src/abstract/weierstrass.ts"],"names":[],"mappings":"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"}
|