/** * @file prf.ts * @description TLS 1.2 pseudo-random function (RFC 5246 §5) with SHA-256. * @module dtls/prf * * The cipher suite TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 uses P_SHA256 for * the PRF. This module also exposes the underlying HMAC-based P_hash. */ /** * P_hash(secret, seed) expanded to `length` bytes (RFC 5246 §5). * A(0) = seed * A(i) = HMAC(secret, A(i-1)) * P_hash = HMAC(secret, A(1)+seed) | HMAC(secret, A(2)+seed) | ... * * @param hashAlg - Node hash name, e.g. 'sha256'. * @param secret * @param seed * @param length */ export declare function pHash(hashAlg: string, secret: Buffer, seed: Buffer, length: number): Buffer; /** * TLS 1.2 PRF = P_SHA256(secret, label + seed). * * @param secret * @param label - ASCII label, e.g. "master secret". * @param seed * @param length */ export declare function prf(secret: Buffer, label: string, seed: Buffer, length: number): Buffer;