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 implementerar AES i Galois/Counter Mode ovanpå blockprimitiverna i FPdfAes; den producerar chiffertext och en 16-bytes autentiseringstagg och accepterar ytterligare autentiserad data (AAD) som täcks av taggen men inte krypteras
Dekrypteringsfunktionerna returnerar False när taggen inte kan verifieras, så att anropare kan avvisa manipulerad chiffertext utan att raisa; läget används av strukturer som kräver autentiserad kryptering utöver säkerhetshanteraren PDF AES-256-CBC
| Function | Description |
|---|---|
Aes256GcmEncrypt | Krypterar Plain med en 256-bitars nyckel, IV och AAD och returnerar chiffertext och en 16-bytes tagg |
Aes256GcmDecrypt | Dekrypterar Cipher med en 256-bitars nyckel, IV och AAD och verifierar taggen; returnerar False vid taggavvikelse |
Aes128GcmEncrypt | Krypterar Plain med en 128-bitars nyckel, IV och AAD och returnerar chiffertext och en 16-bytes tagg |
Aes128GcmDecrypt | Dekrypterar Cipher med en 128-bitars nyckel, IV och AAD och verifierar taggen; returnerar False vid taggavvikelse |
| Type | Description |
|---|---|
TAesGcmTag | 16-bytes autentiseringstagg som produceras och verifieras av GCM |
TGHashBlock | Alias för TAesBlock som används av byggstenen GHASH |