/// import { Nonce } from "./common"; import { VerifyMessageChunkSignatureOptions } from "./crypto_utils"; export declare function makePseudoRandomBuffer(secret: Nonce, seed: Nonce, minLength: number, sha1or256: "SHA1" | "SHA256"): Buffer; export interface ComputeDerivedKeysOptions { signatureLength: number; signingKeyLength: number; encryptingKeyLength: number; encryptingBlockSize: number; algorithm: string; sha1or256?: "SHA1" | "SHA256"; } export interface DerivedKeys extends ComputeDerivedKeysOptions { signatureLength: number; signingKeyLength: number; encryptingKeyLength: number; encryptingBlockSize: number; algorithm: string; sha1or256: "SHA1" | "SHA256"; signingKey: Buffer; encryptingKey: Buffer; initializationVector: Buffer; } export declare function computeDerivedKeys(secret: Nonce, seed: Nonce, options: ComputeDerivedKeysOptions): DerivedKeys; /** * @method reduceLength * @param buffer * @param byteToRemove * @return buffer */ export declare function reduceLength(buffer: Buffer, byteToRemove: number): Buffer; /** * @method removePadding * @param buffer * @return buffer with padding removed */ export declare function removePadding(buffer: Buffer): Buffer; export declare type VerifyChunkSignatureOptions = VerifyMessageChunkSignatureOptions; /** * @method verifyChunkSignature * * const signer = { * signatureLength : 128, * algorithm : "RSA-SHA256", * public_key: "qsdqsdqsd" * }; * * @param chunk The message chunk to verify. * @param options * @param options.signatureLength * @param options.algorithm the algorithm. * @param options.publicKey * @return {*} */ export declare function verifyChunkSignature(chunk: Buffer, options: VerifyChunkSignatureOptions): boolean; export declare function computePaddingFooter(buffer: Buffer, derivedKeys: DerivedKeys): Buffer; export declare function encryptBufferWithDerivedKeys(buffer: Buffer, derivedKeys: DerivedKeys): Buffer; export declare function decryptBufferWithDerivedKeys(buffer: Buffer, derivedKeys: DerivedKeys): Buffer; /** * @method makeMessageChunkSignatureWithDerivedKeys * @param message * @param derivedKeys * @return */ export declare function makeMessageChunkSignatureWithDerivedKeys(message: Buffer, derivedKeys: DerivedKeys): Buffer; /** * @method verifyChunkSignatureWithDerivedKeys * @param chunk * @param derivedKeys * @return */ export declare function verifyChunkSignatureWithDerivedKeys(chunk: Buffer, derivedKeys: DerivedKeys): boolean;