レシピファイルにExtendコマンドを定義することにより、固定長暗号化が行えます。固定長暗号化実施時は、前述概略イメージの動作が以下のようになります。

【表1-{PDEL-SIDE-NAVI-ID}-A】半角のXYZという文字列の暗号化時にExtend:25が指定された場合のイメージ
手順 内容 イメージ 備考
E-1 16進数化 XYZ

58595a
58595a はXYZの16進数です。
E-2 認証情報設定 58595a

00037d29f8ed58595a
16進数データの先頭に認証情報Aを設定します。
E-3 デリミタ設定 00037d29f8ed58595a

00037d29f8ed58595a00
拡張領域識別用のデリミタを設定します。

※Extend固有の手順です。
E-4 文字の置き換え 00037d29f8ed58595a00

cPPs0oqH4idoxO3nuGg-
16進数で使用される0~9、およびa~fを、別の文字に置き換えます。
E-5 拡張 cPPs0oqH4idoxO3nuGg-

cPPs0oqH4idoxO3nuGg-6nBzp
25バイトに拡張します。

※Extend固有の手順です。
E-6 様々な文字列操作 cPPs0oqH4idoxO3nuGg-6nBzp

レシピファイルのExtendコマンド以降の内容に従って、様々な文字列操作(文字列の追加、反転等)を行います。
上記イメージを補足します。
  1. 手順E-3および手順E-5では、「指定された拡張サイズ(この例では25)」と「認証情報設定文字列バイト数(手順E-2完了後の文字列のバイト数。この例では18)」の差をもとに、動作が決定されます。
    拡張サイズ - 認証情報設定文字列バイト数 手順E-3 手順E-5
    0 何もしない 何もしない
    1 0を末尾に追加 何もしない
    2 00を末尾に追加 何もしない
    3以上 00を末尾に追加 (拡張サイズ - 認証情報設定文字列バイト数 - 2)桁の文字列を末尾に追加
  2. 手順E-5で追加される文字列は、「可変暗号化の場合はランダムな文字列」「固定暗号化の場合は固定暗号化の【固定暗号化時の文字列拡張】仕様で求められた文字列」となります。
  3. Extendコマンドの仕様として、「拡張サイズは認証情報が設定された文字列のバイト数以上であること」というチェックを実施しており、前述の例でレシピファイルの拡張サイズに17以下が定義されていれば、暗号化時にエラーとなります。
  4. 「デリミタに00を使用する」ということは「暗号化する情報にNull(16進数の00)が含まれてはいけない」ということです。従って固定長暗号化では、バイナリ文字列の暗号化は行えません。