Class ChaChaAlgorithm


public final class ChaChaAlgorithm extends AbstractCryptoAlgorithm

ChaCha20 (stream) algorithm

Registers the ChaCha20 stream cipher within the ZeroEcho framework. Extends AbstractChaChaAlgorithm and installs symmetric capabilities for encryption and decryption using ChaChaSpec, with convenience defaults for VoidSpec.

Capabilities

Defaults

When used with VoidSpec, a minimal ChaChaSpec is synthesized with initialCounter(1) and no header.
Since:
1.0
  • Constructor Details

    • ChaChaAlgorithm

      public ChaChaAlgorithm()
      Creates and registers the ChaCha20 stream cipher, declaring encryption and decryption capabilities for ChaChaSpec and VoidSpec.
  • Method Details

    • parameterSets

      public List<ParameterSetDescriptor<? extends AlgorithmKeySpec>> parameterSets()
      Description copied from class: CryptoAlgorithm
      Returns 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 a ParameterSetDescriptor.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:
      parameterSets in class CryptoAlgorithm
      Returns:
      immutable list of parameter set descriptors; never null