AWS Encryption SDK Referenz zum Nachrichtenformat - AWS Encryption SDK

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 zum Nachrichtenformat

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 unterProgrammiersprachen.

Die Spezifikation, die die Elemente einer ordnungsgemäßen AWS Encryption SDK Implementierung definiert, finden Sie in der AWS Encryption SDK Spezifikation unter GitHub.

Die Verschlüsselungsoperationen AWS Encryption SDK geben eine einzelne Datenstruktur oder eine verschlüsselte Nachricht 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, die von der unterstützt werden, AWS Encryption SDK verwenden eine von zwei Versionen im Nachrichtenformat. Algorithmus-Suiten ohne Schlüsselbindung verwenden das Nachrichtenformat Version 1. Algorithmus-Suiten mit Schlüsselbindung verwenden das Nachrichtenformat Version 2.

Header-Struktur

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 1

Länge (Bytes)

Nachrichtenformat Version 2

Länge (Bytes)

Version 1 1
Typ 1 Nicht vorhanden
Algorithmus-ID 2 2
Nachrichten-ID 16 32
AADLänge

2

Wenn der Verschlüsselungskontext leer ist, ist der Wert des AAD 2-Byte-Längenfeldes 0.

2

Wenn der Verschlüsselungskontext leer ist, ist der Wert des AAD 2-Byte-Längenfeldes 0.

AAD

Variable. Die Länge dieses Felds wird in den vorherigen 2 Byte angezeigt (Feld AAD Länge).

Wenn der Verschlüsselungskontext leer ist, gibt es kein AAD Feld in der Kopfzeile.

Variable. Die Länge dieses Felds wird in den vorherigen 2 Byte angezeigt (Feld AAD Länge).

Wenn der Verschlüsselungskontext leer ist, gibt es kein AAD Feld in der Kopfzeile.

Verschlüsselter Datenschlüssel-Zähler 2 2
Verschlüsselte(r) Datenschlüssel 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.
Inhaltstyp 1 1
Reserved Instances 4 Nicht vorhanden
IV-Länge 1 Nicht anwesend
Frame-Länge 4 4
Daten der Algorithm Suite Nicht anwesend Variabel. Wird durch den Algorithmus bestimmt, der die Nachricht generiert hat.
Header-Authentifizierung Variable. Wird durch den Algorithmus bestimmt, der die Nachricht generiert hat. Variable. Wird durch den Algorithmus bestimmt, der die Nachricht generiert hat.
Version

Die Version dieses Nachrichtenformats. Die Version ist entweder 1 oder 2 als Byte 01 oder 02 in hexadezimaler Schreibweise codiert

Typ

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 für Algorithmen.

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.

AADLänge

Die Länge der zusätzlichen authentifizierten Daten (AAD). Es handelt sich um einen 2-Byte-Wert, der als 16-Bit-Ganzzahl ohne Vorzeichen interpretiert wird und die Anzahl der Byte angibt, die den enthalten. AAD

Wenn der Verschlüsselungskontext leer ist, ist der Wert des Felds AAD Länge 0.

AAD

Die zusätzlich authentifizierten Daten (Additional Authenticated Data, ADD). Das AAD ist eine Kodierung des Verschlüsselungskontextes, ein Array von Schlüssel-Wert-Paaren, wobei jeder Schlüssel und Wert eine Zeichenfolge von UTF -8 codierten Zeichen ist. Der Verschlüsselungskontext wird in eine Bytefolge umgewandelt und für den Wert verwendet. AAD Wenn der Verschlüsselungskontext leer ist, gibt es kein AAD Feld in der Kopfzeile.

Wenn die Algorithmen mit Signatur verwendet werden, muss der Verschlüsselungskontext das Schlüssel-Wert-Paar {'aws-crypto-public-key', Qtxt} enthalten. Qtxt steht für den elliptischen Kurvenpunkt Q, der gemäß Version SEC 1 2.0 komprimiert und dann Base64-kodiert wurde. Der Verschlüsselungskontext kann zusätzliche Werte enthalten, aber die maximale Länge des Konstruierten AAD beträgt 2^16 — 1 Byte.

In der folgenden Tabelle werden die Felder beschrieben, die den bilden. AAD Schlüssel-Wert-Paare werden nach Schlüsseln in aufsteigender Reihenfolge gemäß dem UTF 8-stelligen Code sortiert. Die Byte werden in der angegebenen Reihenfolge angehängt.

AAD-Struktur
Feld Länge (Bytes)
Schlüssel-Wert-Paar-Zähler 2
Schlüssellänge 2
Schlüssel Variable. Gleich dem Wert, der in den vorherigen 2 Bytes angegeben ist (Schlüssellänge).
Wertlänge 2
Wert Variable. Gleich dem Wert, der in den vorherigen 2 Bytes angegeben ist (Wertlänge).
Schlüssel-Wert-Paar-Zähler

Die Anzahl der Schlüssel-Wert-Paare in der. AAD Es handelt sich um einen 2-Byte-Wert, der als 16-Bit-Ganzzahl ohne Vorzeichen interpretiert wird und die Anzahl der Schlüssel-Wert-Paare in der angibt. AAD Die maximale Anzahl von Schlüssel-Wert-Paaren in der ist 2^16 - 1. AAD

Wenn kein Verschlüsselungskontext vorhanden ist oder der Verschlüsselungskontext leer ist, ist dieses Feld in der Struktur nicht vorhanden. AAD

Schlüssellänge

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. Es ist eine Sequenz von UTF -8 codierten Byte.

Wertlä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. Es ist eine Sequenz von UTF -8 codierten Bytes.

