Class ChaChaAlgorithm
ChaCha20 (stream) algorithm
Registers theChaCha20 stream cipher within the ZeroEcho framework.
Extends AbstractChaChaAlgorithm and installs symmetric capabilities
for encryption and decryption using ChaChaSpec, with convenience
defaults for VoidSpec.
Capabilities
- Encrypt
- Family:
AlgorithmFamily.SYMMETRIC - Usage:
KeyUsage.ENCRYPT - Context:
EncryptionContext - Key:
SecretKey - Spec:
ChaChaSpec(orVoidSpecdefault)
- Family:
- Decrypt
- Family:
AlgorithmFamily.SYMMETRIC - Usage:
KeyUsage.DECRYPT - Context:
EncryptionContext - Key:
SecretKey - Spec:
ChaChaSpec(orVoidSpecdefault)
- Family:
Defaults
When used withVoidSpec, a
minimal ChaChaSpec is synthesized with initialCounter(1) and
no header.- Since:
- 1.0
-
Constructor Summary
ConstructorsConstructorDescriptionCreates and registers the ChaCha20 stream cipher, declaring encryption and decryption capabilities forChaChaSpecandVoidSpec. -
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
-
ChaChaAlgorithm
public ChaChaAlgorithm()Creates and registers the ChaCha20 stream cipher, declaring encryption and decryption capabilities forChaChaSpecandVoidSpec.
-
-
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
-