Class FaestParameters

java.lang.Object
org.bouncycastle.pqc.crypto.faest.FaestParameters

public final class FaestParameters extends Object
FAEST parameter sets per the v2.0 algorithm specification.

Twelve instances are exposed, one per parameter set, mirroring the faest_paramid_t enumeration in the reference implementation's instances.h. Numeric values come from the per-parameter macros in build/parameters.h of the reference build (auto-generated from the spec). The "derived" fields (k, tau0, tau1, L) are computed from lambda, tau, wGrind per the formulae in instances.c.

Reference upstream: faest-sign/faest-ref.

  • Field Details

    • faest_128s

      public static final FaestParameters faest_128s
      FAEST-128s: lambda=128, small-signature trade-off. Signature 4506 bytes.
    • faest_128f

      public static final FaestParameters faest_128f
      FAEST-128f: lambda=128, fast-signing trade-off. Signature 5924 bytes.
    • faest_192s

      public static final FaestParameters faest_192s
      FAEST-192s: lambda=192, small-signature trade-off. Signature 11260 bytes.
    • faest_192f

      public static final FaestParameters faest_192f
      FAEST-192f: lambda=192, fast-signing trade-off. Signature 14948 bytes.
    • faest_256s

      public static final FaestParameters faest_256s
      FAEST-256s: lambda=256, small-signature trade-off. Signature 20696 bytes.
    • faest_256f

      public static final FaestParameters faest_256f
      FAEST-256f: lambda=256, fast-signing trade-off. Signature 26548 bytes.
    • faest_em_128s

      public static final FaestParameters faest_em_128s
      FAEST-EM-128s: lambda=128, EM mode, small-signature trade-off. Signature 3906 bytes.
    • faest_em_128f

      public static final FaestParameters faest_em_128f
      FAEST-EM-128f: lambda=128, EM mode, fast-signing trade-off. Signature 5060 bytes.
    • faest_em_192s

      public static final FaestParameters faest_em_192s
      FAEST-EM-192s: lambda=192, EM mode, small-signature trade-off. Signature 9340 bytes.
    • faest_em_192f

      public static final FaestParameters faest_em_192f
      FAEST-EM-192f: lambda=192, EM mode, fast-signing trade-off. Signature 12380 bytes.
    • faest_em_256s

      public static final FaestParameters faest_em_256s
      FAEST-EM-256s: lambda=256, EM mode, small-signature trade-off. Signature 17984 bytes.
    • faest_em_256f

      public static final FaestParameters faest_em_256f
      FAEST-EM-256f: lambda=256, EM mode, fast-signing trade-off. Signature 23476 bytes.
    • MAX_LAMBDA

      public static final int MAX_LAMBDA
      Max length of a witness, mirrors MAX_LAMBDA in instances.h.
      See Also:
    • MAX_TAU

      public static final int MAX_TAU
      Max VOLE repetitions, mirrors MAX_TAU.
      See Also:
    • UNIVERSAL_HASH_B

      public static final int UNIVERSAL_HASH_B
      Universal-hash output width in bytes, mirrors UNIVERSAL_HASH_B.
      See Also:
    • IV_SIZE

      public static final int IV_SIZE
      IV size in bytes for randomness expansion.
      See Also:
  • Method Details

    • byName

      public static FaestParameters byName(String name)
      Return the parameter set whose getName() matches, or null.
    • getName

      public String getName()
    • isEm

      public boolean isEm()
    • getLambda

      public int getLambda()
    • getLambdaBytes

      public int getLambdaBytes()
    • getTau

      public int getTau()
    • getWGrind

      public int getWGrind()
    • getEll

      public int getEll()
    • getK

      public int getK()
    • getTau0

      public int getTau0()
    • getTau1

      public int getTau1()
    • getL

      public int getL()
    • getSke

      public int getSke()
    • getOwfInputSize

      public int getOwfInputSize()
    • getOwfOutputSize

      public int getOwfOutputSize()
    • getPkSize

      public int getPkSize()
    • getSkSize

      public int getSkSize()
    • getSigSize

      public int getSigSize()