Passa al contenuto principale

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: