@li0ard/kupyna
Version:
Kupyna (DSTU 7564:2014) hash function in pure TypeScript
21 lines (20 loc) • 754 B
TypeScript
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;
}