Package zeroecho.core.alg.bike
package zeroecho.core.alg.bike
BIKE post-quantum key encapsulation and related utilities.
This package integrates the BIKE (Bit Flipping Key Encapsulation) algorithm into the core layer. It defines the algorithm descriptor, the runtime context for encapsulation and decapsulation, and key specifications for generation and import. The implementation relies on a Post-Quantum JCA provider and focuses on safe, explicit wiring of roles, contexts, and key builders.
Scope and responsibilities
- Expose a concrete algorithm descriptor that registers BIKE roles and key builders.
- Provide a runtime context that performs encapsulation and decapsulation.
- Define key specifications for generation and for importing encoded keys.
Components
- Algorithm descriptor:
BikeAlgorithmdeclares KEM roles for encapsulation and decapsulation, wires a message-agreement adapter built on KEM, and registers asymmetric key builders for BIKE key specs. - Runtime context:
BikeKemContextimplements the key encapsulation mechanism and separates encapsulation from decapsulation by constructor selection. - Key generation spec:
BikeKeyGenSpecselects a BIKE variant and is used by the key-pair builder. - Key import specs:
BikePublicKeySpecandBikePrivateKeySpecwrap X.509 and PKCS#8 encodings and support marshalling for transport and storage.
Provider requirements
BIKE operations require a Post-Quantum JCA provider. The algorithm descriptor expects the BouncyCastle PQC provider to be present and may validate provider availability during key operations. Applications must ensure the provider is installed before use.
Thread-safety
- Algorithm descriptors are immutable and safe to share across threads.
- Runtime contexts are stateful and not thread-safe.
- Since:
- 1.0
-
ClassDescriptionIntegration of BIKE (Bit Flipping Key Encapsulation) algorithmBIKE Key Encapsulation Mechanism contextSpecification for BIKE key generationAvailable BIKE parameter sets.Specification for a BIKE private keySpecification for a BIKE public key