3.4. Example Usage (Beispiel für die Verwendung)
3.4. Example Usage (Beispiel für die Verwendung)
Um einen AEAD-Algorithmus zu nutzen, muss eine Anwendung definieren, wie die Eingaben des Verschlüsselungsalgorithmus aus Anwendungsdaten gebildet werden und wie Geheimtext und Nonce übermittelt werden. Am klarsten gelingt dies, indem jede Eingabe durch die Daten ausgedrückt wird, aus denen sie besteht, und anschließend die Anwendungsdaten durch die Ausgaben der AEAD-Verschlüsselungsoperation ausgedrückt werden.
Beispielsweise lässt sich AES-GCM ESP [RFC4106] wie folgt ausdrücken. Die AEAD-Eingaben sind
P = RestOfPayloadData || TFCpadding || Padding || PadLength ||
NextHeader
N = Salt || IV
A = SPI || SequenceNumber
wobei das Symbol „||“ die Verkettungsoperation (concatenation) bezeichnet und die Felder RestOfPayloadData, TFCpadding, Padding, PadLength, NextHeader, SPI und SequenceNumber wie in [RFC4303] definiert sind sowie die Felder Salt und IV wie in [RFC4106] definiert sind. Das Feld RestOfPayloadData enthält die Klartextdaten, die durch das Feld NextHeader beschrieben werden, und keine anderen Daten. (Zur Erinnerung: Das Feld PayloadData enthält sowohl das IV als auch RestOfPayloadData; siehe Abbildung 2 in [RFC4303] zur Veranschaulichung.)
Das Format des ESP-Pakets lässt sich ausdrücken als
ESP = SPI || SequenceNumber || IV || C
wobei C der AEAD-Geheimtext ist (der in diesem Fall den Authentifizierungstag, authentication tag, einschließt). Bitte beachten Sie, dass hier die Verwendung der erweiterten ESP-Sequenznummer (ESP Extended Sequence Number) nicht beschrieben wurde.