UNPKG

@li0ard/kupyna

Version:

Kupyna (DSTU 7564:2014) hash function in pure TypeScript

21 lines (20 loc) 754 B
import { type TArg, type TRet } from "../utils.js"; import type { KupynaBase, KupynaDerived } from "./kupyna.js"; /** Abstract class for Kupyna KMAC */ export declare abstract class KupynaKMAC<T, H extends (KupynaBase<H> | KupynaDerived<H>)> { key: TArg<Uint8Array>; readonly outputLen: number; readonly blockLen: number; readonly threshold: number; h: H; ik: Uint8Array; len: bigint; constructor(hash: () => H, kpad: TArg<Uint8Array>, key: TArg<Uint8Array>); /** Clone hash instance */ abstract clone(): KupynaKMAC<T, H>; /** Update hash buffer */ update(data: TArg<Uint8Array>): T; /** Finalize hash computation and return result as Uint8Array */ digest(): TRet<Uint8Array>; private final; }