Class SlhDsaAlgorithm
SLH-DSA is the NIST-standardized profile of the SPHINCS+ stateless hash-based signature scheme. This binding exposes SLH-DSA as a first-class algorithm identity while relying on the provider's SLH-DSA JCA implementations.
This algorithm registers two roles:
KeyUsage.SIGN: produces SLH-DSA signatures using aPrivateKey.KeyUsage.VERIFY: verifies SLH-DSA signatures using aPublicKey.
Both roles are configured with VoidSpec, as SLH-DSA requires no
runtime context parameters beyond the key material.
- Since:
- 1.0
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a new SLH-DSA algorithm instance and registers its capabilities. -
Method Summary
Modifier and TypeMethodDescriptionList<ParameterSetDescriptor<? extends AlgorithmKeySpec>> Returns the discoverable parameter sets (or parameterized templates) supported by this algorithm.Methods inherited from class AbstractCryptoAlgorithm
capabilityMethods inherited from class CryptoAlgorithm
addCapability, asymmetricKeyPairGenerator, bindContext, createContext, displayName, id, keyOperations, listCapabilities, priority, privateKeyImporter, providerName, publicKeyImporter, registerAsymmetricKeyPairGenerator, registerPrivateKeyImporter, registerPublicKeyImporter, registerSymmetricKeyGenerator, registerSymmetricKeyImporter, requiresStatefulSigning, roles, supports, symmetricKeyGenerator, symmetricKeyImporter
-
Constructor Details
-
SlhDsaAlgorithm
public SlhDsaAlgorithm()Creates a new SLH-DSA algorithm instance and registers its capabilities.- Throws:
IllegalArgumentException- if a signature context cannot be initialized due to provider errors
-
-
Method Details
-
parameterSets
Description copied from class:CryptoAlgorithmReturns the discoverable parameter sets (or parameterized templates) supported by this algorithm.Callers (UIs, provisioning tools, policy engines) use this list to present users with valid, named key-generation options without prior knowledge of the concrete algorithm. Each entry is either a pre-built
ParameterSetDescriptor.Concrete(ready spec) or aParameterSetDescriptor.Template(user-supplied arguments produce the spec).The default implementation returns an empty list. Algorithms with finite, enumerable parameter sets should override this method. Overrides must return immutable lists in stable order, with unique nonblank descriptor identifiers. Registry loading validates a snapshot; external providers remain responsible for maintaining the contract on subsequent calls. Implementations may use
ParameterSetDescriptor.snapshot(List)to validate and copy their list.- Overrides:
parameterSetsin classCryptoAlgorithm- Returns:
- immutable list of parameter set descriptors; never
null
-