/** * Compact AES (128/192/256) block cipher in CTR mode. * * WinZip AES-encrypted ZIP entries use AES in CTR mode with a 16-byte counter * that increments **little-endian** starting at 1 — which the WebCrypto * `AES-CTR` primitive (big-endian counter, no raw-block/ECB access) cannot * produce. So the keystream is built here from a small, dependency-free, * synchronous AES, while the standard parts (PBKDF2, HMAC-SHA1) still come from * WebCrypto in the caller. Tables are derived once on first use. */ /** An AES cipher with an expanded key, exposing single-block ECB encryption. */ export declare class Aes { private rk; private rounds; constructor(key: Uint8Array); /** Encrypt one 16-byte block of `src` at `srcOff` into `dst` at `dstOff`. */ encryptBlock(src: Uint8Array, srcOff: number, dst: Uint8Array, dstOff: number): void; } /** * Encrypt/decrypt `data` with WinZip's AES-CTR: a 16-byte little-endian counter * starting at 1, one keystream block per 16 bytes, XORed into the data. CTR is * symmetric, so the same call decrypts. */ export declare function aesCtrXor(cipher: Aes, data: Uint8Array): Uint8Array; //# sourceMappingURL=aes.d.ts.map