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.

85 lines (84 loc) 2.35 kB
/** * @license * Copyright 2020 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import * as KeyManager from '../internal/key_manager'; import { PbAesCtrKeyFormat, PbAesCtrParams, PbHmacKeyFormat, PbHmacParams, PbKeyData, PbMessage } from '../internal/proto'; import { Constructor } from '../internal/util'; import { Aead } from './internal/aead'; /** * @final */ declare class AesCtrHmacAeadKeyFactory implements KeyManager.KeyFactory { private static readonly VERSION; private static readonly MIN_KEY_SIZE; private static readonly MIN_IV_SIZE; private static readonly MAX_IV_SIZE; private static readonly MIN_TAG_SIZE; private static readonly MAX_TAG_SIZE; /** */ newKey(keyFormat: PbMessage | Uint8Array): any; /** */ newKeyData(serializedKeyFormat: Uint8Array): any; /** * Checks the parameters and size of a given keyFormat. * */ validateAesCtrKeyFormat(keyFormat: undefined | null | PbAesCtrKeyFormat): { aesCtrParams: PbAesCtrParams; aesCtrKeySize: number; ivSize: number; }; /** * Checks the parameters and size of a given keyFormat. * */ validateHmacKeyFormat(keyFormat: undefined | null | PbHmacKeyFormat): { hmacParams: PbHmacParams; hmacKeySize: number; hashType: string; tagSize: number; }; } /** * @final */ export declare class AesCtrHmacAeadKeyManager implements KeyManager.KeyManager<Aead> { private static readonly SUPPORTED_PRIMITIVE; static KEY_TYPE: string; private static readonly VERSION; private readonly keyFactory; /** */ getPrimitive(primitiveType: Constructor<Aead>, key: PbKeyData | PbMessage): Promise<import("tink_javascript/subtle/encrypt_then_authenticate").EncryptThenAuthenticate>; /** */ doesSupport(keyType: string): boolean; /** */ getKeyType(): string; /** */ getPrimitiveType(): typeof Aead; /** */ getVersion(): number; /** */ getKeyFactory(): AesCtrHmacAeadKeyFactory; /** * Checks the parameters and size of a given AES-CTR key. * */ private validateAesCtrKey; /** * Checks the parameters and size of a given HMAC key. * */ private validateHmacKey; static register(): void; } export {};