@li0ard/kalyna
Version:
Kalyna (DSTU 7624:2014) cipher implementation in pure TypeScript
16 lines (15 loc) • 701 B
JavaScript
import { cbc_encrypt, cbc_decrypt } from "@li0ard/gost3413";
/**
* Encrypts data using Cipher Block Chaining (CBC) mode
* @param cipherClass Initialized cipher class
* @param data Data to be encrypted
* @param iv Initialization vector
*/
export const encryptCBC = (cipherClass, data, iv) => cbc_encrypt(cipherClass.encrypt.bind(cipherClass), cipherClass.blockSize, data, iv);
/**
* Decrypts data using Cipher Block Chaining (CBC) mode
* @param cipherClass Initialized cipher class
* @param data Data to be decrypted
* @param iv Initialization vector
*/
export const decryptCBC = (cipherClass, data, iv) => cbc_decrypt(cipherClass.decrypt.bind(cipherClass), cipherClass.blockSize, data, iv);