@dedis/kyber
Version:
A typescript implementation of Kyber interfaces
55 lines (54 loc) • 1.55 kB
TypeScript
/// <reference types="node" />
import BN from "bn.js";
import { Scalar } from "../../index";
import Ed25519 from "./curve";
declare class RedBN extends BN {
fromRed(): BN;
redAdd(_: BN): RedBN;
redSub(_: BN): RedBN;
redMul(_: BN): RedBN;
redInvm(): RedBN;
redNeg(): RedBN;
}
export default class Ed25519Scalar implements Scalar {
ref: {
arr: RedBN;
curve: Ed25519;
red: any;
};
constructor(curve: Ed25519, red: any);
/** @inheritdoc */
marshalSize(): number;
/** @inheritdoc */
marshalBinary(): Buffer;
/** @inheritdoc */
unmarshalBinary(bytes: Buffer): void;
/** @inheritdoc */
set(a: Ed25519Scalar): Ed25519Scalar;
/** @inheritdoc */
clone(): Scalar;
/** @inheritdoc */
zero(): Scalar;
/** @inheritdoc */
add(a: Ed25519Scalar, b: Ed25519Scalar): Ed25519Scalar;
/** @inheritdoc */
sub(a: Ed25519Scalar, b: Ed25519Scalar): Ed25519Scalar;
/** @inheritdoc */
neg(a: Ed25519Scalar): Ed25519Scalar;
/** @inheritdoc */
mul(s1: Ed25519Scalar, s2: Ed25519Scalar): Ed25519Scalar;
/** @inheritdoc */
div(s1: Ed25519Scalar, s2: Ed25519Scalar): Ed25519Scalar;
/** @inheritdoc */
inv(a: Ed25519Scalar): Ed25519Scalar;
/** @inheritdoc */
one(): Ed25519Scalar;
/** @inheritdoc */
pick(callback?: (length: number) => Buffer): Scalar;
/** @inheritdoc */
setBytes(bytes: Buffer): Scalar;
/** @inheritdoc */
equals(s2: Ed25519Scalar): boolean;
toString(): string;
}
export {};