@li0ard/kupyna
Version:
Kupyna (DSTU 7564:2014) hash function in pure TypeScript
35 lines (34 loc) • 1.58 kB
TypeScript
import type { TArg, TRet } from "./utils";
/** Kupyna abstract interface */
export interface Kupyna<T> {
/** Output length */
outputLen: number;
/** Block length */
blockLen: number;
/** Clone hash instance */
clone(): T;
/** Update hash buffer */
update(p: TArg<Uint8Array>): T;
/** Finalize hash computation and return result as Uint8Array */
digest(): TRet<Uint8Array>;
}
export declare const dpad: Readonly<Uint8Array>;
export declare const kpad32: Readonly<Uint8Array>;
export declare const kpad48: Readonly<Uint8Array>;
export declare const kpad64: Readonly<Uint8Array>;
/** Replacement table No. 1 for nonlinear bi-objective reflection */
export declare const T0: Readonly<BigUint64Array>;
/** Replacement table No. 2 for nonlinear bi-objective reflection */
export declare const T1: Readonly<BigUint64Array>;
/** Replacement table No. 3 for nonlinear bi-objective reflection */
export declare const T2: Readonly<BigUint64Array>;
/** Replacement table No. 4 for nonlinear bi-objective reflection */
export declare const T3: Readonly<BigUint64Array>;
/** Replacement table No. 5 for nonlinear bi-objective reflection */
export declare const T4: Readonly<BigUint64Array>;
/** Replacement table No. 6 for nonlinear bi-objective reflection */
export declare const T5: Readonly<BigUint64Array>;
/** Replacement table No. 7 for nonlinear bi-objective reflection */
export declare const T6: Readonly<BigUint64Array>;
/** Replacement table No. 8 for nonlinear bi-objective reflection */
export declare const T7: Readonly<BigUint64Array>;