1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// Copyright (c) Silence Laboratories Pte. Ltd. All Rights Reserved.
// This software is licensed under the Silence Laboratories License Agreement.
//! Constants for the Distributed Signature Generation (DSG) Protocol
//!
//! This module defines various constants used throughout the DSG protocol,
//! including message tags and cryptographic labels. These constants ensure
//! consistent identification and routing of protocol messages.
use MessageTag;
use Label;
use crateVERSION;
/// Protocol label for the Distributed Signature Generation protocol
///
/// This label is used to identify and namespace all messages and cryptographic
/// operations related to the DSG protocol.
pub const DSG_LABEL: Label = new;
/// Label for cryptographic commitments in the protocol
///
/// This label is used to identify commitment operations, ensuring they are
/// properly namespaced and cannot be confused with other protocol operations.
pub const COMMITMENT_LABEL: Label = new;
/// Label for digest operations in the protocol
///
/// This label is used to identify digest operations, ensuring they are
/// properly namespaced and cannot be confused with other protocol operations.
pub const DIGEST_I_LABEL: Label = new;
/// Label for Pairwise Multiplicative-to-Additive (MtA) operations
///
/// This label is used to identify MtA operations between pairs of participants,
/// ensuring they are properly namespaced and cannot be confused with other
/// protocol operations.
pub const PAIRWISE_MTA_LABEL: Label = new;
/// Label for Pairwise Randomization operations
///
/// This label is used to identify randomization operations between pairs of
/// participants, ensuring they are properly namespaced and cannot be confused
/// with other protocol operations.
pub const PAIRWISE_RANDOMIZATION_LABEL: Label = new;
/// Message tag for the first round of broadcast messages
///
/// This tag identifies messages sent during the first round of the protocol,
/// where participants broadcast their initial commitments.
pub const DSG_MSG_R1: MessageTag = tag;
/// Message tag for the second round of peer-to-peer messages
///
/// This tag identifies messages sent during the second round of the protocol,
/// where participants exchange information in a peer-to-peer manner.
pub const DSG_MSG_R2: MessageTag = tag;
/// Message tag for the third round of peer-to-peer messages
///
/// This tag identifies messages sent during the third round of the protocol,
/// where participants exchange additional information in a peer-to-peer manner.
pub const DSG_MSG_R3: MessageTag = tag;
/// Message tag for the fourth round of broadcast messages
///
/// This tag identifies messages sent during the fourth round of the protocol,
/// where participants broadcast their final contributions to the signature.
pub const DSG_MSG_R4: MessageTag = tag;