/**
* Supported GOST R 34.10-2001/2012 curves:
* | Name | Aliases | OIDs |
* |:------------------------------------:|:---------------------------:|:-------------------------------------------------------------:|
* | ID_GOSTR3410_2001_PARAM_SET_CC | CryptoCom param set | 1.2.643.2.9.1.8.1 |
* | ID_GOSTR3410_2001_TEST_PARAM_SET | - | 1.2.643.2.2.35.0 |
* | ID_GOSTR3410_2012_256_PARAM_SET_A | - | 1.2.643.7.1.2.1.1.1 |
* | ID_GOSTR3410_2012_256_PARAM_SET_B | CryptoPro A (X-A) param set | 1.2.643.7.1.2.1.1.2,
1.2.643.2.2.35.1,
1.2.643.2.2.36.0 |
* | ID_GOSTR3410_2012_256_PARAM_SET_C | CryptoPro B param set | 1.2.643.7.1.2.1.1.3,
1.2.643.2.2.35.2 |
* | ID_GOSTR3410_2012_256_PARAM_SET_D | CryptoPro C (X-B) param set | 1.2.643.7.1.2.1.1.4,
1.2.643.2.2.35.3,
1.2.643.2.2.36.1 |
* | ID_GOSTR3410_2012_512_TEST_PARAM_SET | - | 1.2.643.7.1.2.1.2.0 |
* | ID_GOSTR3410_2012_512_PARAM_SET_A | - | 1.2.643.7.1.2.1.2.1 |
* | ID_GOSTR3410_2012_512_PARAM_SET_B | - | 1.2.643.7.1.2.1.2.2 |
* | ID_GOSTR3410_2012_512_PARAM_SET_C | - | 1.2.643.7.1.2.1.2.3 |
*
* @module
*/
/** Parameters for GOST curves */
export interface GostCurveParameters {
/** Prime field (`Fp`) */
p: bigint;
/** Curve order (`Fn`) */
n: bigint;
/** Param `a` */
a: bigint;
/** Param `b` */
b: bigint;
/** Base point `X` coordinate */
Gx: bigint;
/** Base point `Y` coordinate */
Gy: bigint;
/** Cofactor */
h: bigint;
/** Curve point length */
length: number;
/** Param `e` (`a`) for representation as Twisted Edwards */
e?: bigint;
/** Param `d` for representation as Twisted Edwards */
d?: bigint;
/** Precomputed parameters for point conversion */
st?: bigint[];
/** Curve OIDs */
oids?: string[];
}
/** GOST R 34.10-2001 CryptoCom param set */
export declare const ID_GOSTR3410_2001_PARAM_SET_CC: Readonly;
/** GOST R 34.10-2001 test param set */
export declare const ID_GOSTR3410_2001_TEST_PARAM_SET: Readonly;
/** GOST R 34.10-2012 256 bit `A` param set */
export declare const ID_GOSTR3410_2012_256_PARAM_SET_A: Readonly;
/** GOST R 34.10-2012 256 bit `B` param set (aka CryptoPro `A` (`XchA`) param set) */
export declare const ID_GOSTR3410_2012_256_PARAM_SET_B: Readonly;
/** GOST R 34.10-2012 256 bit `C` param set (aka CryptoPro `B` param set) */
export declare const ID_GOSTR3410_2012_256_PARAM_SET_C: Readonly;
/** GOST R 34.10-2012 256 bit `D` param set (aka CryptoPro `C` (`XchB`) param set) */
export declare const ID_GOSTR3410_2012_256_PARAM_SET_D: Readonly;
/** GOST R 34.10-2012 512 bit test param set */
export declare const ID_GOSTR3410_2012_512_TEST_PARAM_SET: Readonly;
/** GOST R 34.10-2012 512 bit `A` param set */
export declare const ID_GOSTR3410_2012_512_PARAM_SET_A: Readonly;
/** GOST R 34.10-2012 512 bit `B` param set */
export declare const ID_GOSTR3410_2012_512_PARAM_SET_B: Readonly;
/** GOST R 34.10-2012 512 bit `C` param set */
export declare const ID_GOSTR3410_2012_512_PARAM_SET_C: Readonly;
export declare const CURVES: {
ID_GOSTR3410_2001_PARAM_SET_CC: Readonly;
ID_GOSTR3410_2001_TEST_PARAM_SET: Readonly;
ID_GOSTR3410_2012_256_PARAM_SET_A: Readonly;
ID_GOSTR3410_2012_256_PARAM_SET_B: Readonly;
ID_GOSTR3410_2012_256_PARAM_SET_C: Readonly;
ID_GOSTR3410_2012_256_PARAM_SET_D: Readonly;
ID_GOSTR3410_2012_512_TEST_PARAM_SET: Readonly;
ID_GOSTR3410_2012_512_PARAM_SET_A: Readonly;
ID_GOSTR3410_2012_512_PARAM_SET_B: Readonly;
ID_GOSTR3410_2012_512_PARAM_SET_C: Readonly;
};