Passa al contenuto principale

5.3 Secret Export (Esportazione di segreti)

5.3 Secret Export (Esportazione di segreti)

HPKE fornisce un'interfaccia per esportare segreti dal contesto di cifratura utilizzando una funzione pseudorandomica a lunghezza variabile (PRF), simile all'interfaccia di esportazione TLS 1.3 (vedere [RFC8446], Sezione 7.5). Questa interfaccia prende come input una stringa di contesto exporter_context e una lunghezza desiderata L in byte, e produce un segreto derivato dal segreto di esportazione interno utilizzando la funzione KDF Expand corrispondente. Per i KDF definiti in questa specifica, L ha un valore massimo di 255*Nh. Le specifiche future che definiscono nuovi KDF DEVONO specificare un limite per L.

Il campo exporter_context ha una lunghezza massima che dipende dal KDF stesso, dalla definizione di LabeledExpand() e dalle etichette costanti utilizzate insieme ad esse. Vedere la Sezione 7.2.1 per i limiti precisi su questa lunghezza.

def Context.Export(exporter_context, L):
return LabeledExpand(self.exporter_secret, "sec",
exporter_context, L)

Le applicazioni che non utilizzano l'API di cifratura nella Sezione 5.2 possono utilizzare l'ID AEAD solo per esportazione 0xFFFF quando calcolano la pianificazione di chiavi. Tali applicazioni possono evitare di calcolare i valori key e base_nonce nella pianificazione di chiavi, poiché non sono utilizzati dall'interfaccia Export descritta sopra.