UNPKG

@li0ard/kalyna

Version:

Kalyna (DSTU 7624:2014) cipher implementation in pure TypeScript

29 lines (28 loc) 1.37 kB
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>;