

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# AWS Encryption SDK Referenz auf das Nachrichtenformat
<a name="message-format"></a>


|  | 
| --- |
|  Die Informationen auf dieser Seite stellen eine Referenz für die Erstellung Ihrer eigenen, mit AWS Encryption SDK kompatiblen Verschlüsselungsbibliothek dar. Falls Sie keine eigene kompatible Verschlüsselungsbibliothek erstellen, benötigen Sie diese Informationen wahrscheinlich nicht. Informationen zur Verwendung von AWS Encryption SDK in einer der unterstützten Programmiersprachen finden Sie unter[Programmiersprachen](programming-languages.md). Die Spezifikation, die die Elemente einer ordnungsgemäßen AWS Encryption SDK Implementierung definiert, finden Sie in der [AWS Encryption SDK Spezifikation](https://github.com/awslabs/aws-encryption-sdk-specification/) unter GitHub.  | 

Die Verschlüsselungsoperationen AWS Encryption SDK geben eine einzelne Datenstruktur oder eine [verschlüsselte Nachricht](concepts.md#message) zurück, die die verschlüsselten Daten (Chiffretext) und alle verschlüsselten Datenschlüssel enthält. Um diese Datenstruktur zu verstehen, oder zum Erstellen von Bibliotheken, die sie lesen und schreiben können, müssen Sie das Nachrichtenformat verstehen.

Das Nachrichtenformat besteht aus mindestens zwei Teilen: einem *Header* und einem *Text*. In einigen Fällen enthält das Nachrichtenformat einen dritten Teil, einen *Footer*. Das Nachrichtenformat definiert eine sortierte Reihenfolge von Bytes in Netzwerk-Bytereihenfolge, auch als Big-Endian-Format bezeichnet. Das Nachrichtenformat beginnt mit dem Header, gefolgt vom Text, gefolgt vom Footer (falls vorhanden).

Die [Algorithmus-Suiten](algorithms-reference.md), die von der unterstützt werden, AWS Encryption SDK verwenden eine von zwei Versionen im Nachrichtenformat. Algorithmus-Suiten ohne [Schlüsselbindung](concepts.md#key-commitment) verwenden das Nachrichtenformat Version 1. Algorithmus-Suites mit Key Commitment verwenden das Nachrichtenformat Version 2. 

**Topics**
+ [Header-Struktur](#header-structure)
+ [Textstruktur](#body-structure)
+ [Footer-Struktur](#footer-structure)

## Header-Struktur
<a name="header-structure"></a>

Der Nachrichten-Header enthält den verschlüsselten Datenschlüssel sowie Informationen darüber, wie der Nachrichtentext gebildet wird. In der folgenden Tabelle werden die Felder beschrieben, die den Header in den Nachrichtenformat-Versionen 1 und 2 bilden. Die Byte werden in der angegebenen Reihenfolge angehängt. 

Der Wert **Nicht vorhanden** gibt an, dass das Feld in dieser Version des Nachrichtenformats nicht vorhanden ist. **Fettgedruckter Text** weist auf Werte hin, die in jeder Version unterschiedlich sind.

**Anmerkung**  
Möglicherweise müssen Sie horizontal oder vertikal scrollen, um alle Daten in dieser Tabelle anzuzeigen.


**Header-Struktur**  

| Feld | Nachrichtenformat, Version 1Länge (Bytes) | Nachrichtenformat Version 2Länge (Bytes) | 
| --- | --- | --- | 
| [Version](#header-version) | 1 | 1 | 
| [Type](#header-type) | 1 | Nicht vorhanden | 
| [Algorithm ID](#header-algorithm-id) | 2 | 2 | 
| [Message ID](#header-message-id) | 16 | 32 | 
| [AAD Length](#header-aad-length) | 2Wenn der [Verschlüsselungskontext](concepts.md#encryption-context) leer ist, ist der Wert des 2-Byte-Felds AAD-Länge 0. | 2Wenn der [Verschlüsselungskontext](concepts.md#encryption-context) leer ist, ist der Wert des 2-Byte-Felds AAD-Länge 0. | 
| [AAD](#header-aad) | Variable. Die Länge dieses Felds wird in den vorherigen 2 Byte angezeigt (Feld AAD-Länge). Wenn der [Verschlüsselungskontext](concepts.md#encryption-context) leer ist, gibt es keine AAD-Feld im Header. |  Variable. Die Länge dieses Felds wird in den vorherigen 2 Byte angezeigt (Feld AAD-Länge). Wenn der [Verschlüsselungskontext](concepts.md#encryption-context) leer ist, gibt es keine AAD-Feld im Header.  | 
| [Encrypted Data Key Count](#header-data-key-count) | 2 | 2 | 
| [Encrypted Data Key(s)](#header-data-keys) | Variable. Abhängig von der Anzahl der verschlüsselten Datenschlüssel und ihrer jeweiligen Länge. | Variable. Abhängig von der Anzahl der verschlüsselten Datenschlüssel und ihrer jeweiligen Länge. | 
| [Content Type](#header-content-type) | 1 | 1 | 
| [Reserved](#header-reserved) | 4 | Nicht vorhanden | 
| [IV Length](#header-iv-length) | 1 | Nicht anwesend | 
| [Frame Length](#header-frame-length) | 4 | 4 | 
| [Algorithm Suite Data](#algorithm-suite-data) | Nicht anwesend | Variabel. Wird durch den [Algorithmus](algorithms-reference.md) bestimmt, der die Nachricht generiert hat. | 
| [Header Authentication](#header-authentication) | Variable. Wird durch den [Algorithmus](algorithms-reference.md) bestimmt, der die Nachricht generiert hat. | Variable. Wird durch den [Algorithmus](algorithms-reference.md) bestimmt, der die Nachricht generiert hat. | 

**Ausführung**  
Die Version dieses Nachrichtenformats. Die Version ist entweder 1 oder 2 als Byte `01` oder `02` in hexadezimaler Schreibweise codiert

**Geben Sie ein**  
Der Typ dieses Nachrichtenformats. Der Typ gibt die Art der Struktur an. Der einzige unterstützte Typ wird als *vom Kunden authentifizierte verschlüsselte Daten* beschrieben. Sein Typwert ist 128, kodiert als Byte `80` im Hexadezimalformat.  
Dieses Feld ist im Nachrichtenformat Version 2 nicht vorhanden.

**Algorithmus-ID**  
Eine ID für den verwendeten Algorithmus. Dies ist ein 2-Byte-Wert, interpretiert als vorzeichenlose 16-Bit-Ganzzahl. Weitere Informationen die Algorithmen finden Sie unter [AWS Encryption SDK Referenz zu Algorithmen](algorithms-reference.md).

**Nachrichten-ID**  
Ein zufällig generierter Wert, der die Nachricht identifiziert. Die Nachrichten-ID:  
+ Identifiziert die verschlüsselte Nachricht eindeutig.
+ Bindet den Nachrichten-Header schwach an den Nachrichtentext.
+ Stellt einen Mechanismus zur sicheren Wiederverwendung eines Datenschlüssels für mehrere verschlüsselte Nachrichten bereit.
+ Schützt vor versehentlicher Wiederverwendung eines Datenschlüssels oder der Abnutzung von Schlüsseln im AWS Encryption SDK.
Dieser Wert beträgt 128 Bit im Nachrichtenformat Version 1 und 256 Bit in Version 2.

**AAD-Länge**  
Die Länge der zusätzliche authentifizierten Daten (AAD, Additional Authenticated Data). Es handelt sich um einen 2-Byte-Wert, interpretiert als vorzeichenlose 16-Bit-Ganzzahl, die die Anzahl der Bytes angibt, die die AAD enthalten.  
Wenn der [Verschlüsselungskontext](concepts.md#encryption-context) leer ist, ist der Wert des Felds AAD-Länge 0.

**AAD**  
Die zusätzlich authentifizierten Daten (Additional Authenticated Data, ADD). Bei den AAD handelt es sich um eine Codierung der [Verschlüsselungskontexts](concepts.md#encryption-context), ein Array mit Schlüssel-Wert-Paaren, wobei jeder Schlüssel und jeder Wert eine Zeichenfolge mit UTF-8-Zeichen ist. Der Verschlüsselungskontext wird eine Bytefolge umgewandelt und für den AAD-Wert verwendet. Wenn der Verschlüsselungskontext leer ist, gibt es keine AAD-Feld im Header.  
Wenn die [Algorithmen mit Signatur](algorithms-reference.md) verwendet werden, muss der Verschlüsselungskontext das Schlüssel-Wert-Paar `{'aws-crypto-public-key', Qtxt}` enthalten. Qtxt stellt den elliptischen Kurvenpunkt Q dar, komprimiert gemäß [SEC 1 Version 2.0](http://www.secg.org/sec1-v2.pdf) und dann base64-kodiert. Der Verschlüsselungskontext kann zusätzliche Werte enthalten, aber die maximale Länge der konstruierten AAD beträgt 2 ^ 16 – 1 Byte.  
In der folgenden Tabelle sind die Felder beschrieben, die die AAD bilden. Schlüssel-Wert-Paare werden dem Schlüssel nach in aufsteigender Reihenfolge gemäß UTF-8-Zeichencode sortiert. Die Byte werden in der angegebenen Reihenfolge angehängt.    
**AAD-Struktur**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/encryption-sdk/latest/developer-guide/message-format.html)  
**Anzahl der Schlüssel-Wert-Paare**  
Die Anzahl der Schlüssel-Wert-Paare in den AAD. Es handelt sich um einen 2-Byte-Wert, interpretiert als vorzeichenlose 16-Bit-Ganzzahl, die die Anzahl der Schlüssel-Wert-Paare in den AAD angibt. Die maximale Anzahl der Schlüssel-Wert-Paare in den AAD ist 2^16 - 1.  
Wenn es keinen Verschlüsselungskontext gibt oder der Verschlüsselungskontext leer ist, ist dieses Feld nicht in der AAD-Struktur vorhanden.  
**Länge des Schlüssels**  
Die Länge des Schlüssels für das Schlüssel-Wert-Paar. Es handelt sich um einen 2-Byte-Wert, interpretiert als vorzeichenlose 16-Bit-Ganzzahl, die die Anzahl der Bytes angibt, die den Schlüssel enthalten.  
**Schlüssel**  
Der Schlüssel für das Schlüssel-Wert-Paar. Dies ist eine Folge UTF-8-kodierter Bytes.  
**Wert Länge**  
Die Länge des Werts für das Schlüssel-Wert-Paar. Es handelt sich um einen 2-Byte-Wert, interpretiert als vorzeichenlose 16-Bit-Ganzzahl, die die Anzahl der Bytes angibt, die den Wert enthalten.  
**Wert**  
Der Wert für das Schlüssel-Wert-Paar. Dies ist eine Folge UTF-8-kodierter Bytes.

**Anzahl verschlüsselter Datenschlüssel**  
Die Anzahl der verschlüsselten Datenschlüssel. Es handelt sich um einen 2-Byte-Wert, interpretiert als vorzeichenlose 16-Bit-Ganzzahl, die die Anzahl der verschlüsselten Datenschlüssel angibt. Die maximale Anzahl verschlüsselter Datenschlüssel in jeder Nachricht beträgt 65.535 (2^16 — 1).

**Verschlüsselte Datenschlüssel**  
Eine Folge von verschlüsselten Datenschlüsseln. Die Länge der Folge wird durch die Anzahl der verschlüsselten Datenschlüssel und ihre jeweilige Länge bestimmt. Die Folge enthält mindestens einen verschlüsselten Datenschlüssel.  
In der folgenden Tabelle sind die Felder beschrieben, die die verschlüsselten Datenschlüssel bilden. Die Byte werden in der angegebenen Reihenfolge angehängt.    
**Struktur der verschlüsselten Datenschlüssel**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/encryption-sdk/latest/developer-guide/message-format.html)  
**Länge der Schlüsselanbieter-ID**  
Die Länge der Schlüsselanbieter-ID. Es handelt sich um einen 2-Byte-Wert, interpretiert als vorzeichenlose 16-Bit-Ganzzahl, die die Anzahl der Bytes angibt, die die Schlüsselanbieter-ID enthalten.  
**ID des Schlüsselanbieters**  
Die Schlüsselanbieter-ID. Wird verwendet, um den Anbieter des verschlüsselten Datenschlüssels anzugeben, und ist auf Erweiterbarkeit ausgelegt.  
**Länge der Informationen zum Schlüsselanbieter**  
Die Länge der Schlüsselanbieterinformation. Es handelt sich um einen 2-Byte-Wert, interpretiert als vorzeichenlose 16-Bit-Ganzzahl, die die Anzahl der Bytes angibt, die die Schlüsselanbieterinformation enthalten.  
**Informationen zu den wichtigsten Anbietern**  
Die Schlüsselanbieterinformation. Wird durch den Schlüsselanbieter bestimmt.  
Wenn der Hauptschlüsselanbieter AWS KMS ist oder Sie einen AWS KMS Schlüsselbund verwenden, enthält dieser Wert den Amazon-Ressourcennamen (ARN) von. AWS KMS key  
**Länge des verschlüsselten Datenschlüssels**  
Die Länge des verschlüsselten Datenschlüssels. Es handelt sich um einen 2-Byte-Wert, interpretiert als vorzeichenlose 16-Bit-Ganzzahl, die die Anzahl der Bytes angibt, die den verschlüsselten Datenschlüssel enthalten.  
**Verschlüsselter Datenschlüssel**  
Der verschlüsselte Datenschlüssel. Dies ist der vom Schlüsselanbieter verschlüsselte Datenverschlüsselungsschlüssel.

**Art des Inhalts**  
Der Typ der verschlüsselten Daten, entweder ohne Frame oder Frame.  
Verwenden Sie nach Möglichkeit gerahmte Daten. Das AWS Encryption SDK unterstützt Daten ohne Frames nur für die Verwendung in älteren Versionen. Einige Sprachimplementierungen von AWS Encryption SDK können immer noch nicht gerahmten Chiffretext generieren. Alle unterstützten Sprachimplementierungen können gerahmten und ungerahmten Chiffretext entschlüsseln.
Frame-Daten werden in gleich lange Teile aufgeteilt; jeder Teil wird separat verschlüsselt. Inhalt mit Frame ist Typ 2, kodiert als Byte `02` im Hexadezimalformat.  
Daten ohne Frames werden nicht aufgeteilt, sondern sind ein einziger verschlüsselter Blob. Inhalt ohne Frame ist Typ 1, kodiert als Byte `01` im Hexadezimalformat.

**Reserviert**  
Eine reservierte Folge aus 4 Bytes. Der Wert muss 0 sein. Es ist kodiert als die Bytes `00 00 00 00` im Hexadezimalformat (d. h. eine 4-Byte-Folge einer 32-Bit-Ganzzahl mit dem Wert 0).  
Dieses Feld ist im Nachrichtenformat Version 2 nicht vorhanden.

**IV Länge**  
Die Länge des Initialisierungsvektors (IV). Es handelt sich um einen 1-Byte-Wert, interpretiert als vorzeichenlose 8-Bit-Ganzzahl, die die Anzahl der Bytes angibt, die den IV enthalten. Dieser Wert wird durch den IV-Byte-Wert des [Algorithmus](algorithms-reference.md) bestimmt, der die Nachricht generiert hat.  
Dieses Feld ist in Version 2 des Nachrichtenformats nicht vorhanden, das nur Algorithmus-Suites unterstützt, die deterministische IV-Werte im Nachrichtenkopf verwenden.

**Länge des Frames**  
Die Länge jedes Frames mit gerahmten Daten. Es handelt sich um einen 4-Byte-Wert, der als 32-Bit-Ganzzahl ohne Vorzeichen interpretiert wird und die Anzahl der Byte in jedem Frame angibt. Wenn die Daten nicht gerahmt sind, d. h. wenn der Wert des `Content Type` Felds 1 ist, muss dieser Wert 0 sein.  
Verwenden Sie nach Möglichkeit gerahmte Daten. Das AWS Encryption SDK unterstützt Daten ohne Frames nur für die Verwendung in älteren Versionen. Einige Sprachimplementierungen von AWS Encryption SDK können immer noch nicht gerahmten Chiffretext generieren. Alle unterstützten Sprachimplementierungen können gerahmten und ungerahmten Chiffretext entschlüsseln.

**Daten der Algorithm Suite**  
Zusätzliche Daten, die der [Algorithmus](algorithms-reference.md) benötigt, der die Nachricht generiert hat. Die Länge und der Inhalt werden durch den Algorithmus bestimmt. Ihre Länge könnte 0 sein.  
Dieses Feld ist im Nachrichtenformat Version 1 nicht vorhanden.

**Header-Authentifizierung**  
Die Header-Authentifizierung wird durch den [Algorithmus](algorithms-reference.md) bestimmt, der die Meldung generiert hat. Die Header-Authentifizierung wird unter Verwendung des kompletten Headers berechnet. Sie besteht aus einem IV und einem Authentifizierungs-Tag. Die Byte werden in der angegebenen Reihenfolge angehängt.    
**Struktur der Header-Authentifizierung**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/encryption-sdk/latest/developer-guide/message-format.html)  
**IV**  
Der Initialisierungsvektor (IV) zur Berechnung des Header-Authentifizierungs-Tags.  
Dieses Feld ist im Header der Nachrichtenformatversion 2 nicht vorhanden. Nachrichtenformat Version 2 unterstützt nur Algorithmus-Suites, die deterministische IV-Werte im Nachrichtenkopf verwenden.  
**Authentifizierungs-Tag**  
Die Authentifizierungswert für den Header. Es wird verwendet, um den gesamten Inhalt des Headers zu authentifizieren.

## Textstruktur
<a name="body-structure"></a>

Der Nachrichtentext enthält die verschlüsselten Daten, den sogenannten *Verschlüsselungstext*. Die Struktur des Textes hängt vom Inhaltstyp ab (mit oder ohne Frame). Die folgenden Abschnitte beschreiben das Format des Nachrichtentexts für jeden Inhaltstyp. Die Struktur des Nachrichtentexts ist in den Nachrichtenformat-Versionen 1 und 2 dieselbe.

**Topics**
+ [Daten ohne Frame](#body-no-framing)
+ [Daten mit Frame](#body-framing)

### Daten ohne Frame
<a name="body-no-framing"></a>

Daten ohne Frame werden in einem einzigen Blob mit einer eindeutigen IV und [Text-AAD](body-aad-reference.md) verschlüsselt.

**Anmerkung**  
Verwenden Sie nach Möglichkeit gerahmte Daten. Das AWS Encryption SDK unterstützt Daten ohne Frames nur für die Verwendung in älteren Versionen. Einige Sprachimplementierungen von AWS Encryption SDK können immer noch nicht gerahmten Chiffretext generieren. Alle unterstützten Sprachimplementierungen können gerahmten und ungerahmten Chiffretext entschlüsseln.

In der folgenden Tabelle sind die Felder beschrieben, die Daten ohne Frame bilden. Die Byte werden in der angegebenen Reihenfolge angehängt.


**Struktur von Text ohne Frame**  

| Feld | Länge, in Bytes | 
| --- | --- | 
| [IV](#body-unframed-iv) | Variable. Gleich dem im [IV Length](#header-iv-length)-Byte des Headers angegebenen Wert. | 
| [Encrypted Content Length](#body-unframed-content-length) | 8 | 
| [Encrypted Content](#body-unframed-content) | Variable. Gleich dem Wert, der in den vorherigen 8 Bytes angegeben ist (Länge des verschlüsselten Inhalts). | 
| [Authentication Tag](#body-unframed-tag) | Variable. Wird durch die verwendete [Algorithmus-Implementierung](algorithms-reference.md) bestimmt. | 

**IV**  
Der Initialisierungsvektor (IV) für die Verwendung mit dem [Verschlüsselungsalgorithmus](algorithms-reference.md).

**Länge des verschlüsselten Inhalts**  
Die Länge des verschlüsselten Inhalts oder *Verschlüsselungstext*. Es handelt sich um einen 8-Byte-Wert, interpretiert als vorzeichenlose 64-Bit-Ganzzahl, die die Anzahl der Bytes angibt, die den verschlüsselten Inhalt enthalten.  
Technisch ist der maximal zulässige Wert 2 ^ 63 – 1 oder 8 Exbibytes (8 EiB). In der Praxis ist der maximale Wert jedoch 2 ^ 36 – 32 oder 64 Gibibyte (64 GiB), aufgrund von Einschränkungen durch die [implementierten Algorithmen](algorithms-reference.md).  
Die Java-Implementierung dieses SDK schränkt diesen Wert weiter auf 2 ^ 31 – 1 oder 2 Gibibyte (2 GiB) ein, aufgrund von Einschränkungen in der Sprache.

**Verschlüsselter Inhalt**  
Der verschlüsselte Inhalt (Verschlüsselungstext), wie vom [Verschlüsselungsalgorithmus](algorithms-reference.md) zurückgegeben.

**Authentifizierungs-Tag**  
Die Authentifizierungswert für den Text. Er wird verwendet, um den Nachrichtentext zu authentifizieren.

### Daten mit Frame
<a name="body-framing"></a>

Bei Daten mit Frame werden die Klartextdaten in gleichlange Teile unterteilt, die als *Frames* bezeichnet werden. Das AWS Encryption SDK verschlüsselt jeden Frame separat mit einem eindeutigen IV- und [Body-AAD](body-aad-reference.md).

**Anmerkung**  
Verwenden Sie nach Möglichkeit gerahmte Daten. Das AWS Encryption SDK unterstützt Daten ohne Frames nur für die Verwendung in älteren Versionen. Einige Sprachimplementierungen von AWS Encryption SDK können immer noch nicht gerahmten Chiffretext generieren. Alle unterstützten Sprachimplementierungen können gerahmten und ungerahmten Chiffretext entschlüsseln.

 

Die [Frame-Länge](#header-frame-length), d. h. die Länge des [verschlüsselten Inhalts](#body-framed-regular-content) im Frame, kann für jede Nachricht unterschiedlich sein. Die maximale Anzahl von Bytes in einem Frame ist 2 ^ 32 – 1. Die maximale Anzahl von Frames in einer Nachricht ist 2 ^ 32 – 1.

Es gibt zwei Arten von Frames: *reguläre* und *abschließende*. Jede Nachricht muss aus einem abschließenden Frame bestehen oder einen enthalten. 

Alle regulären Frames in einer Nachricht haben die gleiche Frame-Länge. Der abschließende Frame kann eine andere Frame-Länge haben. 

Die Zusammensetzung der Frames in Daten mit Frame variiert je nach Länge des verschlüsselten Inhalts.
+ **Entspricht der Framelänge** — Wenn die Länge des verschlüsselten Inhalts mit der Framelänge der regulären Frames übereinstimmt, kann die Nachricht aus einem regulären Frame bestehen, der die Daten enthält, gefolgt von einem letzten Frame mit der Länge Null (0). Oder die Nachricht kann nur aus einem abschließenden Frame bestehen, der die Daten enthält. In diesem Fall hat der abschließende Frame die gleiche Frame-Länge wie die regulären Frames.
+ **Vielfaches der Framelänge** — Wenn die Länge des verschlüsselten Inhalts ein exaktes Vielfaches der Framelänge der regulären Frames ist, kann die Nachricht in einem regulären Frame enden, der die Daten enthält, gefolgt von einem letzten Frame mit einer Länge von Null (0). Oder die Nachricht kann in einem abschließenden Frame enden, der die Daten enthält. In diesem Fall hat der abschließende Frame die gleiche Frame-Länge wie die regulären Frames.
+ **Kein Vielfaches der Framelänge** — Wenn die Länge des verschlüsselten Inhalts kein exaktes Vielfaches der Framelänge der regulären Frames ist, enthält der letzte Frame die verbleibenden Daten. Die Frame-Länge des abschließenden Frames ist kleiner als die Frame-Länge der regulären Frames. 
+ **Weniger als die Framelänge** — Wenn die Länge des verschlüsselten Inhalts kleiner als die Framelänge der regulären Frames ist, besteht die Nachricht aus einem letzten Frame, der alle Daten enthält. Die Frame-Länge des abschließenden Frames ist kleiner als die Frame-Länge der regulären Frames.

In den folgenden Tabellen sind die Felder beschrieben, die die Frames bilden. Die Byte werden in der angegebenen Reihenfolge angehängt.


**Textstruktur mit Frame, regulärer Frame**  

| Feld | Länge, in Bytes | 
| --- | --- | 
| [Sequence Number](#body-framed-regular-sequence-number) | 4 | 
| [IV](#body-framed-regular-iv) | Variable. Gleich dem im [IV Length](#header-iv-length)-Byte des Headers angegebenen Wert. | 
| [Encrypted Content](#body-framed-regular-content) | Variable. Gleich dem im [Frame Length](#header-frame-length) des Headers angegebenen Wert. | 
| [Authentication Tag](#body-framed-regular-tag) | Variable. Wird durch den verwendeten Algorithmus bestimmt, wie im [Algorithm ID](#header-algorithm-id) des Headers spezifiziert. | 

**Sequenznummer**  
Die Frame-Folgenummer. Dies ist ein inkrementeller Zähler für den Frame. Dies ist ein 4-Byte-Wert, interpretiert als vorzeichenlose 32-Bit-Ganzzahl.  
Daten mit Frame müssen mit der Folgenummer 1 beginnen. Nachfolgende Frames müssen sich in der richtigen Reihenfolge befinden ein Inkrement von 1 gegenüber dem vorherigen Frame enthalten. Andernfalls wird der Entschlüsselungsprozess angehalten und eine Fehlermeldung ausgegeben.

**IV**  
Der Initialisierungsvektor (IV) für den Frame. Das SDK nutzt eine deterministische Methode für die Konstruktion eines jeweils anderen IV für jeden Frame in der Nachricht. Seine Länge wird durch die verwendete [Algorithmus-Folge](algorithms-reference.md) bestimmt.

**Verschlüsselter Inhalt**  
Der verschlüsselte Inhalt (Verschlüsselungstext) für den Frame, wie vom [Verschlüsselungsalgorithmus](algorithms-reference.md) zurückgegeben.

**Authentifizierungs-Tag**  
Die Authentifizierungswert für den Frame. Er wird verwendet, um den gesamten Frame zu authentifizieren.


**Textstruktur mit Frame, abschließender Frame**  

| Feld | Länge, in Bytes | 
| --- | --- | 
| [Sequence Number End](#body-framed-final-sequence-number-end) | 4 | 
| [Sequence Number](#body-framed-final-sequence-number) | 4 | 
| [IV](#body-framed-final-iv) | Variable. Gleich dem im [IV Length](#header-iv-length)-Byte des Headers angegebenen Wert. | 
| [Encrypted Content Length](#body-framed-final-content-length) | 4 | 
| [Encrypted Content](#body-framed-final-content) | Variable. Gleich dem Wert, der in den vorherigen 4 Bytes angegeben ist (Länge des verschlüsselten Inhalts). | 
| [Authentication Tag](#body-framed-final-tag) | Variable. Wird durch den verwendeten Algorithmus bestimmt, wie im [Algorithm ID](#header-algorithm-id) des Headers spezifiziert. | 

**Ende der Sequenznummer**  
Ein Indikator für den abschließenden Frame. Der Wert wird als die 4 Bytes `FF FF FF FF` im Hexadezimalformat kodiert.

**Sequenznummer**  
Die Frame-Folgenummer. Dies ist ein inkrementeller Zähler für den Frame. Dies ist ein 4-Byte-Wert, interpretiert als vorzeichenlose 32-Bit-Ganzzahl.  
Daten mit Frame müssen mit der Folgenummer 1 beginnen. Nachfolgende Frames müssen sich in der richtigen Reihenfolge befinden ein Inkrement von 1 gegenüber dem vorherigen Frame enthalten. Andernfalls wird der Entschlüsselungsprozess angehalten und eine Fehlermeldung ausgegeben.

**IV**  
Der Initialisierungsvektor (IV) für den Frame. Das SDK nutzt eine deterministische Methode für die Konstruktion eines jeweils anderen IV für jeden Frame in der Nachricht. Die Länge der IV-Länge wird durch die [Algorithmus-Folge angegeben](algorithms-reference.md).

**Länge des verschlüsselten Inhalts**  
Die Länge des verschlüsselten Inhalts. Es handelt sich um einen 4-Byte-Wert, interpretiert als vorzeichenlose 32-Bit-Ganzzahl, die die Anzahl der Bytes angibt, die den verschlüsselten Inhalt für den Frame enthalten.

**Verschlüsselter Inhalt**  
Der verschlüsselte Inhalt (Verschlüsselungstext) für den Frame, wie vom [Verschlüsselungsalgorithmus](algorithms-reference.md) zurückgegeben.

**Authentifizierungs-Tag**  
Die Authentifizierungswert für den Frame. Er wird verwendet, um den gesamten Frame zu authentifizieren.

## Footer-Struktur
<a name="footer-structure"></a>

Wenn die [Algorithmen mit Signatur](algorithms-reference.md) verwendet werden, enthält das Nachrichtenformat einen Footer. Die Fußzeile der Nachricht enthält eine [digitale Signatur](concepts.md#digital-sigs), die anhand des Nachrichtenkopfs und des Nachrichtentexts berechnet wird. In der folgenden Tabelle sind die Felder des Footers beschrieben. Die Byte werden in der angegebenen Reihenfolge angehängt. Die Struktur der Nachrichtenfußzeile ist in den Nachrichtenformat-Versionen 1 und 2 dieselbe.


**Footer-Struktur**  

| Feld | Länge, in Bytes | 
| --- | --- | 
| [Signature Length](#footer-signature-length) | 2 | 
| [Signature](#footer-signature) | Variable. Gleich dem Wert, der in den vorherigen 2 Bytes angegeben ist (Signaturlänge). | 

**Länge der Signatur**  
Die Länge der Signatur. Es handelt sich um einen 2-Byte-Wert, interpretiert als vorzeichenlose 16-Bit-Ganzzahl, die die Anzahl der Bytes angibt, die die Signatur enthalten.

**Signatur**  
Die Signatur