Appendix A. Test Vectors (Testvektoren)
Appendix A. Test Vectors (Testvektoren)
Dieser Abschnitt stellt Testvektoren für HPKE unter Verwendung aller Kombinationen von Modus, KEM, KDF und AEAD bereit, wie in den Abschnitten 9.1, 9.2 und 9.3 aufgeführt. Jeder Unterabschnitt unten enthält Testvektoren für eine einzelne Kombination. Für jede Kombination enthält der Testvektor die folgenden Werte:
- mode: Der HPKE-Modus
- kem_id: Die KEM-Kennung
- kdf_id: Die KDF-Kennung
- aead_id: Die AEAD-Kennung
- info: Von der Anwendung bereitgestellte Informationen
- ikmE: Eingabeschlüsselmaterial für das ephemere Schlüsselpaar
- pkEm: Gekapselter ephemerer öffentlicher Schlüssel
- skEm: Ephemerer geheimer Schlüssel
- ikmR: Eingabeschlüsselmaterial für das Empfängerschlüsselpaar
- pkRm: Öffentlicher Schlüssel des Empfängers
- skRm: Geheimer Schlüssel des Empfängers
- ikmS: Eingabeschlüsselmaterial für das Absenderschlüsselpaar (nur Auth- und AuthPSK-Modi)
- pkSm: Öffentlicher Schlüssel des Absenders (nur Auth- und AuthPSK-Modi)
- skSm: Geheimer Schlüssel des Absenders (nur Auth- und AuthPSK-Modi)
- psk: Vorverteilter Schlüssel (nur PSK- und AuthPSK-Modi)
- psk_id: Kennung des vorverteilten Schlüssels (nur PSK- und AuthPSK-Modi)
- enc: Gekapselter Schlüssel
- shared_secret: Während der KEM-Operation berechnetes geteiltes Geheimnis
- key_schedule_context: Im Schlüsselplan verwendeter Kontext
- secret: Während des Schlüsselplans abgeleitetes Geheimnis
- key: Verschlüsselungsschlüssel
- base_nonce: Basis-Nonce-Wert
- exporter_secret: Geheimnis für die Exporterschnittstelle
Für Verschlüsselungstestvektoren enthält jeder:
- sequence number: Sequenznummer für die Verschlüsselung
- pt: Klartext (hexadezimal kodiert)
- aad: Zusätzliche authentifizierte Daten (hexadezimal kodiert)
- nonce: Für die Verschlüsselung verwendete Nonce
- ct: Chiffretext (hexadezimal kodiert)
Für exportierte Werte enthält jeder:
- exporter_context: Kontext für die Exportoperation (hexadezimal kodiert)
- L: Länge des exportierten Werts in Bytes
- exported_value: Der exportierte Wert (hexadezimal kodiert)
Alle Werte sind im Hexadezimalformat kodiert, sofern nicht anders angegeben.
Die Unterabschnitte sind wie folgt organisiert:
- A.1. DHKEM(X25519, HKDF-SHA256), HKDF-SHA256, AES-128-GCM
- A.2. DHKEM(X25519, HKDF-SHA256), HKDF-SHA256, ChaCha20Poly1305
- A.3. DHKEM(P-256, HKDF-SHA256), HKDF-SHA256, AES-128-GCM
- A.4. DHKEM(P-256, HKDF-SHA256), HKDF-SHA512, AES-128-GCM
- A.5. DHKEM(P-256, HKDF-SHA256), HKDF-SHA256, ChaCha20Poly1305
- A.6. DHKEM(P-521, HKDF-SHA512), HKDF-SHA512, AES-256-GCM
- A.7. DHKEM(X25519, HKDF-SHA256), HKDF-SHA256, Export-Only AEAD