@noble/curves 2.0.0 → 2.2.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 +214 -122
- package/abstract/bls.d.ts +299 -16
- package/abstract/bls.d.ts.map +1 -1
- package/abstract/bls.js +89 -24
- package/abstract/bls.js.map +1 -1
- package/abstract/curve.d.ts +274 -27
- package/abstract/curve.d.ts.map +1 -1
- package/abstract/curve.js +177 -23
- package/abstract/curve.js.map +1 -1
- package/abstract/edwards.d.ts +166 -30
- package/abstract/edwards.d.ts.map +1 -1
- package/abstract/edwards.js +221 -86
- package/abstract/edwards.js.map +1 -1
- package/abstract/fft.d.ts +327 -10
- package/abstract/fft.d.ts.map +1 -1
- package/abstract/fft.js +155 -12
- package/abstract/fft.js.map +1 -1
- package/abstract/frost.d.ts +293 -0
- package/abstract/frost.d.ts.map +1 -0
- package/abstract/frost.js +704 -0
- package/abstract/frost.js.map +1 -0
- package/abstract/hash-to-curve.d.ts +173 -24
- package/abstract/hash-to-curve.d.ts.map +1 -1
- package/abstract/hash-to-curve.js +170 -31
- package/abstract/hash-to-curve.js.map +1 -1
- package/abstract/modular.d.ts +429 -37
- package/abstract/modular.d.ts.map +1 -1
- package/abstract/modular.js +414 -119
- package/abstract/modular.js.map +1 -1
- package/abstract/montgomery.d.ts +83 -12
- package/abstract/montgomery.d.ts.map +1 -1
- package/abstract/montgomery.js +32 -7
- package/abstract/montgomery.js.map +1 -1
- package/abstract/oprf.d.ts +164 -91
- package/abstract/oprf.d.ts.map +1 -1
- package/abstract/oprf.js +88 -29
- package/abstract/oprf.js.map +1 -1
- package/abstract/poseidon.d.ts +138 -7
- package/abstract/poseidon.d.ts.map +1 -1
- package/abstract/poseidon.js +178 -15
- package/abstract/poseidon.js.map +1 -1
- package/abstract/tower.d.ts +122 -3
- package/abstract/tower.d.ts.map +1 -1
- package/abstract/tower.js +323 -139
- package/abstract/tower.js.map +1 -1
- package/abstract/weierstrass.d.ts +339 -76
- package/abstract/weierstrass.d.ts.map +1 -1
- package/abstract/weierstrass.js +395 -205
- package/abstract/weierstrass.js.map +1 -1
- package/bls12-381.d.ts +16 -2
- package/bls12-381.d.ts.map +1 -1
- package/bls12-381.js +199 -209
- package/bls12-381.js.map +1 -1
- package/bn254.d.ts +11 -2
- package/bn254.d.ts.map +1 -1
- package/bn254.js +93 -38
- package/bn254.js.map +1 -1
- package/ed25519.d.ts +135 -14
- package/ed25519.d.ts.map +1 -1
- package/ed25519.js +207 -41
- package/ed25519.js.map +1 -1
- package/ed448.d.ts +108 -14
- package/ed448.d.ts.map +1 -1
- package/ed448.js +194 -42
- package/ed448.js.map +1 -1
- package/index.js +7 -1
- package/index.js.map +1 -1
- package/misc.d.ts +106 -7
- package/misc.d.ts.map +1 -1
- package/misc.js +141 -32
- package/misc.js.map +1 -1
- package/nist.d.ts +112 -11
- package/nist.d.ts.map +1 -1
- package/nist.js +139 -17
- package/nist.js.map +1 -1
- package/package.json +34 -6
- package/secp256k1.d.ts +92 -15
- package/secp256k1.d.ts.map +1 -1
- package/secp256k1.js +211 -28
- package/secp256k1.js.map +1 -1
- package/src/abstract/bls.ts +356 -69
- package/src/abstract/curve.ts +327 -44
- package/src/abstract/edwards.ts +367 -143
- package/src/abstract/fft.ts +371 -36
- package/src/abstract/frost.ts +1092 -0
- package/src/abstract/hash-to-curve.ts +255 -56
- package/src/abstract/modular.ts +591 -144
- package/src/abstract/montgomery.ts +114 -30
- package/src/abstract/oprf.ts +383 -194
- package/src/abstract/poseidon.ts +235 -35
- package/src/abstract/tower.ts +428 -159
- package/src/abstract/weierstrass.ts +710 -312
- package/src/bls12-381.ts +239 -236
- package/src/bn254.ts +107 -46
- package/src/ed25519.ts +234 -56
- package/src/ed448.ts +227 -57
- package/src/index.ts +7 -1
- package/src/misc.ts +154 -35
- package/src/nist.ts +143 -20
- package/src/secp256k1.ts +284 -41
- package/src/utils.ts +583 -81
- package/src/webcrypto.ts +302 -73
- package/utils.d.ts +457 -24
- package/utils.d.ts.map +1 -1
- package/utils.js +410 -53
- package/utils.js.map +1 -1
- package/webcrypto.d.ts +167 -25
- package/webcrypto.d.ts.map +1 -1
- package/webcrypto.js +165 -58
- package/webcrypto.js.map +1 -1
package/abstract/edwards.d.ts
CHANGED
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
* @module
|
|
6
6
|
*/
|
|
7
7
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
8
|
-
import { type FHash } from '../utils.ts';
|
|
8
|
+
import { type FHash, type TArg, type TRet } from '../utils.ts';
|
|
9
9
|
import { type AffinePoint, type CurveLengths, type CurvePoint, type CurvePointCons } from './curve.ts';
|
|
10
10
|
import { type IField } from './modular.ts';
|
|
11
|
-
/**
|
|
11
|
+
/** Extended Edwards point with X/Y/Z/T coordinates. */
|
|
12
12
|
export interface EdwardsPoint extends CurvePoint<bigint, EdwardsPoint> {
|
|
13
13
|
/** extended X coordinate. Different from affine x. */
|
|
14
14
|
readonly X: bigint;
|
|
@@ -19,11 +19,28 @@ export interface EdwardsPoint extends CurvePoint<bigint, EdwardsPoint> {
|
|
|
19
19
|
/** extended T coordinate */
|
|
20
20
|
readonly T: bigint;
|
|
21
21
|
}
|
|
22
|
-
/**
|
|
22
|
+
/** Constructor and decoding helpers for extended Edwards points. */
|
|
23
23
|
export interface EdwardsPointCons extends CurvePointCons<EdwardsPoint> {
|
|
24
|
+
/** Create a point from extended X/Y/Z/T coordinates without validation. */
|
|
24
25
|
new (X: bigint, Y: bigint, Z: bigint, T: bigint): EdwardsPoint;
|
|
26
|
+
/**
|
|
27
|
+
* Return the curve parameters used by this point constructor.
|
|
28
|
+
* @returns Curve parameters.
|
|
29
|
+
*/
|
|
25
30
|
CURVE(): EdwardsOpts;
|
|
31
|
+
/**
|
|
32
|
+
* Decode a point from bytes, optionally using ZIP-215 rules.
|
|
33
|
+
* @param bytes - Encoded point bytes.
|
|
34
|
+
* @param zip215 - Whether to accept ZIP-215 encodings.
|
|
35
|
+
* @returns Decoded Edwards point.
|
|
36
|
+
*/
|
|
26
37
|
fromBytes(bytes: Uint8Array, zip215?: boolean): EdwardsPoint;
|
|
38
|
+
/**
|
|
39
|
+
* Decode a point from hex, optionally using ZIP-215 rules.
|
|
40
|
+
* @param hex - Encoded point hex.
|
|
41
|
+
* @param zip215 - Whether to accept ZIP-215 encodings.
|
|
42
|
+
* @returns Decoded Edwards point.
|
|
43
|
+
*/
|
|
27
44
|
fromHex(hex: string, zip215?: boolean): EdwardsPoint;
|
|
28
45
|
}
|
|
29
46
|
/**
|
|
@@ -38,12 +55,19 @@ export interface EdwardsPointCons extends CurvePointCons<EdwardsPoint> {
|
|
|
38
55
|
* * Gy: y coordinate of generator point
|
|
39
56
|
*/
|
|
40
57
|
export type EdwardsOpts = Readonly<{
|
|
58
|
+
/** Base-field modulus. */
|
|
41
59
|
p: bigint;
|
|
60
|
+
/** Prime subgroup order. */
|
|
42
61
|
n: bigint;
|
|
62
|
+
/** Curve cofactor. */
|
|
43
63
|
h: bigint;
|
|
64
|
+
/** Edwards curve parameter `a`. */
|
|
44
65
|
a: bigint;
|
|
66
|
+
/** Edwards curve parameter `d`. */
|
|
45
67
|
d: bigint;
|
|
68
|
+
/** Generator x coordinate. */
|
|
46
69
|
Gx: bigint;
|
|
70
|
+
/** Generator y coordinate. */
|
|
47
71
|
Gy: bigint;
|
|
48
72
|
}>;
|
|
49
73
|
/**
|
|
@@ -54,9 +78,13 @@ export type EdwardsOpts = Readonly<{
|
|
|
54
78
|
* * uvRatio: helper function for decompression, calculating √(u/v)
|
|
55
79
|
*/
|
|
56
80
|
export type EdwardsExtraOpts = Partial<{
|
|
81
|
+
/** Optional base-field override. */
|
|
57
82
|
Fp: IField<bigint>;
|
|
83
|
+
/** Optional scalar-field override. */
|
|
58
84
|
Fn: IField<bigint>;
|
|
85
|
+
/** Whether field encodings are little-endian. */
|
|
59
86
|
FpFnLE: boolean;
|
|
87
|
+
/** Square-root ratio helper used during point decompression. */
|
|
60
88
|
uvRatio: (u: bigint, v: bigint) => {
|
|
61
89
|
isValid: boolean;
|
|
62
90
|
value: bigint;
|
|
@@ -73,35 +101,77 @@ export type EdwardsExtraOpts = Partial<{
|
|
|
73
101
|
* * randomBytes: function generating random bytes, used for randomSecretKey
|
|
74
102
|
*/
|
|
75
103
|
export type EdDSAOpts = Partial<{
|
|
76
|
-
|
|
77
|
-
|
|
104
|
+
/** Clamp or otherwise normalize secret-scalar bytes before reducing mod `n`. */
|
|
105
|
+
adjustScalarBytes: (bytes: TArg<Uint8Array>) => TRet<Uint8Array>;
|
|
106
|
+
/** Domain-separation helper for contexts and prehash mode. */
|
|
107
|
+
domain: (data: TArg<Uint8Array>, ctx: TArg<Uint8Array>, phflag: boolean) => TRet<Uint8Array>;
|
|
108
|
+
/** Optional hash-to-curve mapper for protocols like Ristretto hash-to-group. */
|
|
78
109
|
mapToCurve: (scalar: bigint[]) => AffinePoint<bigint>;
|
|
110
|
+
/** Optional prehash function used before signing or verifying messages. */
|
|
79
111
|
prehash: FHash;
|
|
80
|
-
|
|
112
|
+
/** Default verification decoding policy. ZIP-215 is more permissive than RFC 8032 / NIST. */
|
|
113
|
+
zip215: boolean;
|
|
114
|
+
/** RNG override used by helper constructors. */
|
|
115
|
+
randomBytes: (bytesLength?: number) => TRet<Uint8Array>;
|
|
81
116
|
}>;
|
|
82
117
|
/**
|
|
83
|
-
* EdDSA (Edwards Digital Signature algorithm)
|
|
84
|
-
*
|
|
85
|
-
* Allows to create and verify signatures, create public and secret keys.
|
|
118
|
+
* EdDSA (Edwards Digital Signature algorithm) helper namespace.
|
|
119
|
+
* Allows creating and verifying signatures, and deriving public keys.
|
|
86
120
|
*/
|
|
87
121
|
export interface EdDSA {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
122
|
+
/**
|
|
123
|
+
* Generate a secret/public key pair.
|
|
124
|
+
* @param seed - Optional seed material.
|
|
125
|
+
* @returns Secret/public key pair.
|
|
126
|
+
*/
|
|
127
|
+
keygen: (seed?: TArg<Uint8Array>) => {
|
|
128
|
+
secretKey: TRet<Uint8Array>;
|
|
129
|
+
publicKey: TRet<Uint8Array>;
|
|
91
130
|
};
|
|
92
|
-
|
|
93
|
-
|
|
131
|
+
/**
|
|
132
|
+
* Derive the public key from a secret key.
|
|
133
|
+
* @param secretKey - Secret key bytes.
|
|
134
|
+
* @returns Encoded public key.
|
|
135
|
+
*/
|
|
136
|
+
getPublicKey: (secretKey: TArg<Uint8Array>) => TRet<Uint8Array>;
|
|
137
|
+
/**
|
|
138
|
+
* Sign a message with an EdDSA secret key.
|
|
139
|
+
* @param message - Message bytes.
|
|
140
|
+
* @param secretKey - Secret key bytes.
|
|
141
|
+
* @param options - Optional signature tweaks:
|
|
142
|
+
* - `context` (optional): Domain-separation context for Ed25519ctx/Ed448.
|
|
143
|
+
* @returns Encoded signature bytes.
|
|
144
|
+
*/
|
|
145
|
+
sign: (message: TArg<Uint8Array>, secretKey: TArg<Uint8Array>, options?: TArg<{
|
|
94
146
|
context?: Uint8Array;
|
|
95
|
-
}) => Uint8Array
|
|
96
|
-
|
|
147
|
+
}>) => TRet<Uint8Array>;
|
|
148
|
+
/**
|
|
149
|
+
* Verify a signature against a message and public key.
|
|
150
|
+
* @param sig - Encoded signature bytes.
|
|
151
|
+
* @param message - Message bytes.
|
|
152
|
+
* @param publicKey - Encoded public key.
|
|
153
|
+
* @param options - Optional verification tweaks:
|
|
154
|
+
* - `context` (optional): Domain-separation context for Ed25519ctx/Ed448.
|
|
155
|
+
* - `zip215` (optional): Whether to accept ZIP-215 encodings.
|
|
156
|
+
* @returns Whether the signature is valid.
|
|
157
|
+
*/
|
|
158
|
+
verify: (sig: TArg<Uint8Array>, message: TArg<Uint8Array>, publicKey: TArg<Uint8Array>, options?: TArg<{
|
|
97
159
|
context?: Uint8Array;
|
|
98
|
-
zip215
|
|
99
|
-
}) => boolean;
|
|
160
|
+
zip215?: boolean;
|
|
161
|
+
}>) => boolean;
|
|
162
|
+
/** Point constructor used by this signature scheme. */
|
|
100
163
|
Point: EdwardsPointCons;
|
|
164
|
+
/** Helper utilities for key validation and Montgomery conversion. */
|
|
101
165
|
utils: {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
166
|
+
/**
|
|
167
|
+
* Generate a valid random secret key.
|
|
168
|
+
* Optional seed bytes are only length-checked and returned unchanged.
|
|
169
|
+
*/
|
|
170
|
+
randomSecretKey: (seed?: TArg<Uint8Array>) => TRet<Uint8Array>;
|
|
171
|
+
/** Check whether a secret key has the expected encoding. */
|
|
172
|
+
isValidSecretKey: (secretKey: TArg<Uint8Array>) => boolean;
|
|
173
|
+
/** Check whether a public key decodes to a valid point. */
|
|
174
|
+
isValidPublicKey: (publicKey: TArg<Uint8Array>, zip215?: boolean) => boolean;
|
|
105
175
|
/**
|
|
106
176
|
* Converts ed public key to x public key.
|
|
107
177
|
*
|
|
@@ -111,6 +181,8 @@ export interface EdDSA {
|
|
|
111
181
|
* accepts inputs on the quadratic twist, which can't be moved to ed25519
|
|
112
182
|
*
|
|
113
183
|
* @example
|
|
184
|
+
* Converts ed public key to x public key.
|
|
185
|
+
*
|
|
114
186
|
* ```js
|
|
115
187
|
* const someonesPub_ed = ed25519.getPublicKey(ed25519.utils.randomSecretKey());
|
|
116
188
|
* const someonesPub = ed25519.utils.toMontgomery(someonesPub);
|
|
@@ -118,10 +190,12 @@ export interface EdDSA {
|
|
|
118
190
|
* const shared = x25519.getSharedSecret(aPriv, someonesPub)
|
|
119
191
|
* ```
|
|
120
192
|
*/
|
|
121
|
-
toMontgomery: (publicKey: Uint8Array) => Uint8Array
|
|
193
|
+
toMontgomery: (publicKey: TArg<Uint8Array>) => TRet<Uint8Array>;
|
|
122
194
|
/**
|
|
123
195
|
* Converts ed secret key to x secret key.
|
|
124
196
|
* @example
|
|
197
|
+
* Converts ed secret key to x secret key.
|
|
198
|
+
*
|
|
125
199
|
* ```js
|
|
126
200
|
* const someonesPub = x25519.getPublicKey(x25519.utils.randomSecretKey());
|
|
127
201
|
* const aPriv_ed = ed25519.utils.randomSecretKey();
|
|
@@ -129,22 +203,55 @@ export interface EdDSA {
|
|
|
129
203
|
* const shared = x25519.getSharedSecret(aPriv, someonesPub)
|
|
130
204
|
* ```
|
|
131
205
|
*/
|
|
132
|
-
toMontgomerySecret: (secretKey: Uint8Array) => Uint8Array
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
206
|
+
toMontgomerySecret: (secretKey: TArg<Uint8Array>) => TRet<Uint8Array>;
|
|
207
|
+
/** Return the expanded private key components used by RFC8032 signing. */
|
|
208
|
+
getExtendedPublicKey: (key: TArg<Uint8Array>) => {
|
|
209
|
+
head: TRet<Uint8Array>;
|
|
210
|
+
prefix: TRet<Uint8Array>;
|
|
136
211
|
scalar: bigint;
|
|
137
212
|
point: EdwardsPoint;
|
|
138
|
-
pointBytes: Uint8Array
|
|
213
|
+
pointBytes: TRet<Uint8Array>;
|
|
139
214
|
};
|
|
140
215
|
};
|
|
216
|
+
/** Byte lengths for keys and signatures exposed by this scheme. */
|
|
141
217
|
lengths: CurveLengths;
|
|
142
218
|
}
|
|
143
|
-
|
|
219
|
+
/**
|
|
220
|
+
* @param params - Curve parameters. See {@link EdwardsOpts}.
|
|
221
|
+
* @param extraOpts - Optional helpers and overrides. See {@link EdwardsExtraOpts}.
|
|
222
|
+
* @returns Edwards point constructor. Generator validation here only checks
|
|
223
|
+
* that `(Gx, Gy)` satisfies the affine Edwards equation.
|
|
224
|
+
* RFC 8032 base-point constraints like `B != (0,1)` and `[L]B = 0`
|
|
225
|
+
* are left to the caller's chosen parameters, since eager subgroup
|
|
226
|
+
* validation here adds about 10-15ms to heavyweight imports like ed448.
|
|
227
|
+
* The returned constructor also eagerly marks `Point.BASE` for W=8
|
|
228
|
+
* precompute caching. Some code paths still assume
|
|
229
|
+
* `Fp.BYTES === Fn.BYTES`, so mismatched byte lengths are not fully audited here.
|
|
230
|
+
* @throws If the curve parameters or Edwards overrides are invalid. {@link Error}
|
|
231
|
+
* @example
|
|
232
|
+
* ```ts
|
|
233
|
+
* import { edwards } from '@noble/curves/abstract/edwards.js';
|
|
234
|
+
* import { jubjub } from '@noble/curves/misc.js';
|
|
235
|
+
* // Build a point constructor from explicit curve parameters, then use its base point.
|
|
236
|
+
* const Point = edwards(jubjub.Point.CURVE());
|
|
237
|
+
* Point.BASE.toHex();
|
|
238
|
+
* ```
|
|
239
|
+
*/
|
|
240
|
+
export declare function edwards(params: TArg<EdwardsOpts>, extraOpts?: TArg<EdwardsExtraOpts>): EdwardsPointCons;
|
|
144
241
|
/**
|
|
145
242
|
* Base class for prime-order points like Ristretto255 and Decaf448.
|
|
146
243
|
* These points eliminate cofactor issues by representing equivalence classes
|
|
147
|
-
* of Edwards curve points.
|
|
244
|
+
* of Edwards curve points. Multiple Edwards representatives can describe the
|
|
245
|
+
* same abstract wrapper element, so wrapper validity is not the same thing as
|
|
246
|
+
* the hidden representative being torsion-free.
|
|
247
|
+
* @param ep - Backing Edwards point.
|
|
248
|
+
* @example
|
|
249
|
+
* Base class for prime-order points like Ristretto255 and Decaf448.
|
|
250
|
+
*
|
|
251
|
+
* ```ts
|
|
252
|
+
* import { ristretto255 } from '@noble/curves/ed25519.js';
|
|
253
|
+
* const point = ristretto255.Point.BASE.multiply(2n);
|
|
254
|
+
* ```
|
|
148
255
|
*/
|
|
149
256
|
export declare abstract class PrimeEdwardsPoint<T extends PrimeEdwardsPoint<T>> implements CurvePoint<bigint, T> {
|
|
150
257
|
static BASE: PrimeEdwardsPoint<any>;
|
|
@@ -152,6 +259,11 @@ export declare abstract class PrimeEdwardsPoint<T extends PrimeEdwardsPoint<T>>
|
|
|
152
259
|
static Fp: IField<bigint>;
|
|
153
260
|
static Fn: IField<bigint>;
|
|
154
261
|
protected readonly ep: EdwardsPoint;
|
|
262
|
+
/**
|
|
263
|
+
* Wrap one internal Edwards representative directly.
|
|
264
|
+
* This is not a canonical encoding boundary: alternate Edwards
|
|
265
|
+
* representatives may still describe the same abstract wrapper element.
|
|
266
|
+
*/
|
|
155
267
|
constructor(ep: EdwardsPoint);
|
|
156
268
|
abstract toBytes(): Uint8Array;
|
|
157
269
|
abstract equals(other: T): boolean;
|
|
@@ -161,6 +273,12 @@ export declare abstract class PrimeEdwardsPoint<T extends PrimeEdwardsPoint<T>>
|
|
|
161
273
|
get y(): bigint;
|
|
162
274
|
clearCofactor(): T;
|
|
163
275
|
assertValidity(): void;
|
|
276
|
+
/**
|
|
277
|
+
* Return affine coordinates of the current internal Edwards representative.
|
|
278
|
+
* This is a convenience helper, not a canonical Ristretto/Decaf encoding.
|
|
279
|
+
* Equal abstract elements may expose different `x` / `y`; use
|
|
280
|
+
* `toBytes()` / `fromBytes()` for canonical roundtrips.
|
|
281
|
+
*/
|
|
164
282
|
toAffine(invertedZ?: bigint): AffinePoint<bigint>;
|
|
165
283
|
toHex(): string;
|
|
166
284
|
toString(): string;
|
|
@@ -179,6 +297,24 @@ export declare abstract class PrimeEdwardsPoint<T extends PrimeEdwardsPoint<T>>
|
|
|
179
297
|
}
|
|
180
298
|
/**
|
|
181
299
|
* Initializes EdDSA signatures over given Edwards curve.
|
|
300
|
+
* @param Point - Edwards point constructor.
|
|
301
|
+
* @param cHash - Hash function.
|
|
302
|
+
* @param eddsaOpts - Optional signature helpers. See {@link EdDSAOpts}.
|
|
303
|
+
* @returns EdDSA helper namespace.
|
|
304
|
+
* @throws If the hash function, options, or derived point operations are invalid. {@link Error}
|
|
305
|
+
* @example
|
|
306
|
+
* Initializes EdDSA signatures over given Edwards curve.
|
|
307
|
+
*
|
|
308
|
+
* ```ts
|
|
309
|
+
* import { eddsa } from '@noble/curves/abstract/edwards.js';
|
|
310
|
+
* import { jubjub } from '@noble/curves/misc.js';
|
|
311
|
+
* import { sha512 } from '@noble/hashes/sha2.js';
|
|
312
|
+
* const sigs = eddsa(jubjub.Point, sha512);
|
|
313
|
+
* const { secretKey, publicKey } = sigs.keygen();
|
|
314
|
+
* const msg = new TextEncoder().encode('hello noble');
|
|
315
|
+
* const sig = sigs.sign(msg, secretKey);
|
|
316
|
+
* const isValid = sigs.verify(sig, msg, publicKey);
|
|
317
|
+
* ```
|
|
182
318
|
*/
|
|
183
|
-
export declare function eddsa(Point: EdwardsPointCons, cHash: FHash
|
|
319
|
+
export declare function eddsa(Point: EdwardsPointCons, cHash: TArg<FHash>, eddsaOpts?: TArg<EdDSAOpts>): EdDSA;
|
|
184
320
|
//# sourceMappingURL=edwards.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edwards.d.ts","sourceRoot":"","sources":["../src/abstract/edwards.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,sEAAsE;AACtE,OAAO,EAcL,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"edwards.d.ts","sourceRoot":"","sources":["../src/abstract/edwards.ts"],"names":[],"mappings":"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"}
|