Aller au contenu principal

5.3 Secret Export (Exportation de secrets)

5.3 Secret Export (Exportation de secrets)

HPKE fournit une interface pour exporter des secrets depuis le contexte de chiffrement en utilisant une fonction pseudoaléatoire à longueur variable (PRF), similaire à l'interface d'exportation TLS 1.3 (voir [RFC8446], Section 7.5). Cette interface prend en entrée une chaîne de contexte exporter_context et une longueur souhaitée L en octets, et produit un secret dérivé du secret d'exportation interne en utilisant la fonction KDF Expand correspondante. Pour les KDF définis dans cette spécification, L a une valeur maximale de 255*Nh. Les spécifications futures qui définissent de nouveaux KDF DOIVENT spécifier une limite pour L.

Le champ exporter_context a une longueur maximale qui dépend du KDF lui-même, de la définition de LabeledExpand(), et des étiquettes constantes utilisées avec eux. Voir la Section 7.2.1 pour les limites précises sur cette longueur.

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

Les applications qui n'utilisent pas l'API de chiffrement de la Section 5.2 peuvent utiliser l'ID AEAD réservé à l'exportation uniquement 0xFFFF lors du calcul de la planification de clés. De telles applications peuvent éviter de calculer les valeurs key et base_nonce dans la planification de clés, car elles ne sont pas utilisées par l'interface Export décrite ci-dessus.