PDFium Component Docs

FPdfAesGcm unit

Unit: FPdfAesGcm
Pure-Pascal AES-GCM-authenticeerde versleuteling voor AES-128- en AES-256-sleutels, met ciphertext plus een 16-byte authenticatietag

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 implementeert AES in Galois/Counter Mode bovenop de blokprimitieven in FPdfAes. Het produceert ciphertext en een 16-byte authenticatietag en accepteert additionele geauthenticeerde data (AAD) die door de tag wordt gedekt maar niet wordt versleuteld

De ontsleutelfuncties geven False terug wanneer de tag niet geverifieerd kan worden, zodat aanroepers gemanipuleerde ciphertext kunnen afwijzen zonder exceptie. Deze modus wordt gebruikt door constructies die geauthenticeerde versleuteling vereisen boven de PDF AES-256-CBC-securityhandler

Functions

FunctionDescription
Aes256GcmEncryptVersleutelt Plain met een 256-bits sleutel, IV en AAD en geeft ciphertext en een 16-byte tag terug
Aes256GcmDecryptOntsleutelt Cipher met een 256-bits sleutel, IV en AAD en verifieert de tag; geeft False terug bij een tag-mismatch
Aes128GcmEncryptVersleutelt Plain met een 128-bits sleutel, IV en AAD en geeft ciphertext en een 16-byte tag terug
Aes128GcmDecryptOntsleutelt Cipher met een 128-bits sleutel, IV en AAD en verifieert de tag; geeft False terug bij een tag-mismatch

Types

TypeDescription
TAesGcmTag16-byte authenticatietag die door GCM wordt geproduceerd en geverifieerd
TGHashBlockAlias voor TAesBlock, gebruikt door het GHASH-bouwblok

Remarks

See Also

FPdfAes