UNPKG

@li0ard/gost3413

Version:

Cipher modes and padding's according to GOST R 34.13-2015 in pure TypeScript

37 lines (36 loc) 1.16 kB
import { type CipherFunc } from "./utils"; /** Multilinear Galois Mode (MGM) class */ export declare class MGM { tag_size: number; encrypter: CipherFunc; blockSize: number; max_size: bigint; r: number; /** * Prepare nonce * * Just clear MSB bit * @param nonce Nonce */ static nonce_prepare(nonce: Uint8Array): Uint8Array; constructor(encrypter: CipherFunc, blockSize: number, tagSize?: number); private validateNonce; private validateSizes; private mul; private crypt; private auth; /** * Seal plaintext * @param nonce Nonce (blocksized) * @param plaintext Data to be encrypted and authenticated * @param additional_data Additional data to be authenticated */ seal(nonce: Uint8Array, plaintext: Uint8Array, additional_data: Uint8Array): Uint8Array; /** * Open ciphertext * @param nonce Nonce (blocksized) * @param ciphertext Data to be decrypted and authenticated * @param additional_data Additional data to be authenticated */ open(nonce: Uint8Array, ciphertext: Uint8Array, additional_data: Uint8Array): Uint8Array; }