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: