Appendix A. Test Vectors (Vecteurs de test)
Appendix A. Test Vectors (Vecteurs de test)
Cette section fournit des vecteurs de test pour HPKE en utilisant toutes les combinaisons de mode, KEM, KDF et AEAD telles que listées dans les sections 9.1, 9.2 et 9.3. Chaque sous-section ci-dessous contient des vecteurs de test pour une seule combinaison. Pour chaque combinaison, le vecteur de test contient les valeurs suivantes:
- mode: Le mode HPKE
- kem_id: L'identifiant KEM
- kdf_id: L'identifiant KDF
- aead_id: L'identifiant AEAD
- info: Information fournie par l'application
- ikmE: Matériel de clé d'entrée pour la paire de clés éphémère
- pkEm: Clé publique éphémère encapsulée
- skEm: Clé secrète éphémère
- ikmR: Matériel de clé d'entrée pour la paire de clés du destinataire
- pkRm: Clé publique du destinataire
- skRm: Clé secrète du destinataire
- ikmS: Matériel de clé d'entrée pour la paire de clés de l'expéditeur (modes Auth et AuthPSK uniquement)
- pkSm: Clé publique de l'expéditeur (modes Auth et AuthPSK uniquement)
- skSm: Clé secrète de l'expéditeur (modes Auth et AuthPSK uniquement)
- psk: Clé pré-partagée (modes PSK et AuthPSK uniquement)
- psk_id: Identifiant de clé pré-partagée (modes PSK et AuthPSK uniquement)
- enc: Clé encapsulée
- shared_secret: Secret partagé calculé pendant l'opération KEM
- key_schedule_context: Contexte utilisé dans le calendrier de clés
- secret: Secret dérivé pendant le calendrier de clés
- key: Clé de chiffrement
- base_nonce: Valeur de nonce de base
- exporter_secret: Secret pour l'interface exportateur
Pour les vecteurs de test de chiffrement, chacun inclut:
- sequence number: Numéro de séquence pour le chiffrement
- pt: Texte clair (encodé en hexadécimal)
- aad: Données authentifiées supplémentaires (encodées en hexadécimal)
- nonce: Nonce utilisé pour le chiffrement
- ct: Texte chiffré (encodé en hexadécimal)
Pour les valeurs exportées, chacune inclut:
- exporter_context: Contexte pour l'opération d'exportation (encodé en hexadécimal)
- L: Longueur de la valeur exportée en octets
- exported_value: La valeur exportée (encodée en hexadécimal)
Toutes les valeurs sont encodées au format hexadécimal sauf indication contraire.
Les sous-sections sont organisées comme suit:
- 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