Class SaberKeyGenSpec
- All Implemented Interfaces:
Describable, AlgorithmKeySpec
A SaberKeyGenSpec selects one of the SABER parameter variants
standardized in round-3 submissions. Each variant balances performance,
bandwidth, and security level. This spec is passed to a registered
AsymmetricKeyPairGenerator to generate a SABER key
pair.
Variants
TheSaberKeyGenSpec.Variant enumeration identifies supported SABER
parameter sets:
SaberKeyGenSpec.Variant.LIGHTSABERKEM128R3: lightweight security, smallest key sizes.SaberKeyGenSpec.Variant.SABERKEM128R3: standard security level, moderate key sizes.SaberKeyGenSpec.Variant.FIRESABERKEM128R3: strongest within 128-bit category, largest key sizes.SaberKeyGenSpec.Variant.LIGHTSABERKEM192R3,SaberKeyGenSpec.Variant.SABERKEM192R3,SaberKeyGenSpec.Variant.FIRESABERKEM192R3: parameter sets targeting ~192-bit security.SaberKeyGenSpec.Variant.LIGHTSABERKEM256R3,SaberKeyGenSpec.Variant.SABERKEM256R3,SaberKeyGenSpec.Variant.FIRESABERKEM256R3: parameter sets targeting ~256-bit security.
Usage example
SaberKeyGenSpec spec = SaberKeyGenSpec.saberkem256r3();
KeyPair kp = session.keyBuilders().asymmetric().generateKeyPair("SABER", spec);
- Since:
- 1.0
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumEnumeration of SABER parameter set variants. -
Method Summary
Modifier and TypeMethodDescriptionReturns a textual description of this spec.static SaberKeyGenSpecCreates a specification for the FireSaberKEM128R3 variant.static SaberKeyGenSpecCreates a specification for the FireSaberKEM192R3 variant.static SaberKeyGenSpecCreates a specification for the FireSaberKEM256R3 variant.static SaberKeyGenSpecCreates a specification for the LightSaberKEM128R3 variant.static SaberKeyGenSpecCreates a specification for the LightSaberKEM192R3 variant.static SaberKeyGenSpecCreates a specification for the LightSaberKEM256R3 variant.static SaberKeyGenSpecCreates a specification for a given variant.static SaberKeyGenSpecCreates a specification for the SaberKEM128R3 variant.static SaberKeyGenSpecCreates a specification for the SaberKEM192R3 variant.static SaberKeyGenSpecCreates a specification for the SaberKEM256R3 variant.variant()Returns the variant this spec represents.
-
Method Details
-
of
Creates a specification for a given variant.- Parameters:
v- the SABER variant- Returns:
- new key generation spec for the variant
-
lightsaberkem128r3
Creates a specification for the LightSaberKEM128R3 variant.This is the smallest SABER parameter set at the 128-bit security level, optimized for constrained environments. It trades some performance margin for reduced bandwidth and memory footprint.
- Returns:
- a new
SaberKeyGenSpecrepresenting the LightSaberKEM128R3 variant
-
saberkem128r3
Creates a specification for the SaberKEM128R3 variant.This is the baseline SABER parameter set at the 128-bit security level, balancing efficiency and security margin. It is the recommended choice for standard 128-bit use cases.
- Returns:
- a new
SaberKeyGenSpecrepresenting the SaberKEM128R3 variant
-
firesaberkem128r3
Creates a specification for the FireSaberKEM128R3 variant.This is the strongest SABER parameter set at the 128-bit security level, using larger dimensions to maximize security margin. It comes with higher computational and bandwidth cost than LightSaber or Saber.
- Returns:
- a new
SaberKeyGenSpecrepresenting the FireSaberKEM128R3 variant
-
lightsaberkem192r3
Creates a specification for the LightSaberKEM192R3 variant.This variant targets approximately 192-bit security with minimized resource usage. It is designed for higher security requirements while still considering efficiency.
- Returns:
- a new
SaberKeyGenSpecrepresenting the LightSaberKEM192R3 variant
-
saberkem192r3
Creates a specification for the SaberKEM192R3 variant.This is the balanced SABER parameter set at the 192-bit security level, offering a midpoint between performance and conservative security margin.
- Returns:
- a new
SaberKeyGenSpecrepresenting the SaberKEM192R3 variant
-
firesaberkem192r3
Creates a specification for the FireSaberKEM192R3 variant.This is the strongest SABER configuration at the 192-bit security level, providing the highest margin at the cost of larger keys and slower operations.
- Returns:
- a new
SaberKeyGenSpecrepresenting the FireSaberKEM192R3 variant
-
lightsaberkem256r3
Creates a specification for the LightSaberKEM256R3 variant.This variant targets approximately 256-bit security with reduced parameter sizes compared to the full Saber/FireSaber sets. It favors efficiency in very high-security applications.
- Returns:
- a new
SaberKeyGenSpecrepresenting the LightSaberKEM256R3 variant
-
saberkem256r3
Creates a specification for the SaberKEM256R3 variant.This is the balanced SABER parameter set at the 256-bit security level, recommended for long-term, high-assurance use cases where efficiency is still important.
- Returns:
- a new
SaberKeyGenSpecrepresenting the SaberKEM256R3 variant
-
firesaberkem256r3
Creates a specification for the FireSaberKEM256R3 variant.This is the strongest SABER configuration at the 256-bit security level, prioritizing maximum security margin over efficiency. It uses the largest parameter sizes and yields the heaviest resource usage.
- Returns:
- a new
SaberKeyGenSpecrepresenting the FireSaberKEM256R3 variant
-
variant
Returns the variant this spec represents.- Returns:
- selected SABER variant
-
description
Returns a textual description of this spec.Currently this is the
SaberKeyGenSpec.Variantname, e.g.SABERKEM256R3.- Specified by:
descriptionin interfaceDescribable- Returns:
- string description of the spec
-