@li0ard/kalyna
Version:
Kalyna (DSTU 7624:2014) cipher implementation in pure TypeScript
40 lines (39 loc) • 975 B
TypeScript
/** Kalyna abstract class */
export declare abstract class KalynaBase {
readonly N: number;
/** Round keys for encryption */
erk: BigUint64Array;
/** Rounds keys for decryption */
drk: BigUint64Array;
/** Block size */
readonly blockSize: number;
/** Key size */
readonly keySize: number;
private readonly numRounds;
private readonly glOffset;
private wordOffsets;
/** Kalyna abstract class */
constructor(key: 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_: Uint8Array): Uint8Array;
/**
* Decrypt data
* @param in_ Data to be decrypted
*/
decrypt(in_: Uint8Array): Uint8Array;
}