@li0ard/kalyna
Version:
Kalyna (DSTU 7624:2014) cipher implementation in pure TypeScript
29 lines (28 loc) • 1.37 kB
TypeScript
import { type TArg, type TRet } from "@li0ard/gost3413/dist/utils.js";
import type { KalynaBase } from "../core.js";
/**
* Compute GMAC
* @param cipherClass Initialized cipher class
* @param authData Data to be authenticated
* @param cipherData Ciphertext to be authenticated (Only for GMAC)
* @param q MAC size
*/
export declare const gmac: (cipherClass: KalynaBase, authData: TArg<Uint8Array>, cipherData?: TArg<Uint8Array>, q?: number) => TRet<Uint8Array>;
/**
* Encrypts data using Galois/Counter Mode (GCM) mode
* @param cipherClass Initialized cipher class
* @param plainData Data to be encrypted and authenticated
* @param iv Initialization vector
* @param authData Additional data to be authenticated
* @param q MAC size
*/
export declare const encryptGCM: (cipherClass: KalynaBase, plainData: TArg<Uint8Array>, iv: TArg<Uint8Array>, authData?: TArg<Uint8Array>, q?: number) => TRet<Uint8Array>;
/**
* Decrypts data using Galois/Counter Mode (GCM) mode
* @param cipherClass Initialized cipher class
* @param plainData Data to be decrypted and authenticated
* @param iv Initialization vector
* @param authData Additional data to be authenticated
* @param q MAC size
*/
export declare const decryptGCM: (cipherClass: KalynaBase, encryptedData: TArg<Uint8Array>, iv: TArg<Uint8Array>, authData?: TArg<Uint8Array>, q?: number) => TRet<Uint8Array>;