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, FPdfAes içindeki blok ilkelleri üzerine Galois/Sayaç Modunda (GCM) AES uygular. Şifreli metin ve 16 baytlık bir kimlik doğrulama etiketi üretir; etiket tarafından kapsanan ancak şifrelenmeyen ek kimlik doğrulamalı veri (AAD) kabul eder
Şifre çözme fonksiyonları etiket doğrulanmadığında False döndürür; böylece çağıranlar değiştirilmiş şifreli metni istisna fırlatmadan reddedebilir. Bu mod, PDF AES-256-CBC güvenlik işleyicisinin ötesinde kimlik doğrulamalı şifreleme gerektiren yapılar tarafından kullanılır
| Function | Description |
|---|---|
Aes256GcmEncrypt | Plain verisini 256 bitlik anahtar, IV ve AAD ile şifreler; şifreli metin ve 16 baytlık bir etiket döndürür |
Aes256GcmDecrypt | Cipher verisini 256 bitlik anahtar, IV ve AAD ile çözer ve etiketi doğrular; etiket uyumsuzluğunda False döndürür |
Aes128GcmEncrypt | Plain verisini 128 bitlik anahtar, IV ve AAD ile şifreler; şifreli metin ve 16 baytlık bir etiket döndürür |
Aes128GcmDecrypt | Cipher verisini 128 bitlik anahtar, IV ve AAD ile çözer ve etiketi doğrular; etiket uyumsuzluğunda False döndürür |
| Type | Description |
|---|---|
TAesGcmTag | GCM tarafından üretilen ve doğrulanan 16 baytlık kimlik doğrulama etiketi |
TGHashBlock | GHASH yapı taşı tarafından kullanılan TAesBlock takma adı |