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.

68 lines (67 loc) 1.7 kB
/** * @license * Copyright 2020 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import { PbKeysetKey } from './proto'; /** * Constants and methods that deal with the format of the outputs handled by * Tink. * * @static * @final */ export declare class CryptoFormat { /** * Generates the prefix for the outputs handled by the given 'key'. * Throws an exception if the prefix type of 'key' is invalid. * * */ static getOutputPrefix(key: PbKeysetKey): Uint8Array; /** * Makes output prefix which consits of 4 bytes of key id in Big Endian * representation followed by 1 byte of key type identifier. * * @static * */ private static makeOutputPrefix; /** * Returns the given number as Uint8Array in Big Endian format. * * Given number has to be a non-negative integer smaller than 2^32. * * @static * */ private static numberAsBigEndian; /** * Prefix size of Tink and Legacy key types. */ static readonly NON_RAW_PREFIX_SIZE = 5; /** * Prefix size of Legacy key types. */ static readonly LEGACY_PREFIX_SIZE = 5; /** * Legacy starts with 0 and is followed by 4-byte key id. */ static readonly LEGACY_START_BYTE = 0; /** * Prefix size of Tink key types. */ static readonly TINK_PREFIX_SIZE = 5; /** * Tink starts with 1 and is followed by 4-byte key id. */ static readonly TINK_START_BYTE = 1; /** * Raw prefix should have length 0. */ static readonly RAW_PREFIX_SIZE = 0; /** * Raw prefix is empty Uint8Array. */ static readonly RAW_PREFIX: Uint8Array; }