Appendix A. Test Vectors (Vettori di test)
Appendix A. Test Vectors (Vettori di test)
Questa sezione fornisce vettori di test per HPKE utilizzando tutte le combinazioni di modalità, KEM, KDF e AEAD come elencate nelle sezioni 9.1, 9.2 e 9.3. Ogni sottosezione seguente contiene vettori di test per una singola combinazione. Per ciascuna combinazione, il vettore di test contiene i seguenti valori:
- mode: La modalità HPKE
- kem_id: L'identificatore KEM
- kdf_id: L'identificatore KDF
- aead_id: L'identificatore AEAD
- info: Informazioni fornite dall'applicazione
- ikmE: Materiale di chiave di input per la coppia di chiavi effimera
- pkEm: Chiave pubblica effimera incapsulata
- skEm: Chiave segreta effimera
- ikmR: Materiale di chiave di input per la coppia di chiavi del destinatario
- pkRm: Chiave pubblica del destinatario
- skRm: Chiave segreta del destinatario
- ikmS: Materiale di chiave di input per la coppia di chiavi del mittente (solo modalità Auth e AuthPSK)
- pkSm: Chiave pubblica del mittente (solo modalità Auth e AuthPSK)
- skSm: Chiave segreta del mittente (solo modalità Auth e AuthPSK)
- psk: Chiave precondivisa (solo modalità PSK e AuthPSK)
- psk_id: Identificatore della chiave precondivisa (solo modalità PSK e AuthPSK)
- enc: Chiave incapsulata
- shared_secret: Segreto condiviso calcolato durante l'operazione KEM
- key_schedule_context: Contesto utilizzato nella pianificazione delle chiavi
- secret: Segreto derivato durante la pianificazione delle chiavi
- key: Chiave di cifratura
- base_nonce: Valore nonce base
- exporter_secret: Segreto per l'interfaccia di esportazione
Per i vettori di test di cifratura, ciascuno include:
- sequence number: Numero di sequenza per la cifratura
- pt: Testo in chiaro (codificato esadecimale)
- aad: Dati autenticati aggiuntivi (codificati esadecimali)
- nonce: Nonce utilizzato per la cifratura
- ct: Testo cifrato (codificato esadecimale)
Per i valori esportati, ciascuno include:
- exporter_context: Contesto per l'operazione di esportazione (codificato esadecimale)
- L: Lunghezza del valore esportato in byte
- exported_value: Il valore esportato (codificato esadecimale)
Tutti i valori sono codificati in formato esadecimale salvo diversa indicazione.
Le sottosezioni sono organizzate come segue:
- 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