kyber-crystals
Version:
JavaScript wrapper for a WebAssembly build of Kyber
27 lines (19 loc) • 695 B
TypeScript
declare module 'kyber-crystals' {
interface IKyber {
/** Secret length. */
bytes: Promise<number>;
/** Cyphertext length. */
cyphertextBytes: Promise<number>;
/** Private key length. */
privateKeyBytes: Promise<number>;
/** Public key length. */
publicKeyBytes: Promise<number>;
/** Decrypts secret with privateKey. */
decrypt (cyphertext: Uint8Array|string, privateKey: Uint8Array) : Promise<Uint8Array>;
/** Encrypts secret with publicKey. */
encrypt (publicKey: Uint8Array) : Promise<{cyphertext: Uint8Array; secret: Uint8Array}>;
/** Generates key pair. */
keyPair () : Promise<{privateKey: Uint8Array; publicKey: Uint8Array}>;
}
const kyber: IKyber;
}