@noble/curves 0.4.0 → 0.5.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 +203 -162
- package/lib/_shortw_utils.d.ts +75 -0
- package/lib/_shortw_utils.js +20 -0
- package/lib/{bls.d.ts → abstract/bls.d.ts} +2 -1
- package/lib/{bls.js → abstract/bls.js} +28 -27
- package/lib/{edwards.d.ts → abstract/edwards.d.ts} +17 -0
- package/lib/{edwards.js → abstract/edwards.js} +45 -4
- package/lib/{group.d.ts → abstract/group.d.ts} +2 -1
- package/lib/{group.js → abstract/group.js} +4 -3
- package/lib/{hashToCurve.d.ts → abstract/hash-to-curve.d.ts} +6 -0
- package/lib/{hashToCurve.js → abstract/hash-to-curve.js} +15 -2
- package/lib/{modular.d.ts → abstract/modular.d.ts} +10 -4
- package/lib/{modular.js → abstract/modular.js} +110 -19
- package/lib/{montgomery.d.ts → abstract/montgomery.d.ts} +2 -1
- package/lib/{montgomery.js → abstract/montgomery.js} +17 -8
- package/lib/{utils.d.ts → abstract/utils.d.ts} +1 -1
- package/lib/{utils.js → abstract/utils.js} +1 -1
- package/lib/{weierstrass.d.ts → abstract/weierstrass.d.ts} +28 -16
- package/lib/{weierstrass.js → abstract/weierstrass.js} +261 -127
- package/lib/bls12-381.d.ts +66 -0
- package/lib/bls12-381.js +1132 -0
- package/lib/bn.d.ts +7 -0
- package/lib/bn.js +24 -0
- package/lib/ed25519.d.ts +48 -0
- package/lib/ed25519.js +322 -0
- package/lib/ed448.d.ts +3 -0
- package/lib/ed448.js +128 -0
- package/lib/esm/_shortw_utils.js +15 -0
- package/lib/esm/{bls.js → abstract/bls.js} +25 -24
- package/lib/esm/{edwards.js → abstract/edwards.js} +45 -4
- package/lib/esm/{group.js → abstract/group.js} +4 -3
- package/lib/esm/{hashToCurve.js → abstract/hash-to-curve.js} +13 -1
- package/lib/esm/{modular.js → abstract/modular.js} +108 -18
- package/lib/esm/{montgomery.js → abstract/montgomery.js} +17 -8
- package/lib/esm/{utils.js → abstract/utils.js} +1 -1
- package/lib/esm/{weierstrass.js → abstract/weierstrass.js} +255 -123
- package/lib/esm/bls12-381.js +1129 -0
- package/lib/esm/bn.js +21 -0
- package/lib/esm/ed25519.js +318 -0
- package/lib/esm/ed448.js +125 -0
- package/lib/esm/index.js +2 -0
- package/lib/esm/jubjub.js +52 -0
- package/lib/esm/p192.js +21 -0
- package/lib/esm/p224.js +21 -0
- package/lib/esm/p256.js +39 -0
- package/lib/esm/p384.js +44 -0
- package/lib/esm/p521.js +58 -0
- package/lib/esm/pasta.js +29 -0
- package/lib/esm/secp256k1.js +290 -0
- package/lib/esm/stark.js +222 -0
- package/lib/index.d.ts +0 -0
- package/lib/index.js +2 -0
- package/lib/jubjub.d.ts +7 -0
- package/lib/jubjub.js +57 -0
- package/lib/p192.d.ts +130 -0
- package/lib/p192.js +24 -0
- package/lib/p224.d.ts +130 -0
- package/lib/p224.js +24 -0
- package/lib/p256.d.ts +130 -0
- package/lib/p256.js +42 -0
- package/lib/p384.d.ts +130 -0
- package/lib/p384.js +47 -0
- package/lib/p521.d.ts +131 -0
- package/lib/p521.js +61 -0
- package/lib/pasta.d.ts +4 -0
- package/lib/pasta.js +32 -0
- package/lib/secp256k1.d.ts +96 -0
- package/lib/secp256k1.js +294 -0
- package/lib/stark.d.ts +72 -0
- package/lib/stark.js +243 -0
- package/package.json +146 -50
- package/index.js +0 -1
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { CurveFn } from './abstract/bls.js';
|
|
2
|
+
import * as mod from './abstract/modular.js';
|
|
3
|
+
declare const Fp: Readonly<mod.Field<bigint>>;
|
|
4
|
+
declare type Fp = bigint;
|
|
5
|
+
declare type BigintTuple = [bigint, bigint];
|
|
6
|
+
declare type Fp2 = {
|
|
7
|
+
c0: bigint;
|
|
8
|
+
c1: bigint;
|
|
9
|
+
};
|
|
10
|
+
declare type Fp2Utils = {
|
|
11
|
+
fromBigTuple: (tuple: BigintTuple | bigint[]) => Fp2;
|
|
12
|
+
reim: (num: Fp2) => {
|
|
13
|
+
re: bigint;
|
|
14
|
+
im: bigint;
|
|
15
|
+
};
|
|
16
|
+
mulByNonresidue: (num: Fp2) => Fp2;
|
|
17
|
+
multiplyByB: (num: Fp2) => Fp2;
|
|
18
|
+
frobeniusMap(num: Fp2, power: number): Fp2;
|
|
19
|
+
};
|
|
20
|
+
declare const Fp2: mod.Field<Fp2> & Fp2Utils;
|
|
21
|
+
declare type BigintSix = [bigint, bigint, bigint, bigint, bigint, bigint];
|
|
22
|
+
declare type Fp6 = {
|
|
23
|
+
c0: Fp2;
|
|
24
|
+
c1: Fp2;
|
|
25
|
+
c2: Fp2;
|
|
26
|
+
};
|
|
27
|
+
declare type Fp6Utils = {
|
|
28
|
+
fromBigSix: (tuple: BigintSix) => Fp6;
|
|
29
|
+
mulByNonresidue: (num: Fp6) => Fp6;
|
|
30
|
+
frobeniusMap(num: Fp6, power: number): Fp6;
|
|
31
|
+
multiplyBy1(num: Fp6, b1: Fp2): Fp6;
|
|
32
|
+
multiplyBy01(num: Fp6, b0: Fp2, b1: Fp2): Fp6;
|
|
33
|
+
multiplyByFp2(lhs: Fp6, rhs: Fp2): Fp6;
|
|
34
|
+
};
|
|
35
|
+
declare const Fp6: mod.Field<Fp6> & Fp6Utils;
|
|
36
|
+
declare type Fp12 = {
|
|
37
|
+
c0: Fp6;
|
|
38
|
+
c1: Fp6;
|
|
39
|
+
};
|
|
40
|
+
declare type BigintTwelve = [
|
|
41
|
+
bigint,
|
|
42
|
+
bigint,
|
|
43
|
+
bigint,
|
|
44
|
+
bigint,
|
|
45
|
+
bigint,
|
|
46
|
+
bigint,
|
|
47
|
+
bigint,
|
|
48
|
+
bigint,
|
|
49
|
+
bigint,
|
|
50
|
+
bigint,
|
|
51
|
+
bigint,
|
|
52
|
+
bigint
|
|
53
|
+
];
|
|
54
|
+
declare type Fp12Utils = {
|
|
55
|
+
fromBigTwelve: (t: BigintTwelve) => Fp12;
|
|
56
|
+
frobeniusMap(num: Fp12, power: number): Fp12;
|
|
57
|
+
multiplyBy014(num: Fp12, o0: Fp2, o1: Fp2, o4: Fp2): Fp12;
|
|
58
|
+
multiplyByFp2(lhs: Fp12, rhs: Fp2): Fp12;
|
|
59
|
+
conjugate(num: Fp12): Fp12;
|
|
60
|
+
finalExponentiate(num: Fp12): Fp12;
|
|
61
|
+
_cyclotomicSquare(num: Fp12): Fp12;
|
|
62
|
+
_cyclotomicExp(num: Fp12, n: bigint): Fp12;
|
|
63
|
+
};
|
|
64
|
+
declare const Fp12: mod.Field<Fp12> & Fp12Utils;
|
|
65
|
+
export declare const bls12_381: CurveFn<Fp, Fp2, Fp6, Fp12>;
|
|
66
|
+
export {};
|