Package org.bouncycastle.pqc.crypto.rainbow

## Class RainbowPrivateKeyParameters

- java.lang.Object
- - org.bouncycastle.crypto.params.AsymmetricKeyParameter
  - - org.bouncycastle.pqc.crypto.rainbow.RainbowKeyParameters
    - - org.bouncycastle.pqc.crypto.rainbow.RainbowPrivateKeyParameters

- All Implemented Interfaces:
    `CipherParameters`

      public class RainbowPrivateKeyParameters
      extends RainbowKeyParameters

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `RainbowPrivateKeyParameters​(short[][] A1inv, short[] b1, short[][] A2inv, short[] b2, int[] vi, Layer[] layers)` | Constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `short[]` | `getB1()` | Getter for the translation part of the private quadratic map L1.
    `short[]` | `getB2()` | Getter for the translation part of the private quadratic map L2.
    `short[][]` | `getInvA1()` | Getter for the inverse matrix of A1.
    `short[][]` | `getInvA2()` | Getter for the inverse matrix of A2
    `Layer[]` | `getLayers()` | Returns the layers contained in the private key
    `int[]` | `getVi()` | /** Returns the array of vi-s

    - ### Methods inherited from class org.bouncycastle.pqc.crypto.rainbow.RainbowKeyParameters

      `getDocLength`

    - ### Methods inherited from class org.bouncycastle.crypto.params.AsymmetricKeyParameter

      `isPrivate`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### RainbowPrivateKeyParameters

          public RainbowPrivateKeyParameters​(short[][] A1inv,
                                             short[] b1,
                                             short[][] A2inv,
                                             short[] b2,
                                             int[] vi,
                                             Layer[] layers)

      Constructor
      Parameters:
        `A1inv` - the inverse of A1(the matrix part of the affine linear map L1) (n-v1 x n-v1 matrix)
        `b1` - translation vector, part of the linear affine map L1
        `A2inv` - the inverse of A2(the matrix part of the affine linear map L2) (n x n matrix)
        `b2` - translation vector, part of the linear affine map L2
        `vi` - the number of Vinegar-variables per layer
        `layers` - the polynomials with their coefficients of private map F

  - ### Method Detail

    - #### getB1

          public short[] getB1()

      Getter for the translation part of the private quadratic map L1.
      Returns:
        b1 the translation part of L1

    - #### getInvA1

          public short[][] getInvA1()

      Getter for the inverse matrix of A1.
      Returns:
        the A1inv inverse

    - #### getB2

          public short[] getB2()

      Getter for the translation part of the private quadratic map L2.
      Returns:
        b2 the translation part of L2

    - #### getInvA2

          public short[][] getInvA2()

      Getter for the inverse matrix of A2
      Returns:
        the A2inv

    - #### getLayers

          public Layer[] getLayers()

      Returns the layers contained in the private key
      Returns:
        layers

    - #### getVi

          public int[] getVi()

      /** Returns the array of vi-s
      Returns:
        the vi