PDFium Delphi Component Docs

FPdfAesGcm ユニット

ユニット: FPdfAesGcm
AES-128 および AES-256 キー向けの Pure-Pascal AES-GCM 認証付き暗号化であり、暗号文と 16 バイトの認証タグを生成します

構文

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 のブロックプリミティブの上にガロア/カウンタモード (GCM) の AES を実装します。暗号文と 16 バイトの認証タグを生成し、タグで保護されるものの暗号化はされない追加認証データ (AAD) を受け付けます

復号関数はタグが検証できない場合に False を返すため、呼び出し側は例外を発生させずに改ざんされた暗号文を拒否できます。このモードは、PDF AES-256-CBC セキュリティハンドラを超えて認証付き暗号化を必要とする構造体で使用されます

関数

関数説明
Aes256GcmEncrypt256 ビットキー、IV、AAD を用いて Plain を暗号化し、暗号文と 16 バイトのタグを返します
Aes256GcmDecrypt256 ビットキー、IV、AAD を用いて Cipher を復号しタグを検証します。タグ不一致時は False を返します
Aes128GcmEncrypt128 ビットキー、IV、AAD を用いて Plain を暗号化し、暗号文と 16 バイトのタグを返します
Aes128GcmDecrypt128 ビットキー、IV、AAD を用いて Cipher を復号しタグを検証します。タグ不一致時は False を返します

型

型説明
TAesGcmTagGCM が生成および検証する 16 バイトの認証タグです
TGHashBlockGHASH 構成要素が使用する TAesBlock の別名です

備考

関連項目

FPdfAes