Verschlüsselter Datenschlüssel-Zähler

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(r) 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
Feld Länge (Bytes)
Länge der Schlüsselanbieter-ID 2
Schlüsselanbieter-ID Variable. Gleich dem Wert, der in den vorherigen 2 Bytes angegeben ist (Länge der Schlüsselanbieter-ID).
Länge der Schlüsselanbieterinformation 2
Schlüsselanbieterinformation Variable. Gleich dem Wert, der in den vorherigen 2 Bytes angegeben ist (Länge der Schlüsselanbieterinformation).
Länge des verschlüsselten Datenschlüssels 2
Verschlüsselte Datenschlüssel Variable. Gleich dem Wert, der in den vorherigen 2 Bytes angegeben ist (Länge des verschlüsselten Datenschlüssels).
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.

Schlüsselanbieter-ID

Die Schlüsselanbieter-ID. Wird verwendet, um den Anbieter des verschlüsselten Datenschlüssels anzugeben, und ist auf Erweiterbarkeit ausgelegt.

Länge der Schlüsselanbieterinformation

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.

Schlüsselanbieterinformation

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üsselte Datenschlüssel

Der verschlüsselte Datenschlüssel. Dies ist der vom Schlüsselanbieter verschlüsselte Datenverschlüsselungsschlüssel.

Inhaltstyp

Der Typ der verschlüsselten Daten, entweder ungerahmt oder gerahmt.

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.

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.

Reserved Instances

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 bestimmt, der die Nachricht generiert hat.

Dieses Feld ist im Nachrichtenformat Version 2 nicht vorhanden, das nur Algorithmus-Suites unterstützt, die deterministische IV-Werte im Nachrichtenkopf verwenden.

Frame-Länge

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.

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.

Daten der Algorithm Suite

Zusätzliche Daten, die der Algorithmus 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 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
Feld Länge in Version 1.0 (Byte) Länge in Version 2.0 (Byte)
IV Variable. Wird durch den IV-Byte-Wert des Algorithmus bestimmt, der die Nachricht generiert hat. N/A
Authentifizierungs-Tag Variable. Wird durch den Authentifizierungs-Tag-Byte-Wert des Algorithmus bestimmt, die die Nachricht generiert hat. Variable. Wird durch den Authentifizierungs-Tag-Byte-Wert des Algorithmus bestimmt, die die Nachricht generiert hat.
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

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.

Daten ohne Frame

Daten ohne Frames werden in einem einzigen Blob mit einer eindeutigen ID und einem eindeutigen Nachrichtentext verschlüsselt. AAD

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 Variable. Gleich dem im IV-Länge-Byte des Headers angegebenen Wert.
Länge des verschlüsselten Inhalts 8
Verschlüsselter Inhalt Variable. Gleich dem Wert, der in den vorherigen 8 Bytes angegeben ist (Länge des verschlüsselten Inhalts).
Authentifizierungs-Tag Variable. Wird durch die verwendete Algorithmus-Implementierung bestimmt.
IV

Der Initialisierungsvektor (IV) für die Verwendung mit dem Verschlüsselungsalgorithmus.

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.

Anmerkung

Die Java-Implementierung schränkt diesen Wert aufgrund von Einschränkungen in der Sprache SDK weiter auf 2^31 - 1 oder 2 Gibibyte (2 GiB) ein.

Verschlüsselter Inhalt

Der verschlüsselte Inhalt (Verschlüsselungstext), wie vom Verschlüsselungsalgorithmus zurückgegeben.

Authentifizierungs-Tag

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

Daten mit Frame

Bei Daten mit Frame werden die Klartextdaten in gleichlange Teile unterteilt, die als Frames bezeichnet werden. Der AWS Encryption SDK verschlüsselt jeden Frame separat mit einer eindeutigen IV und einem eindeutigen Hauptteil. AAD

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, d. h. die Länge des verschlüsselten Inhalts 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
Sequenznummer 4
IV Variable. Gleich dem im IV-Länge-Byte des Headers angegebenen Wert.
Verschlüsselter Inhalt Variable. Gleich dem im Frame-Länge des Headers angegebenen Wert.
Authentifizierungs-Tag Variable. Wird durch den verwendeten Algorithmus bestimmt, wie im Algorithmus-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. Der SDK verwendet eine deterministische Methode, um für jeden Frame in der Nachricht ein anderes IV zu erstellen. Seine Länge wird durch die verwendete Algorithmus-Folge bestimmt.

Verschlüsselter Inhalt

Der verschlüsselte Inhalt (Verschlüsselungstext) für den Frame, wie vom Verschlüsselungsalgorithmus 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
Folgenummerende 4
Sequenznummer 4
IV Variable. Gleich dem im IV-Länge-Byte des Headers angegebenen Wert.
Länge des verschlüsselten Inhalts 4
Verschlüsselter Inhalt Variable. Gleich dem Wert, der in den vorherigen 4 Bytes angegeben ist (Länge des verschlüsselten Inhalts).
Authentifizierungs-Tag Variable. Wird durch den verwendeten Algorithmus bestimmt, wie im Algorithmus-ID des Headers spezifiziert.
Folgenummerende

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. Der SDK verwendet eine deterministische Methode, um für jeden Frame in der Nachricht eine andere IV zu erstellen. Die Länge der IV-Länge wird durch die Algorithmus-Folge angegeben.

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 zurückgegeben.

Authentifizierungs-Tag

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

Wenn die Algorithmen mit Signatur verwendet werden, enthält das Nachrichtenformat einen Footer. Die Fußzeile der Nachricht enthält eine digitale Signatur, 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
Signaturlänge 2
Signatur Variable. Gleich dem Wert, der in den vorherigen 2 Bytes angegeben ist (Signaturlänge).

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.

Die Signatur