mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-19 06:09:55 +01:00
Blog signature must cover the client ID
13
BSP.markdown
13
BSP.markdown
@@ -16,15 +16,16 @@ BSP uses a cryptographic hash function, H(m), with an output length of HASH_LEN
|
|||||||
|
|
||||||
> Implementation note: We propose to use BLAKE2s as the hash function, which gives HASH_LEN = 32.
|
> Implementation note: We propose to use BLAKE2s as the hash function, which gives HASH_LEN = 32.
|
||||||
|
|
||||||
### Channel identifiers
|
### Client identifiers
|
||||||
|
|
||||||
Each channel has a unique identifier HASH_LEN bytes long. This identifier is supplied by the client and is not interpreted by BSP, but to prevent collisions between clients, BSP specifies how channel identifiers may be generated. The channel identifier may be random:
|
Each client has a unique identifier HASH_LEN bytes long:
|
||||||
|
|
||||||
* `channel_id = R(HASH_LEN)`
|
|
||||||
|
|
||||||
Alternatively, the channel identifier may be the hash of a random client identifier HASH_LEN bytes long and a client data structure describing the channel:
|
|
||||||
|
|
||||||
* `client_id = R(HASH_LEN)`
|
* `client_id = R(HASH_LEN)`
|
||||||
|
|
||||||
|
### Channel identifiers
|
||||||
|
|
||||||
|
Each channel has a unique identifier HASH_LEN bytes long, which is the hash of the client identifier and a client data structure describing the channel:
|
||||||
|
|
||||||
* `channel_id = HASH("CHANNEL_ID", client_id, client_data_structure)`
|
* `channel_id = HASH("CHANNEL_ID", client_id, client_data_structure)`
|
||||||
|
|
||||||
Including the client identifier in the hash prevents collisions between clients that use similar data structures.
|
Including the client identifier in the hash prevents collisions between clients that use similar data structures.
|
||||||
|
|||||||
Reference in New Issue
Block a user