Class FaestParameters
- java.lang.Object
-
- org.bouncycastle.pqc.crypto.faest.FaestParameters
-
public final class FaestParameters extends java.lang.ObjectFAEST parameter sets per the v2.0 algorithm specification.Twelve instances are exposed, one per parameter set, mirroring the
faest_paramid_tenumeration in the reference implementation'sinstances.h. Numeric values come from the per-parameter macros inbuild/parameters.hof the reference build (auto-generated from the spec). The "derived" fields (k,tau0,tau1,L) are computed fromlambda,tau,wGrindper the formulae ininstances.c.Reference upstream:
faest-sign/faest-ref.
-
-
Field Summary
Fields Modifier and Type Field Description static FaestParametersfaest_128fFAEST-128f: lambda=128, fast-signing trade-off.static FaestParametersfaest_128sFAEST-128s: lambda=128, small-signature trade-off.static FaestParametersfaest_192fFAEST-192f: lambda=192, fast-signing trade-off.static FaestParametersfaest_192sFAEST-192s: lambda=192, small-signature trade-off.static FaestParametersfaest_256fFAEST-256f: lambda=256, fast-signing trade-off.static FaestParametersfaest_256sFAEST-256s: lambda=256, small-signature trade-off.static FaestParametersfaest_em_128fFAEST-EM-128f: lambda=128, EM mode, fast-signing trade-off.static FaestParametersfaest_em_128sFAEST-EM-128s: lambda=128, EM mode, small-signature trade-off.static FaestParametersfaest_em_192fFAEST-EM-192f: lambda=192, EM mode, fast-signing trade-off.static FaestParametersfaest_em_192sFAEST-EM-192s: lambda=192, EM mode, small-signature trade-off.static FaestParametersfaest_em_256fFAEST-EM-256f: lambda=256, EM mode, fast-signing trade-off.static FaestParametersfaest_em_256sFAEST-EM-256s: lambda=256, EM mode, small-signature trade-off.static intIV_SIZEIV size in bytes for randomness expansion.static intMAX_LAMBDAMax length of a witness, mirrors MAX_LAMBDA in instances.h.static intMAX_TAUMax VOLE repetitions, mirrors MAX_TAU.static intUNIVERSAL_HASH_BUniversal-hash output width in bytes, mirrors UNIVERSAL_HASH_B.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static FaestParametersbyName(java.lang.String name)Return the parameter set whosegetName()matches, or null.intgetEll()intgetK()intgetL()intgetLambda()intgetLambdaBytes()java.lang.StringgetName()intgetOwfInputSize()intgetOwfOutputSize()intgetPkSize()intgetSigSize()intgetSke()intgetSkSize()intgetTau()intgetTau0()intgetTau1()intgetWGrind()booleanisEm()
-
-
-
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 whosegetName()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()
-
-