@li0ard/strumok
Version:
Strumok (DSTU 8845:2019) cipher implementation in pure TypeScript
28 lines (27 loc) • 771 B
TypeScript
/** Strumok class */
export declare class Strumok {
/** Block size */
readonly BLOCKSIZE = 128;
private S;
private r;
private key;
private iv;
private key_size;
/**
* Strumok algorithm
* @param key Encryption key (32/64 bytes)
* @param iv Initialization vector (32 bytes)
*/
constructor(key: Uint8Array, iv: Uint8Array);
/** Generate next keystream */
next_stream(): BigUint64Array;
/** Generate next keystream and perform encryption */
next_stream_full_crypt(in_: BigUint64Array): BigUint64Array;
/** Set new initialization vector */
setIV(iv: Uint8Array): Strumok;
/**
* Perform encryption/decryption
* @param in_ Input data
*/
crypt(in_: Uint8Array): Uint8Array;
}