UNPKG

@li0ard/kalyna

Version:

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

41 lines (40 loc) 1.07 kB
import type { TArg, TRet } from "@li0ard/gost3413"; /** Kalyna abstract class */ export declare abstract class KalynaBase { readonly N: number; /** Round keys for encryption */ erk: TArg<BigUint64Array>; /** Rounds keys for decryption */ drk: TArg<BigUint64Array>; /** Block size */ readonly blockSize: number; /** Key size */ readonly keySize: number; private readonly numRounds; private readonly glOffset; private wordOffsets; /** Kalyna abstract class */ constructor(key: TArg<Uint8Array>, N: number, isDouble?: boolean); private expandKey; private makeOddKey; private addkey; private subkey; private add_constant; private byte; private G0; private G; private GL; private IMC; private IG; private IGL; /** * Encrypt data * @param in_ Data to be encrypted */ encrypt(in_: TArg<Uint8Array>): TRet<Uint8Array>; /** * Decrypt data * @param in_ Data to be decrypted */ decrypt(in_: TArg<Uint8Array>): TRet<Uint8Array>; }