@dedis/kyber
Version:
A typescript implementation of Kyber interfaces
49 lines (48 loc) • 1.45 kB
TypeScript
/// <reference types="node" />
import BN from "bn.js";
import { Scalar } from "../index";
export declare type BNType = number | string | number[] | Buffer | BN;
/**
* Scalar used in combination with G1 and G2 points
*/
export default class BN256Scalar implements Scalar {
private v;
constructor(value?: BNType);
/**
* Get the BigNumber value of the scalar
* @returns the value
*/
getValue(): BN;
/** @inheritdoc */
set(a: BN256Scalar): BN256Scalar;
/** @inheritdoc */
one(): BN256Scalar;
/** @inheritdoc */
zero(): BN256Scalar;
/** @inheritdoc */
add(a: BN256Scalar, b: BN256Scalar): BN256Scalar;
/** @inheritdoc */
sub(a: BN256Scalar, b: BN256Scalar): BN256Scalar;
/** @inheritdoc */
neg(a: BN256Scalar): BN256Scalar;
/** @inheritdoc */
div(a: BN256Scalar, b: BN256Scalar): BN256Scalar;
/** @inheritdoc */
mul(s1: BN256Scalar, b: BN256Scalar): BN256Scalar;
/** @inheritdoc */
inv(a: BN256Scalar): BN256Scalar;
/** @inheritdoc */
pick(callback?: (length: number) => Buffer): BN256Scalar;
/** @inheritdoc */
setBytes(bytes: Buffer): BN256Scalar;
/** @inheritdoc */
marshalBinary(): Buffer;
/** @inheritdoc */
unmarshalBinary(buf: Buffer | string): void;
/** @inheritdoc */
marshalSize(): number;
/** @inheritdoc */
clone(): BN256Scalar;
/** @inheritdoc */
equals(s2: BN256Scalar): boolean;
}