Class FaestParameters


  • public final class FaestParameters
    extends java.lang.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 Detail

      • 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:
        Constant Field Values
      • MAX_TAU

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

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

        public static final int IV_SIZE
        IV size in bytes for randomness expansion.
        See Also:
        Constant Field Values
    • Method Detail

      • byName

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

        public java.lang.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()