de.flexiprovider.pqc.rainbow
Class RainbowParameterSpec

java.lang.Object
  |
  +--de.flexiprovider.pqc.rainbow.RainbowParameterSpec
All Implemented Interfaces:
AlgorithmParameterSpec, java.security.spec.AlgorithmParameterSpec

public class RainbowParameterSpec
extends java.lang.Object
implements AlgorithmParameterSpec

This class implements the AlgorithmParameterSpec from the FlexiProvider_Api and contains the parameters needed for the Rainbow Signature Scheme. 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 (http://dx.doi.org/10.1007/11496137_12)

Author:
Patrick Neugebauer, Marius Senftleben, Tsvetoslava Vateva

Constructor Summary
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(int[] vi)
          Constructor with parameters
 
Method Summary
 int getNumOfLayers()
          Getter for the number of layers
 int getRainbowDocumentLength()
          Getter for the number of all the polynomials in Rainbow
 int[] getVi()
          Getter for the array containing the number of Vinegar-variables per layer
 void setVi(int[] vi)
          Setter for the number of Vinegar-variables per layer
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

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:
InvalidParameterException - if the key size is invalid.
Method Detail

getNumOfLayers

public int getNumOfLayers()
Getter for the number of layers
Returns:
the number of layers

getRainbowDocumentLength

public int getRainbowDocumentLength()
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

setVi

public void setVi(int[] vi)
Setter for the number of Vinegar-variables per layer
Parameters:
vi - the values in the array containing the number of vinegars per layer should be set to the values of vi