UNPKG

tink-crypto

Version:

A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse.

29 lines (28 loc) 1.24 kB
/** * @license * Copyright 2023 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import { PbHpkeParams } from '../../../internal/proto'; import { HpkeAead } from './hpke_aead'; import { HpkeKdf } from './hpke_kdf'; import { HpkeKem } from './hpke_kem'; /** * Helper class for creating HPKE primitives from either algorithm identifiers * or HpkeParams. */ export declare class HpkePrimitiveFactory { private constructor(); /** Returns an HpkeKem primitive corresponding to the kemId. */ static createKemFromId(kemId: Uint8Array): HpkeKem; /** Returns an HpkeKem primitive corresponding to the given parameters. */ static createKemFromParams(params: PbHpkeParams): HpkeKem; /** Returns an HpkeKdf primitive corresponding to the kdfId. */ static createKdfFromId(kdfId: Uint8Array): HpkeKdf; /** Returns an HpkeKdf primitive corresponding to the given parameters. */ static createKdfFromParams(params: PbHpkeParams): HpkeKdf; /** Returns an HpkeAead primitive corresponding to the aeadId. */ static createAeadFromId(aeadId: Uint8Array): HpkeAead; /** Returns an HpkeAead primitive corresponding to the given parameters. */ static createAeadFromParams(params: PbHpkeParams): HpkeAead; }