falcon-crypto
Version:
JavaScript wrapper for a WebAssembly build of Falcon
34 lines (25 loc) • 980 B
TypeScript
declare module 'falcon-crypto' {
interface IFalcon {
/** Signature length. */
bytes: Promise<number>;
/** Private key length. */
privateKeyBytes: Promise<number>;
/** Public key length. */
publicKeyBytes: Promise<number>;
/** Generates key pair. */
keyPair () : Promise<{privateKey: Uint8Array; publicKey: Uint8Array}>;
/** Verifies signed message against publicKey and returns it. */
open (signed: Uint8Array, publicKey: Uint8Array) : Promise<Uint8Array>;
/** Signs message with privateKey and returns combined message. */
sign (message: Uint8Array, privateKey: Uint8Array) : Promise<Uint8Array>;
/** Signs message with privateKey and returns signature. */
signDetached (message: Uint8Array, privateKey: Uint8Array) : Promise<Uint8Array>;
/** Verifies detached signature against publicKey. */
verifyDetached (
signature: Uint8Array,
message: Uint8Array,
publicKey: Uint8Array
) : Promise<boolean>;
}
const falcon: IFalcon;
}