@li0ard/kalyna
Version:
Kalyna (DSTU 7624:2014) cipher implementation in pure TypeScript
20 lines (19 loc) • 705 B
JavaScript
import { ecb_encrypt, ecb_decrypt } from "@li0ard/gost3413";
/**
* Encrypts data using Electronic Codebook (ECB) mode
* @param cipherClass Initialized cipher class
* @param data Data to be encrypted
*/
export const encryptECB = (cipherClass, data) => {
const encrypter = (buf) => (cipherClass.encrypt(buf));
return ecb_encrypt(encrypter, cipherClass.blockSize, data);
};
/**
* Decrypts data using Electronic Codebook (ECB) mode
* @param cipherClass Initialized cipher class
* @param data Data to be encrypted
*/
export const decryptECB = (cipherClass, data) => {
const decrypter = (buf) => (cipherClass.decrypt(buf));
return ecb_decrypt(decrypter, cipherClass.blockSize, data);
};