PDFium Delphi Component Docs

Модуль FPdfAesGcm

Модуль: FPdfAesGcm
Аутентифицированное шифрование AES-GCM на чистом Pascal для ключей AES-128 и AES-256, возвращающее шифртекст и 16-байтовый тег аутентичности

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 реализует AES в режиме Galois/Counter Mode поверх блочных примитивов из FPdfAes. Он возвращает шифртекст и 16-байтовый тег аутентичности, а также принимает дополнительные аутентифицированные данные (AAD), которые защищаются тегом, но не шифруются

Функции расшифровки возвращают False, когда тег не проходит проверку, поэтому вызывающий код может отклонить изменённый шифртекст без возбуждения исключения. Этот режим используется структурами, которым требуется аутентифицированное шифрование сверх обработчика безопасности PDF AES-256-CBC

Functions

FunctionDescription
Aes256GcmEncryptШифрует Plain 256-битным ключом, IV и AAD, возвращая шифртекст и 16-байтовый тег
Aes256GcmDecryptРасшифровывает Cipher 256-битным ключом, IV и AAD с проверкой тега; возвращает False при несовпадении тега
Aes128GcmEncryptШифрует Plain 128-битным ключом, IV и AAD, возвращая шифртекст и 16-байтовый тег
Aes128GcmDecryptРасшифровывает Cipher 128-битным ключом, IV и AAD с проверкой тега; возвращает False при несовпадении тега

Types

TypeDescription
TAesGcmTag16-байтовый тег аутентичности, создаваемый и проверяемый в GCM
TGHashBlockПсевдоним TAesBlock, используемый строительным блоком GHASH

Remarks

See Also

FPdfAes