Package org.bouncycastle.pqc.jcajce.spec
Class RainbowParameterSpec
java.lang.Object
org.bouncycastle.pqc.jcajce.spec.RainbowParameterSpec
- All Implemented Interfaces:
AlgorithmParameterSpec
This class provides methods for setting and getting the Rainbow-parameters
like number of Vinegar-variables in the layers, number of layers and so on.
More detailed information about the needed parameters for the Rainbow Signature Scheme is to be found in the paper of Jintai Ding, Dieter Schmidt: Rainbow, a New Multivariable Polynomial Signature Scheme. ACNS 2005: 164-175 (https://dx.doi.org/10.1007/11496137_12)
-
Constructor Summary
ConstructorsConstructorDescriptionDefault Constructor The elements of the array containing the number of Vinegar variables in each layer are set to the default values here.RainbowParameterSpec
(int[] vi) Constructor with parameters -
Method Summary
Modifier and TypeMethodDescriptionint
Getter for the number of all the polynomials in Rainbowint
Getter for the number of layersint[]
getVi()
Getter for the array containing the number of Vinegar-variables per layer
-
Constructor Details
-
RainbowParameterSpec
public RainbowParameterSpec()Default Constructor The elements of the array containing the number of Vinegar variables in each layer are set to the default values here. -
RainbowParameterSpec
public RainbowParameterSpec(int[] vi) Constructor with parameters- Parameters:
vi
- The elements of the array containing the number of Vinegar variables per layer are set to the values of the input array.- Throws:
IllegalArgumentException
- if the variables are invalid.
-
-
Method Details
-
getNumOfLayers
public int getNumOfLayers()Getter for the number of layers- Returns:
- the number of layers
-
getDocumentLength
public int getDocumentLength()Getter for the number of all the polynomials in Rainbow- Returns:
- the number of the polynomials
-
getVi
public int[] getVi()Getter for the array containing the number of Vinegar-variables per layer- Returns:
- the numbers of vinegars per layer
-