Compute the output of the LabeledExtract function as defined in RFC9180.
public static byte[] LabeledExtract( byte[] salt, string label, byte[] ikm, Hpke.CurveName curveName, Hpke.AeadAlg aeadAlg = Hpke.AeadAlg.None )
Public Shared Function LabeledExtract ( salt As Byte(), label As String, ikm As Byte(), curveName As Hpke.CurveName, Optional aeadAlg As Hpke.AeadAlg = Hpke.AeadAlg.None ) As Byte()
// Used inside KEM string ikmhex = "7268600d403fce431561aef583ee1613527cff655c1343f29812e66706df3234"; Console.WriteLine(Cnv.ToHex(Hpke.LabeledExtract(null, "dkp_prk", Cnv.FromHex(ikmhex), Hpke.CurveName.X25519))); // 7B8BFE1D6F3D0CB45C585E133299C64AC998BF46CAF2DC13BA874F23413EC23A // Used outside KEM Console.WriteLine(Cnv.ToHex(Hpke.LabeledExtract(null, "psk_id_hash", null, Hpke.CurveName.X25519, Hpke.AeadAlg.Aes_128_Gcm))); // 725611C9D98C07C03F60095CD32D400D8347D45ED67097BBAD50FC56DA742D07
VB6/C equivalent: HPKE_LabeledExtract