PDFium Delphi Component Docs

Unidad FPdfAesGcm

Unidad: FPdfAesGcm
Cifrado autenticado AES-GCM en Pascal puro para claves AES-128 y AES-256, que produce texto cifrado más una etiqueta de autenticación de 16 bytes

Syntax

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;

Description

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

Functions

FunciónDescripción
Aes256GcmEncryptCifra Plain con una clave de 256 bits, IV y AAD, devolviendo texto cifrado y una etiqueta de 16 bytes
Aes256GcmDecryptDescifra Cipher con una clave de 256 bits, IV y AAD, verificando la etiqueta; devuelve False si la etiqueta no coincide
Aes128GcmEncryptCifra Plain con una clave de 128 bits, IV y AAD, devolviendo texto cifrado y una etiqueta de 16 bytes
Aes128GcmDecryptDescifra Cipher con una clave de 128 bits, IV y AAD, verificando la etiqueta; devuelve False si la etiqueta no coincide

Types

TipoDescripción
TAesGcmTagEtiqueta de autenticación de 16 bytes producida y verificada por GCM
TGHashBlockAlias de TAesBlock usado por el componente GHASH

Remarks

See Also

FPdfAes