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 تعمية AES بوضع Galois/Counter فوق بدائيات الكتلة في FPdfAes. ينتج نصًا مُعمَّى ووسم توثيق من 16 بايتًا، ويقبل بيانات موثَّقة إضافية (AAD) يغطيها الوسم دون تعميتها
تعيد دوال فك التعمية False عندما لا يتحقق الوسم، بحيث يستطيع المستدعي رفض النص المُعمَّى العبث به دون رفع استثناء. يستخدم هذا الوضع في البُنى التي تتطلب تعمية موثَّقة تتجاوز معالجة أمان PDF من نوع AES-256-CBC
| الدالة | الوصف |
|---|---|
Aes256GcmEncrypt | يُعمِّي Plain بمفتاح 256 بت ومتجه تهيئة وAAD، معيدًا نصًا مُعمَّى ووسمًا من 16 بايتًا |
Aes256GcmDecrypt | يفك تعمية Cipher بمفتاح 256 بت ومتجه تهيئة وAAD، مع التحقق من الوسم؛ ويعيد False عند عدم تطابق الوسم |
Aes128GcmEncrypt | يُعمِّي Plain بمفتاح 128 بت ومتجه تهيئة وAAD، معيدًا نصًا مُعمَّى ووسمًا من 16 بايتًا |
Aes128GcmDecrypt | يفك تعمية Cipher بمفتاح 128 بت ومتجه تهيئة وAAD، مع التحقق من الوسم؛ ويعيد False عند عدم تطابق الوسم |
| النوع | الوصف |
|---|---|
TAesGcmTag | وسم توثيق من 16 بايتًا ينتجه GCM ويتحقق منه |
TGHashBlock | اسم بديل لـ TAesBlock تستخدمه وحدة بناء GHASH |