5.1.1 Encryption to a Public Key (Cifratura verso una chiave pubblica)
5.1.1 Encryption to a Public Key (Cifratura verso una chiave pubblica)
La funzione più basilare di uno schema HPKE è abilitare la cifratura verso il possessore di una data chiave privata KEM. Le procedure SetupBaseS() e SetupBaseR() stabiliscono contesti che possono essere utilizzati rispettivamente per cifrare e decifrare per una data chiave privata.
Il segreto condiviso KEM è combinato tramite il KDF con informazioni che descrivono lo scambio di chiavi, così come il parametro info esplicito fornito dal chiamante.
Il parametro pkR è una chiave pubblica, ed enc è un segreto condiviso KEM incapsulato.
def SetupBaseS(pkR, info):
shared_secret, enc = Encap(pkR)
return enc, KeyScheduleS(mode_base, shared_secret, info,
default_psk, default_psk_id)
def SetupBaseR(enc, skR, info):
shared_secret = Decap(enc, skR)
return KeyScheduleR(mode_base, shared_secret, info,
default_psk, default_psk_id)