lsd0004

LSD0004: R5N Distributed Hash Table
Log | Files | Refs

commit c89072283852de70927170f8606e00a9e610ab57
parent 6fe2d80590676a65636945d7fd5dea9f3ce27e6b
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Wed, 12 Jan 2022 23:34:53 +0100

hello signature

Diffstat:
Mdraft-schanzen-r5n.xml | 112+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------
1 file changed, 92 insertions(+), 20 deletions(-)

diff --git a/draft-schanzen-r5n.xml b/draft-schanzen-r5n.xml @@ -1300,26 +1300,26 @@ Connectivity | |Underlay| |Underlay| <figure anchor="figure_hello"> <artwork name="" type="" align="left" alt=""><![CDATA[ 0 8 16 24 32 40 48 56 -+---+-----+-----+-----+-----+-----+-----+-----+ -| PEER-ID | -| (32 byte) | -| | -| | -+---+-----+-----+-----+-----+-----+-----+-----+ -| SIGNATURE | -| (64 byte) | -| | -| | -| | -| | -| | -| | -+---+-----+-----+-----+-----+-----+-----+-----+ -| EXPIRATION | -+---+-----+-----+-----+-----+-----+-----+-----+ -/ ADDRESSES / -/ (variable length) / -+---+-----+-----+-----+-----+-----+-----+-----+ ++-----+-----+-----+-----+-----+-----+-----+-----+ +| PEER-ID | +| (32 byte) | +| | +| | ++-----+-----+-----+-----+-----+-----+-----+-----+ +| SIGNATURE | +| (64 byte) | +| | +| | +| | +| | +| | +| | ++-----+-----+-----+-----+-----+-----+-----+-----+ +| EXPIRATION | ++-----+-----+-----+-----+-----+-----+-----+-----+ +/ ADDRESSES / +/ (variable length) / ++-----+-----+-----+-----+-----+-----+-----+-----+ ]]></artwork> </figure> <dl> @@ -1327,6 +1327,16 @@ Connectivity | |Underlay| |Underlay| <dd> is the Peer-ID of the node which has generated this HELLO. </dd> + <dt>SIGNATURE</dt> + <dd> + is the signature of the HELLO. + </dd> + <dt>EXPIRATION</dt> + <dd> + denotes the absolute 64-bit expiration date of the HELLO. + In microseconds since midnight (0 hour), January 1, 1970 in network + byte order. + </dd> <dt>ADDRESSES</dt> <dd> is a list of UTF-8 <xref target="RFC3629"/> URIs @@ -1336,6 +1346,68 @@ Connectivity | |Underlay| |Underlay| </dd> </dl> <t> + The SIGNATURE covers a 64-bit pseudo header + conceptually prefixed to the block. The pseudo header includes + the block length, number of addresses and signature purpose. + The wire format is illustrated + in <xref target="figure_hellowithpseudo"/>. + </t> + <figure anchor="figure_hellowithpseudo"> + <artwork name="" type="" align="left" alt=""><![CDATA[ +0 8 16 24 32 40 48 56 ++-----+-----+-----+-----+-----+-----+-----+-----+ +| SIZE (0x30) | PURPOSE (0x03) | ++-----+-----+-----+-----+-----+-----+-----+-----+ +| MSIZE | MTYPE | 0x00 | NADDR | ++-----+-----+-----+-----+-----+-----+-----+-----+ +| PEER-ID | +| (32 byte) | +| | +| | ++-----+-----+-----+-----+-----+-----+-----+-----+ +| SIGNATURE | +| (64 byte) | +| | +| | +| | +| | +| | +| | ++-----+-----+-----+-----+-----+-----+-----+-----+ +| EXPIRATION | ++-----+-----+-----+-----+-----+-----+-----+-----+ +/ ADDRESSES / +/ (variable length) / ++-----+-----+-----+-----+-----+-----+-----+-----+ + ]]></artwork> + </figure> + <t>The Wire Format of the HELLO for Signing.</t> + <dl> + <dt>SIZE</dt> + <dd> + A 32-bit value containing the length of the signed data in bytes + in network byte order. + </dd> + <dt>PURPOSE</dt> + <dd> + A 32-bit signature purpose flag. This field MUST be 3 (in network + byte order). + </dd> + <dt>MSIZE</dt> + <dd> + The 16-bit message size (FIXME Why). + </dd> + <dt>MTYPE</dt> + <dd> + the 16-bit message type (FIXME Why). + </dd> + <dt>NADDR</dt> + <dd> + the number of addresses in the block. In network byte order. + </dd> + </dl> + + <t> A HELLO reply block MAY be empty. Otherwise, it contains the HELLO of a node. </t>