@li0ard/magma
Version:
Magma cipher implementation in pure TypeScript
24 lines (23 loc) • 1 kB
TypeScript
import { type Sbox } from "../";
/**
* Encrypts data using the Counter (CTR) mode with Magma cipher.
*
* @param key Encryption key
* @param data Data to be encrypted
* @param iv Initialization vector
* @param legacy Enable backward compatibility with old GOST 28147-89
* @param sbox Optional substitution box, defaults to `ID_TC26_GOST_28147_PARAM_Z`
* @returns {Uint8Array}
*/
export declare const encryptCTR: (key: Uint8Array, data: Uint8Array, iv: Uint8Array, legacy?: boolean, sbox?: Sbox) => Uint8Array;
/**
* Decrypts data using the Counter (CTR) mode with Magma cipher.
*
* @param key Encryption key
* @param data Data to be decrypted
* @param iv Initialization vector
* @param legacy Enable backward compatibility with old GOST 28147-89
* @param sbox Optional substitution box, defaults to `ID_TC26_GOST_28147_PARAM_Z`
* @returns {Uint8Array}
*/
export declare const decryptCTR: (key: Uint8Array, data: Uint8Array, iv: Uint8Array, legacy?: boolean, sbox?: Sbox) => Uint8Array;