5.1.1 Encryption to a Public Key (Verschlüsselung an einen öffentlichen Schlüssel)
5.1.1 Encryption to a Public Key (Verschlüsselung an einen öffentlichen Schlüssel)
Die grundlegendste Funktion eines HPKE-Schemas besteht darin, die Verschlüsselung an den Inhaber eines gegebenen privaten KEM-Schlüssels zu ermöglichen. Die Prozeduren SetupBaseS() und SetupBaseR() etablieren Kontexte, die für einen gegebenen privaten Schlüssel jeweils zum Verschlüsseln und Entschlüsseln verwendet werden können.
Das gemeinsame KEM-Geheimnis wird über den KDF mit Informationen kombiniert, die den Schlüsselaustausch beschreiben, sowie mit dem expliziten info-Parameter, der vom Aufrufer bereitgestellt wird.
Der Parameter pkR ist ein öffentlicher Schlüssel, und enc ist ein gekapseltes gemeinsames KEM-Geheimnis.
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)