lsd0007

LSD0007: GNUnet communicators
Log | Files | Refs

commit b5671012094ca01bcea022bcc13b0ff470dc6fa8
parent 02885526b4353ecd96ee7990a2f0dedc7612ebca
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Mon, 31 Jul 2023 08:27:39 +0200

More wire formats

Diffstat:
Mdraft-gnunet-communicators.xml | 75++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 66 insertions(+), 9 deletions(-)

diff --git a/draft-gnunet-communicators.xml b/draft-gnunet-communicators.xml @@ -280,14 +280,15 @@ DeriveKID(MSK,SEQ): with each successive encryption (sent/received message). </t> </section> - <section anchor="udp_messages" numbered="true" toc="default"> - <name>Message formats</name><t> - All metadata for headers is chosen such that they are indistinguishable from random. - For the use of (ephemeral) ECC public key material, this probably requires the use of additional randomization - techniques such as Elligator (TODO). - There are three distinct message types that are sent and received by UDP communciators: KX, BOX, BROADCAST. - In any case, the common header is 32 + 16 bytes in length. - </t> + <section anchor="udp_kx" numbered="true" toc="default"> + <name>KX Header</name> + <t> + All metadata for headers is chosen such that they are indistinguishable from random. + For the use of (ephemeral) ECC public key material, this probably requires the use of additional randomization + techniques such as Elligator (TODO). + There are three distinct message types that are sent and received by UDP communciators: KX, BOX, BROADCAST. + In any case, the common header is 32 + 16 bytes in length. + </t> <figure anchor="figure_udp_initialkx" title="The binary representation of the initial key exchange packet."> <artwork name="" type="" align="left" alt=""><![CDATA[ 0 8 16 24 @@ -462,6 +463,9 @@ DeriveKID(MSK,SEQ): <t> TODO UDPAck payload. TODO UDPRekey payload. </t> + </section> + <section anchor="udp_box" numbered="true" toc="default"> + <name>BOX Header</name> <figure anchor="figure_udp_box" title="The binary representation of the UDP Box."> <artwork name="" type="" align="left" alt=""><![CDATA[ 0 8 16 24 @@ -512,7 +516,60 @@ DeriveKID(MSK,SEQ): FIXME: UDPAck, Broadcast </t> </section> - </section> + <section anchor="udp_ack" numbered="true" toc="default"> + <name>Ack metadata</name> + <figure anchor="figure_udp_ack" title="The wire format of an ACK header."> + <artwork name="" type="" align="left" alt=""><![CDATA[ +0 16 ++-----+-----+-----+-----+-----+-----+-----+-----+ +| SIZE | TYPE (0x0X) | ++-----+-----+-----+-----+-----+-----+-----+-----+ +| SEQ ACK | ++-----+-----+-----+-----+-----+-----+-----+-----+ +| MSK HASH (fromerly CMAC) | +| | +| | +| | +| | +| | +| | +| | +| | +| | +| | +| | +| | +| | +| | +| | ++-----+-----+-----+-----+-----+-----+-----+-----+ + ]]></artwork> + </figure> + </section> + <section anchor="udp_rekey" numbered="true" toc="default"> + <name>Rekey metadata</name> + <figure anchor="figure_udp_rekey" title="The wire format of a REKEY header."> + <artwork name="" type="" align="left" alt=""><![CDATA[ +0 16 ++-----+-----+-----+-----+-----+-----+-----+-----+ +| SIZE | TYPE (0x0X) | ++-----+-----+-----+-----+-----+-----+-----+-----+ +| EPHEMERAL PUBLIC KEY | +| | +| | +| | +| | +| | +| | +| | ++-----+-----+-----+-----+-----+-----+-----+-----+ + ]]></artwork> + </figure> + </section> + <section anchor="udp_bc" numbered="true" toc="default"> + <name>BROADCAST Message</name> + </section> + </section> <section anchor="tcp_comm" numbered="true" toc="default"> <name>TCP communicators</name> <t>