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