UNPKG

@hpke/common

Version:

A Hybrid Public Key Encryption (HPKE) internal-use common module for @hpke family modules.

44 lines 1.83 kB
import type { KdfInterface } from "../interfaces/kdfInterface.js"; import { KdfId } from "../identifiers.js"; import { NativeAlgorithm } from "../algorithm.js"; export declare class HkdfNative extends NativeAlgorithm implements KdfInterface { readonly id: KdfId; readonly hashSize: number; protected _suiteId: Uint8Array; protected readonly algHash: HmacKeyGenParams; constructor(); init(suiteId: Uint8Array): void; buildLabeledIkm(label: Uint8Array, ikm: Uint8Array): Uint8Array; buildLabeledInfo(label: Uint8Array, info: Uint8Array, len: number): Uint8Array; extract(salt: ArrayBuffer, ikm: ArrayBuffer): Promise<ArrayBuffer>; expand(prk: ArrayBuffer, info: ArrayBuffer, len: number): Promise<ArrayBuffer>; extractAndExpand(salt: ArrayBuffer, ikm: ArrayBuffer, info: ArrayBuffer, len: number): Promise<ArrayBuffer>; labeledExtract(salt: ArrayBuffer, label: Uint8Array, ikm: Uint8Array): Promise<ArrayBuffer>; labeledExpand(prk: ArrayBuffer, label: Uint8Array, info: Uint8Array, len: number): Promise<ArrayBuffer>; protected _checkInit(): void; } export declare class HkdfSha256Native extends HkdfNative { /** KdfId.HkdfSha256 (0x0001) */ id: KdfId; /** 32 */ hashSize: number; /** The parameters for Web Cryptography API */ algHash: HmacKeyGenParams; } export declare class HkdfSha384Native extends HkdfNative { /** KdfId.HkdfSha384 (0x0002) */ id: KdfId; /** 48 */ hashSize: number; /** The parameters for Web Cryptography API */ algHash: HmacKeyGenParams; } export declare class HkdfSha512Native extends HkdfNative { /** KdfId.HkdfSha512 (0x0003) */ id: KdfId; /** 64 */ hashSize: number; /** The parameters for Web Cryptography API */ algHash: HmacKeyGenParams; } //# sourceMappingURL=hkdf.d.ts.map