The ciphersuite type that defines the cryptographic parameters
StaticgenerateGenerate a new signing key using random bytes from the provided RNG.
The ciphersuite to use for key generation
A cryptographically secure random number generator
A new SigningKey with a random non-zero scalar
StaticfromCreates a SigningKey from a scalar value.
A new SigningKey wrapping the scalar
StaticdeserializeDeserialize a SigningKey from bytes.
The ciphersuite to use for deserialization
The serialized signing key bytes
The deserialized SigningKey
Serialize the SigningKey to bytes.
The serialized signing key as a byte array
Create a signature for a message using this SigningKey.
Uses the ciphersuite's singleSign method if available (for Ciphersuite), otherwise falls back to the default signing implementation.
A cryptographically secure random number generator
The message to sign
The signature over the message
InternalDefault signing implementation for standard Schnorr signatures.
This implements the standard Schnorr signing algorithm:
A cryptographically secure random number generator
The message to sign
The signature (R, z)
Return the underlying scalar value.
WARNING: This exposes the private key material. Use with caution.
The scalar value of this signing key
Zeroize the scalar to clear sensitive key material from memory.
After calling this method, the signing key should not be used. This provides defense-in-depth for sensitive cryptographic material.
Check equality with another SigningKey.
The other signing key to compare
true if the signing keys are equal
Returns a debug string representation. The actual key material is redacted for security.
A debug string with redacted content
A signing key for a Schnorr signature on a FROST Ciphersuite Group.
This class wraps a scalar value that serves as the private key for signing operations. The scalar must be non-zero and within the valid range for the ciphersuite's field.