@hpke/common
Version:
A Hybrid Public Key Encryption (HPKE) internal-use common module for @hpke family modules.
44 lines • 1.83 kB
TypeScript
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