commit f69117c621243da005d1c1474e5aa6002680c846
parent be5ca2ad88b9e91c62e59afef3c3a810442d1bd8
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date: Tue, 18 Jun 2024 16:27:53 +0200
fix kem
Diffstat:
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/draft-gnunet-communicators.xml b/draft-gnunet-communicators.xml
@@ -462,15 +462,23 @@ KDF(A,Z):
We can then define the UDP communicator’s key exchange for the first message as a KEM:
</t>
<artwork anchor="encaps" name="" type="" align="left" alt=""><![CDATA[
+EncapsElligator(REC_ID):
+ A,MSK := Encaps(REC_ID)
+ REPR := Enc(A, rand)
+ return REPR, MSK
+
Encaps(REC_ID):
(EPH_SK, EPH_PUB) := KeyGenX25519()
- Z := X25519(EPH_SK, EdToCurve25519(REC_ID)
+ Z := X25519(EPH_SK, EdToCurve25519(REC_ID))
MSK := KDF(EPH_PUB,Z)
- REPR := Enc(EPH_PUB, rand)
- return REPR, MSK
+ return EPH_PUB, MSK
]]></artwork>
<artwork anchor="decaps" name="" type="" align="left" alt=""><![CDATA[
-Decaps(REPR):
+DecapsElligator(REC_SK, REPR):
+ EPH_PUB := Dec(REPR)
+ return Decaps(REC_SK, EPH_PUB)
+
+Decaps(REC_SK, REPR):
EPH_PUB := Dec(REPR)
Z := X25519(REC_SK, EPH_PUB)
MSK := KDF(EPH_PUB,Z)