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
TypeScript
/**
* @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;
}