/** * Implementação do algoritmo AES para criptografia PDF. * AES é usado nas versões de criptografia PDF 5+ (128-256 bits). * Implementa AES-CBC conforme especificação PDF. */ /** * Classe que implementa o algoritmo de criptografia AES. */ export declare class AES { private readonly Nk; private readonly Nr; private readonly roundKeys; /** * Cria uma nova instância de AES com a chave especificada. * @param key A chave de criptografia (16, 24 ou 32 bytes para AES-128, 192, 256) */ constructor(key: Uint8Array); private keyExpansion; private addRoundKey; private subBytes; private invSubBytes; private shiftRows; private invShiftRows; private mixColumns; private invMixColumns; /** * Encripta um único bloco de 16 bytes. */ encryptBlock(block: Uint8Array): Uint8Array; /** * Decripta um único bloco de 16 bytes. */ decryptBlock(block: Uint8Array): Uint8Array; } /** * Encripta dados usando AES-CBC. * @param key A chave de criptografia * @param data Os dados a serem encriptados (serão padded automaticamente) * @param iv O vetor de inicialização (16 bytes) * @returns Os dados encriptados (IV + ciphertext) */ export declare function aesCbcEncrypt(key: Uint8Array, data: Uint8Array, iv?: Uint8Array): Uint8Array; /** * Decripta dados usando AES-CBC. * @param key A chave de decriptação * @param data Os dados a serem decriptados (IV + ciphertext) * @returns Os dados decriptados (sem padding) */ export declare function aesCbcDecrypt(key: Uint8Array, data: Uint8Array): Uint8Array; /** * Gera um IV aleatório de 16 bytes. */ export declare function generateRandomIV(): Uint8Array; //# sourceMappingURL=aes.d.ts.map