/// export declare class Ecies { /** * Algorithm used for encryption. */ encAlg: string; /** * Hash Algorithm used for kdf. */ hashAlg: string; /** * Hash digest byte size. */ digestSize: number; /** * Key input and out put format. */ keyFormat: string; /** * Initialized Vector */ iv: Buffer; /** * Elliptic Curve instance */ ec: any; /** * key pair from * ec instance */ keyPair: any; /** * if true, the pubkey will be * in compressed format, begin with '02' or '03'. * if false, begin with '04' */ compact: boolean; /** * for curve name, * go https://github.com/indutny/elliptic * for reference */ constructor(Curve?: string); /** * generate random key pair */ generateKeyPair(): any; /** * set key pair with private key * @param privHex private key in hex coding. */ setKeyPair(privHex: string): void; /** * get key pair in use * @return = {pri, pub} * all in hex coding. */ getKeyPair(): any; /** * encrypt a message with given * public key and initialized vector * * @param pubkey hex string of public key * @param msg byte buffer of message * @param keylen byte length of kdf's output. */ enc(pubkey: string, msg: Buffer, keylen: number, _iv?: string): any; /** * encrypt a message with given * public key and initialized vector * * @param msgCipher * @param out * @param iv * @param keylen */ dec(msgCipher: string, out: string, iv: any, keylen: number): Buffer; kdf2(seed: Buffer, len: number, digestSize: number, hashFunc: string): Buffer[]; I2OSP(num: number, len: number): Buffer; }