/** * Blowfish Cryptor class * * TypeScript version by Logue. * Original version written by HybridEidolon's saredit * @see https://github.com/HybridEidolon/saredit */ export default class Blowfish { private static readonly P_BOX; private static readonly S_BOX; /** P Table */ private readonly p; /** S Table */ private readonly s; /** Crypt Key */ private readonly key; /** * constructor * @param key - key as array of bytes. must be multiple of 4 */ constructor(key: ArrayBuffer); /** * @param buffer - buffer to encrypt. must be multiple of 8 */ encrypt(buffer: ArrayBuffer): ArrayBuffer; /** * @param buffer - buffer to decrypt. must be multiple of 8 */ decrypt(buffer: ArrayBuffer): ArrayBuffer; /** * * @param s - S Table * @param x - rounds * @returns */ private round; }