StaticcreateInternalCreate a new Identifier from a scalar. For internal use only.
The new Identifier
StaticderiveDerive an Identifier from an arbitrary byte string.
This feature is not part of the specification and is just a convenient way of creating identifiers.
Each possible byte string will map to a uniformly random identifier.
The ciphersuite to use
The byte string to derive from
The derived Identifier
Serialize the identifier using the ciphersuite encoding.
The serialized identifier as bytes
StaticdeserializeDeserialize an Identifier from a serialized buffer.
The ciphersuite to use for deserialization
The serialized bytes
The deserialized Identifier
StaticfromCreate an Identifier from a 16-bit unsigned integer.
Uses the classic left-to-right double-and-add algorithm that skips the first bit 1
(since identifiers are never zero, there is always a bit 1), thus sum starts with 1 too.
The ciphersuite to use
The unsigned 16-bit integer (must not be zero)
The new Identifier
Check equality with another Identifier.
The other Identifier to compare with
True if the identifiers are equal
Compare this Identifier with another for ordering.
The comparison is done by serializing both scalars in little-endian order and comparing them lexicographically in big-endian (reversed).
The other Identifier to compare with
-1 if this < other, 0 if equal, 1 if this > other
Compute a hash code for the Identifier.
A numeric hash code
Convert to a debug string representation.
A debug string in the format "Identifier(hex)"
A FROST participant identifier.
The identifier is a field element in the scalar field that the secret polynomial is defined over, corresponding to some x-coordinate for a polynomial f(x) = y. MUST NOT be zero in the field, as f(0) = the shared secret.