メインコンテンツまでスキップ

3.4. Example Usage (使用例)

3.4. Example Usage (使用例)

AEAD アルゴリズムを利用するには, アプリケーションは暗号アルゴリズムの入力をアプリケーションデータの観点からどのように定義するか, および暗号文とノンスをどのように伝達するかを定義しなければなりません。これを行う最も明確な方法は, 各入力をそれを形成するデータの観点から表し, 続いてアプリケーションデータを AEAD 暗号化操作の出力の観点から表すことです。

たとえば, AES-GCM ESP [RFC4106] は次のように表せます。AEAD の入力は

P = RestOfPayloadData || TFCpadding || Padding || PadLength ||
NextHeader

N = Salt || IV

A = SPI || SequenceNumber

ここで記号 "||" は連結操作を表し, フィールド RestOfPayloadData, TFCpadding, Padding, PadLength, NextHeader, SPI, SequenceNumber は [RFC4303] で定義され, フィールド Salt と IV は [RFC4106] で定義されます。フィールド RestOfPayloadData は, NextHeader フィールドによって記述される平文データのみを含み, 他のデータは含みません。(PayloadData フィールドには IV と RestOfPayloadData の両方が含まれることに注意, 図 2 は [RFC4303] を参照。)

ESP パケットの形式は

ESP = SPI || SequenceNumber || IV || C

と表せます。ここで C は AEAD 暗号文であり, 本例では認証タグを含みます。ここでは ESP Extended Sequence Number の利用については記述していないことに注意してください。