Package zeroecho.core.alg.sphincsplus
package zeroecho.core.alg.sphincsplus
SPHINCS+ post-quantum signature integration.
This package wires the SPHINCS+ stateless hash-based signature scheme into the core. It provides the algorithm descriptor, a streaming signature context that adapts JCA engines, key-pair generation facilities, and encoded key specifications for import and export. Provider-specific details are encapsulated behind small factories while roles and metadata remain explicit to higher layers.
Scope and responsibilities
- Register a canonical SPHINCS+ algorithm and declare the SIGN and VERIFY roles.
- Offer a streaming signature context with a fixed tag length determined by the key's parameter set.
- Provide key builders for generating new key pairs and for importing encoded public and private keys.
- Expose immutable key specification types that defensively copy sensitive material and support compact marshalling.
Components
- SphincsPlusAlgorithm: algorithm descriptor that binds roles to the signature context and registers builders and specs.
- SphincsPlusSignatureContext: streaming sign/verify context; determines fixed signature size from the key's parameter set.
- SphincsPlusKeyGenBuilder and SphincsPlusKeyGenSpec: generator and specification for producing key pairs with selected variants.
- SphincsPlusPublicKeyBuilder / SphincsPlusPrivateKeyBuilder: importers backed by JCA key factories.
- SphincsPlusPublicKeySpec / SphincsPlusPrivateKeySpec: immutable wrappers over X.509 and PKCS#8 encodings with marshalling helpers.
Design notes
- Algorithm descriptors are immutable and safe to share; signature contexts are stateful and not thread-safe.
- Key specification classes never expose internal byte arrays; cloning is used on input and output.
- Marshalling helpers use a compact key-value form intended for configuration, transport, and tests.
- Since:
- 1.0
-
ClassDescriptionSPHINCS+ signature algorithm binding for the ZeroEcho framework.Key pair builder for the SPHINCS+ post-quantum signature scheme.Specification for generating SPHINCS+ key pairs.Hash function families supported by SPHINCS+.Construction mode: conservative
ROBUSTvs.Security levels as defined by NIST PQC (L1, L3, L5).Signature variants trading performance against signature size.Builder for importing SPHINCS+ private keys from encoded specifications.Encoded representation of a SPHINCS+ private key.Builder for importing SPHINCS+ public keys from encoded specifications.Encoded representation of a SPHINCS+ public key.SPHINCS+ signature context that adapts a JCA engine for streaming sign and verify.