UNPKG

@scintilla-network/signatures

Version:

Enhanced signature and key exchange functions for blockchain and crypto applications, including post-quantum algorithms

44 lines (36 loc) 1.38 kB
/** * @typedef {Uint8Array} Bytes */ /** * @typedef {Bytes} PublicKey */ /** * @typedef {Bytes} PrivateKey */ /** * @typedef {Bytes} Signature */ /** * @typedef {Bytes} SharedSecret */ /** * @typedef {Object} KeyGeneration * @property {(seed?: Bytes) => Promise<PrivateKey>} generatePrivateKey * @property {(seed?: Bytes) => Promise<{publicKey: PublicKey, privateKey: PrivateKey}>} generateKeyPair * @property {(privateKey: PrivateKey) => Promise<PublicKey>} getPublicKey */ /** * @typedef {Object} Signing * @property {(seed?: Bytes) => Promise<PrivateKey>} generatePrivateKey * @property {(seed?: Bytes) => Promise<{publicKey: PublicKey, privateKey: PrivateKey}>} generateKeyPair * @property {(privateKey: PrivateKey) => Promise<PublicKey>} getPublicKey * @property {(message: Bytes, privateKey: PrivateKey) => Promise<Signature>} sign * @property {(message: Bytes, signature: Signature, publicKey: PublicKey) => Promise<boolean>} verify */ /** * @typedef {Object} KeyExchange * @property {(seed?: Bytes) => Promise<PrivateKey>} generatePrivateKey * @property {(seed?: Bytes) => Promise<{publicKey: PublicKey, privateKey: PrivateKey}>} generateKeyPair * @property {(privateKey: PrivateKey) => Promise<PublicKey>} getPublicKey * @property {(privateKey: PrivateKey, peerPublicKey: PublicKey) => Promise<SharedSecret>} deriveSharedSecret */