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 AES en modo Galois/Counter sobre las primitivas de bloque de FPdfAes. Produce texto cifrado y una etiqueta de autenticación de 16 bytes, y acepta datos autenticados adicionales (AAD) que quedan cubiertos por la etiqueta pero no se cifran
Las funciones de descifrado devuelven False cuando la etiqueta no se puede verificar, de modo que quien las llame puede rechazar texto cifrado alterado sin generar una excepción. Este modo lo usan estructuras que requieren cifrado autenticado más allá del controlador de seguridad AES-256-CBC de PDF
| Función | Descripción |
|---|---|
Aes256GcmEncrypt | Cifra Plain con una clave de 256 bits, IV y AAD, devolviendo texto cifrado y una etiqueta de 16 bytes |
Aes256GcmDecrypt | Descifra Cipher con una clave de 256 bits, IV y AAD, verificando la etiqueta; devuelve False si la etiqueta no coincide |
Aes128GcmEncrypt | Cifra Plain con una clave de 128 bits, IV y AAD, devolviendo texto cifrado y una etiqueta de 16 bytes |
Aes128GcmDecrypt | Descifra Cipher con una clave de 128 bits, IV y AAD, verificando la etiqueta; devuelve False si la etiqueta no coincide |
| Tipo | Descripción |
|---|---|
TAesGcmTag | Etiqueta de autenticación de 16 bytes producida y verificada por GCM |
TGHashBlock | Alias de TAesBlock usado por el componente GHASH |