TAesGcmTag = array[0..15] of Byte;
TGHashBlock = TAesBlock;
procedure Aes256GcmEncrypt(const Key: TAes256Key; const IV, Plain, AAD: TBytes;
out Cipher: TBytes; out Tag: TAesGcmTag);
function Aes256GcmDecrypt(const Key: TAes256Key; const IV, Cipher, AAD: TBytes;
const Tag: TAesGcmTag; out Plain: TBytes): Boolean;
procedure Aes128GcmEncrypt(const Key: TAes128Key; const IV, Plain, AAD: TBytes;
out Cipher: TBytes; out Tag: TAesGcmTag);
function Aes128GcmDecrypt(const Key: TAes128Key; const IV, Cipher, AAD: TBytes;
const Tag: TAesGcmTag; out Plain: TBytes): Boolean;
FPdfAesGcm implementa o AES no Modo Galois/Contador sobre as primitivas de bloco do FPdfAes. Ele produz texto cifrado e uma etiqueta de autenticação de 16 bytes e aceita dados autenticados adicionais (AAD) que são cobertos pela etiqueta, mas não criptografados
As funções de descriptografia retornam False quando a etiqueta não é verificada, permitindo que os chamadores rejeitem texto cifrado adulterado sem disparar exceção. Esse modo é usado por estruturas que exigem criptografia autenticada além do manipulador de segurança AES-256-CBC de PDF
| Function | Description |
|---|---|
Aes256GcmEncrypt | Criptografa Plain com uma chave de 256 bits, IV e AAD, retornando o texto cifrado e uma etiqueta de 16 bytes |
Aes256GcmDecrypt | Descriptografa Cipher com uma chave de 256 bits, IV e AAD, verificando a etiqueta; retorna False em caso de incompatibilidade da etiqueta |
Aes128GcmEncrypt | Criptografa Plain com uma chave de 128 bits, IV e AAD, retornando o texto cifrado e uma etiqueta de 16 bytes |
Aes128GcmDecrypt | Descriptografa Cipher com uma chave de 128 bits, IV e AAD, verificando a etiqueta; retorna False em caso de incompatibilidade da etiqueta |
| Type | Description |
|---|---|
TAesGcmTag | Etiqueta de autenticação de 16 bytes produzida e verificada pelo GCM |
TGHashBlock | Alias para TAesBlock usado pelo blocho de construção GHASH |