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 zu Algorithmen
|
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 |
Wenn Sie Ihre eigene Bibliothek erstellen, die Chiffretexte lesen und schreiben kann, die mit dem kompatibel sind AWS Encryption SDK, müssen Sie verstehen, wie die unterstützten Algorithmus-Suites zur Verschlüsselung von Rohdaten AWS Encryption SDK implementiert.
Die AWS Encryption SDK unterstützt die folgenden Algorithmus-Suiten. Alle AES-GCM Algorithmus-Suites haben einen 12-Byte-Initialisierungsvektor und ein AES-GCM 16-Byte-Authentifizierungs-Tag. Die Standard-Algorithmus-Suite variiert je nach AWS Encryption SDK Version und ausgewählter Key Commitment Policy. Einzelheiten finden Sie unter Commitment-Richtlinie und Algorithmus-Suite.
| Algorithmus-ID | Version im Nachrichtenformat | Verschlüsselungsalgorithmus | Länge des Datenschlüssels (Bits) | Schlüsselableitungsalgorithmus | Signatur-Algorithmus | Algorithmus für Schlüsselzusagen | Datenlänge der Algorithm Suite (Byte) |
|---|---|---|---|---|---|---|---|
05 78 |
0x02 | AES-GCM | 256 | HKDF mit SHA-512 | ECDSA mit und P-384 SHA-384 | HKDF mit SHA-512 | 32 (wichtigste Verpflichtung) |
04 78 |
0x02 | AES-GCM | 256 | HKDF mit SHA-512 | Keine | HKDF mit SHA-512 | 32 (wichtigste Verpflichtung) |
03 78 |
0x01 | AES-GCM | 256 | HKDF mit SHA-384 | ECDSA mit und P-384 SHA-384 | Keine | N/A |
03 46 |
0x01 | AES-GCM | 192 | HKDF mit SHA-384 | ECDSA mit und P-384 SHA-384 | Keine | N/A |
02 14 |
0x01 | AES-GCM | 128 | HKDF mit SHA-256 | ECDSA mit und P-256 SHA-256 | Keine | N/A |
01 78 |
0x01 | AES-GCM | 256 | HKDF mit SHA-256 | Keine | Keine | N/A |
01 46 |
0x01 | AES-GCM | 192 | HKDF mit SHA-256 | Keine | Keine | N/A |
01 14 |
0x01 | AES-GCM | 128 | HKDF mit SHA-256 | Keine | Keine | N/A |
00 78 |
0x01 | AES-GCM | 256 | Keine | Keine | Keine | N/A |
00 46 |
0x01 | AES-GCM | 192 | Keine | Keine | Keine | N/A |
00 14 |
0x01 | AES-GCM | 128 | Keine | Keine | Keine | N/A |
- Algorithmus-ID
-
Ein 2-Byte-Hexadezimalwert, der eine Algorithmusimplementierung eindeutig identifiziert. Dieser Wert wird im Nachrichtenkopf des Chiffretextes gespeichert.
- Version im Nachrichtenformat
-
Die Version des Nachrichtenformats. Algorithmus-Suites mit Key Commitment verwenden das Nachrichtenformat Version 2 (0x02). Algorithmus-Suites ohne Schlüsselzusage verwenden das Nachrichtenformat Version 1 (0x01).
- Datenlänge der Algorithmus-Suite
-
Die Länge der für die Algorithmus-Suite spezifischen Daten in Byte. Dieses Feld wird nur im Nachrichtenformat Version 2 (0x02) unterstützt. Im Nachrichtenformat Version 2 (0x02) werden diese Daten im
Algorithm suite dataFeld des Nachrichtenkopfs angezeigt. Algorithmus-Suites, die Key Commitment unterstützen, verwenden 32 Byte für die Key-Commitment-Zeichenfolge. Weitere Informationen finden Sie in dieser Liste unter Key Commitment-Algorithmus. - Länge des Datenschlüssels
-
Die Länge des Datenschlüssels in Bits. Der AWS Encryption SDK unterstützt 256-Bit-, 192-Bit- und 128-Bit-Schlüssel. Der Datenschlüssel wird durch einen Schlüsselbund oder Hauptschlüssel generiert.
In einigen Implementierungen wird dieser Datenschlüssel als Eingabe für eine Schlüsselableitungsfunktion (HKDF) zum HMAC-based Extrahieren und Erweitern verwendet. Die Ausgabe des HKDF wird als Datenverschlüsselungsschlüssel im Verschlüsselungsalgorithmus verwendet. Weitere Informationen finden Sie in dieser Liste unter Algorithmus zur Schlüsselableitung.
- Verschlüsselungsalgorithmus
-
Der Name und der Modus des verwendeten Verschlüsselungsalgorithmus. Algorithmus-Suiten AWS Encryption SDK verwenden den Advanced Encryption Standard (AES) -Verschlüsselungsalgorithmus mit Galois/Counter Modus (GCM).
- Algorithmus für Schlüsselzusagen
-
Der Algorithmus, der zur Berechnung der Key Commitment-Zeichenfolge verwendet wurde. Die Ausgabe wird im
Algorithm suite dataFeld des Nachrichtenkopfs gespeichert und dient zur Validierung des Datenschlüssels für Key Commitment.Eine technische Erläuterung des Hinzufügens von Key Commitment zu einer Algorithmus-Suite finden Sie unter Key Committing AEADs
in Cryptology ePrint Archive. - Schlüsselableitungsalgorithmus
-
Die Funktion zur HMAC-based Extraktion und Erweiterung der Schlüsselableitung (HKDF), die zur Ableitung des Datenverschlüsselungsschlüssels verwendet wird. Die AWS Encryption SDK verwendet das in RFC 5869 definierte HKDF.
Algorithmus-Suiten ohne Schlüsselbindung (Algorithmus-ID —)
01xx03xx-
Die verwendete Hash-Funktion ist entweder SHA-384 oder SHA-256, abhängig von der Algorithmus-Suite.
-
Für den Extraktionsschritt:
-
Es wird kein Salt verwendet. Gemäß dem RFC ist das Salz auf eine Folge von Nullen gesetzt. Die Länge der Zeichenfolge entspricht der Länge der Ausgabe der Hash-Funktion, die 48 Byte für SHA-384 und 32 Byte für beträgt. SHA-256
-
Das Eingabematerial ist der Datenschlüssel aus dem Schlüsselbund oder dem Hauptschlüsselanbieter.
-
-
Für den Expansionsschritt:
-
Der pseudozufällige Eingabeschlüssel ist die Ausgabe aus dem Extraktionsschritt.
-
Die Eingabeinformationen sind eine Verkettung der Algorithmus-ID und der Nachrichten-ID (in dieser Reihenfolge).
-
Die Länge des Ausgabe-Keying-Materials entspricht der Länge des Datenschlüssels. Diese Ausgabe wird als Datenverschlüsselungsschlüssel im Verschlüsselungsalgorithmus verwendet.
-
Algorithmus-Suiten mit Schlüsselbindung (Algorithmus-ID
04xxund05xx)-
Die verwendete Hash-Funktion ist SHA-512.
-
Für den Extraktionsschritt:
-
Das Salz ist ein kryptografischer 256-Bit-Zufallswert. Im Nachrichtenformat Version 2 (0x02) wird dieser Wert im Feld gespeichert.
MessageID -
Bei der ersten Eingabe handelt es sich um den Datenschlüssel aus dem Schlüsselbund oder dem Hauptschlüsselanbieter.
-
Für den Expansionsschritt:
Der pseudozufällige Eingabeschlüssel ist die Ausgabe aus dem Extraktionsschritt.
-
Die Schlüsselbezeichnung besteht aus den UTF-8-encoded Bytes der
DERIVEKEYZeichenfolge in Big-Endian-Byte-Reihenfolge. -
Die Eingabeinformationen sind eine Verkettung der Algorithmus-ID und der Schlüsselbezeichnung (in dieser Reihenfolge).
-
Die Länge des Ausgabe-Keying-Materials entspricht der Länge des Datenschlüssels. Diese Ausgabe wird als Datenverschlüsselungsschlüssel im Verschlüsselungsalgorithmus verwendet.
-
- Version im Nachrichtenformat
-
Die Version des Nachrichtenformats, das mit der Algorithmussuite verwendet wird. Details hierzu finden Sie unter Nachrichtenformat – Referenz.
- Signatur-Algorithmus
-
Der Signaturalgorithmus, der verwendet wird, um eine digitale Signatur über dem Chiffretext-Header und dem Hauptteil zu generieren. Der AWS Encryption SDK verwendet den Elliptic Curve Digital Signature Algorithm (ECDSA) mit den folgenden Besonderheiten:
-
Die verwendete elliptische Kurve ist entweder die P-256 Oder-Kurve, wie in der P-384 Algorithmus-ID angegeben. Diese Kurven sind in Digital Signature Standard (DSS) (FIPS PUB 186-4)
definiert. -
Die verwendete Hash-Funktion ist SHA-384 (mit der P-384 Kurve) oder SHA-256 (mit der P-256 Kurve).
-