@iden3/js-crypto
Version:
Crypto primitives for iden3
76 lines • 2.51 kB
TypeScript
export declare class F1Field {
type: string;
one: bigint;
zero: bigint;
p: bigint;
m: bigint;
negOne: bigint;
two: bigint;
half: bigint;
bitLength: number;
mask: bigint;
n64: number;
n32: number;
n8: number;
R: bigint;
s: number;
shift: bigint;
Ri: bigint;
nqr: bigint;
t: bigint;
nqr_to_t: bigint;
k: bigint;
constructor(p: bigint);
e(a: string | bigint, b?: bigint | undefined): bigint;
add(a: bigint, b: bigint): bigint;
sub(a: bigint, b: bigint): bigint;
neg(a: bigint): bigint;
double(a: bigint): bigint;
mul(a: bigint, b: bigint): bigint;
mulScalar(base: bigint, s: bigint): bigint;
square(a: bigint): bigint;
eq(a: bigint, b: bigint): boolean;
neq(a: bigint, b: bigint): boolean;
lt(a: bigint, b: bigint): boolean;
gt(a: bigint, b: bigint): boolean;
leq(a: bigint, b: bigint): boolean;
geq(a: bigint, b: bigint): boolean;
div(a: bigint, b: bigint): bigint;
iDiv(a: bigint, b: bigint): bigint;
inv(a: bigint): bigint;
mod(a: bigint, b: bigint): bigint;
pow(b: bigint, e: bigint): bigint;
exp(b: bigint, e: bigint): bigint;
band(a: bigint, b: bigint): bigint;
bor(a: bigint, b: bigint): bigint;
bXor(a: bigint, b: bigint): bigint;
bNot(a: bigint): bigint;
shl(a: bigint, b: bigint): bigint;
shr(a: bigint, b: bigint): bigint;
land(a: bigint, b: bigint): bigint;
lor(a: bigint, b: bigint): bigint;
sqrt_old(n: bigint): bigint | null;
normalize(a: bigint): bigint;
random(): bigint;
toString(a: bigint, base?: number): string;
isZero(a: bigint): boolean;
toRprLE(buff: Uint8Array, o: number, e: bigint): void;
toRprBE(buff: Uint8Array, o: number, e: bigint): void;
toRprBEM(buff: Uint8Array, o: number, e: bigint): void;
toRprLEM(buff: Uint8Array, o: number, e: bigint): void;
fromRprLE(buff: Uint8Array, o: number): bigint;
fromRprBE(buff: Uint8Array, o: number): bigint;
fromRprLEM(buff: Uint8Array, o: number): bigint;
fromRprBEM(buff: Uint8Array, o: number): bigint;
toObject(a: bigint): bigint;
sqrt(a: bigint): bigint | null;
sqrt_e1: bigint;
sqrt_q: bigint;
sqrt_s: bigint;
sqrt_t: bigint;
sqrt_z: bigint;
sqrt_tm1d2: bigint;
}
export declare function mulScalar(F: F1Field, base: bigint, e: bigint): bigint;
export declare function exp(F: F1Field, base: bigint, e: bigint): bigint;
//# sourceMappingURL=f1field.d.ts.map