Passa al contenuto principale

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)