GNUnet Signature Purposes#

GNUnet signature purpose registry.

Every time a signature is created or verified with libgnunetutil’s signature functions, the signer must provide a “purpose” that provides the context for the signature. By signing over the “purpose”, it is not possible for an adversary to use a signature made in one context in another context.

Policy#

Developers working on GNUnet or packages based on GNUnet should feel free to extend this registry. Entries may be deleted if no code using them is still expected to be in production anywhere.

Updating the name of the package or subsystem is allowed provided that the code using the signature is being moved, as those fields are merely informational or used for code generation.

Entries#

Name

TEST

Number

0

Subsystem

GNUnet

Comment

Test signature, not valid for anything other than writing a test. (Note that the signature verification code will accept this value).

Name

TRANSPORT_PONG_OWN

Number

1

Subsystem

GNUnet-TRANSPORT

Comment

Signature for confirming that this peer uses a particular address.

Name

TRANSPORT_DISCONNECT

Number

2

Subsystem

GNUnet-TRANSPORT

Comment

Signature for confirming that this peer intends to disconnect.

Name

GNS_REVOCATION

Number

3

Subsystem

GNS

Comment

GNS zone key revocation

Name

NAMESPACE_ADVERTISEMENT

Number

4

Subsystem

GNUnet-FS

Comment

Signature for a namespace/pseudonym advertisement (by the namespace owner).

Name

PEER_PLACEMENT

Number

5

Subsystem

GNUnet-FS

Comment

Signature by which a peer affirms that it is providing a certain bit of content for use in LOCation URIs.

Name

DHT_HOP

Number

6

Subsystem

GNUnet-DHT

Comment

Signature by which a peer affirms that it forwarded a message in the DHT.

Name

HELLO

Number

7

Subsystem

GNUnet-HELLO

Comment

Signature by which a peer affirms its address.

Name

DNS_RECORD

Number

11

Subsystem

GNUnet-DNS+Exit

Comment

Signature on a GNUNET_DNS_Advertisement.

Name

CHAT_MESSAGE

Number

12

Subsystem

GNUnet-MESSENGER

Comment

Signature of a chat message.

Name

CHAT_RECEIPT

Number

13

Subsystem

GNUnet-MESSENGER

Comment

Signature of confirmation receipt for a chat message.

Name

NSE_SEND

Number

14

Subsystem

GNUnet-NSE

Comment

Signature of a network size estimate message.

Name

GNS_RECORD_SIGN

Number

15

Subsystem

GNS

Comment

GNS record set signature

Name

SET_ECC_KEY

Number

16

Subsystem

GNUnet-CORE

Comment

Purpose is to set a session key.

Name

FS_UBLOCK

Number

17

Subsystem

GNUnet-FS

Comment

UBlock Signature, done using DSS, not ECC

Name

REGEX_ACCEPT

Number

18

Subsystem

GNUnet-REGEX

Comment

Accept state in regex DFA. Peer affirms that it offers the matching service.

Name

CONVERSATION_RING

Number

20

Subsystem

GNUnet-CONVERSATION

Comment

Signature of a conversation ring.

Name

SECRETSHARING_DKG1

Number

21

Subsystem

GNUnet-SECRETSHARING

Comment

Signature for the first round of distributed key generation.

Name

SECRETSHARING_DKG2

Number

22

Subsystem

GNUnet-SECRETSHARING

Comment

Signature for the second round of distributed key generation.

Name

SECRETSHARING_DECRYPTION

Number

23

Subsystem

GNUnet-SECRETSHARING

Comment

Signature for the cooperative decryption.

Name

RECLAIM_CODE_SIGN

Number

27

Subsystem

Reclaim

Comment

Signature for a GNUid Ticket

Name

DELEGATE

Number

28

Subsystem

Reclaim

Comment

Signature for a GNUnet credential

Name

TRANSPORT_ADDRESS

Number

29

Subsystem

GNUnet-TRANSPORT

Comment

Signature by a peer affirming that this is one of its addresses for the given time period.

Name

TRANSPORT_EPHEMERAL

Number

30

Subsystem

GNUnet-TRANSPORT

Comment

Signature by a peer affirming that the given ephemeral key is currently in use by that peer’s transport service.

Name

COMMUNICATOR_TCP_HANDSHAKE

Number

31

Subsystem

GNUnet-TRANSPORT-TCP

Comment

Signature used by TCP communicator handshake.

Name

COMMUNICATOR_TCP_REKEY

Number

32

Subsystem

GNUnet-TRANSPORT-TCP

Comment

Signature used by TCP communicator rekey.

Name

COMMUNICATOR_UDP_HANDSHAKE

Number

33

Subsystem

GNUnet-TRANSPORT-UDP

Comment

Signature used by UDP communicator handshake.

Name

COMMUNICATOR_UDP_BROADCAST

Number

34

Subsystem

GNUnet-TRANSPORT-UDP

Comment

Signature used by UDP broadcasts.

Name

TRANSPORT_CHALLENGE

Number

35

Subsystem

GNUnet-TRANSPORT

Comment

Signature by a peer affirming that it received a challenge (and stating how long it expects the address on which the challenge was received to remain valid).

Name

TRANSPORT_DV_HOP

Number

36

Subsystem

GNUnet-TRANSPORT

Comment

Signature by a peer affirming that it is on a DV path.

Name

TRANSPORT_DV_INITIATOR

Number

37

Subsystem

GNUnet-TRANSPORT

Comment

Signature by a peer affirming that it originated the DV path.

Name

CADET_CONNECTION_INITIATOR

Number

38

Subsystem

GNUnet-CADET

Comment

Signature by a peer that like to create a connection.

Name

COMMUNICATOR_TCP_HANDSHAKE_ACK

Number

39

Subsystem

GNUnet-TRANSPORT-TCP

Comment

Signature by a peer sending back the nonce received at initial handshake.