RainbowPrivateKeySpec (Bouncy Castle Library 1.52 API Specification)

org.bouncycastle.pqc.jcajce.spec

## Class RainbowPrivateKeySpec

- java.lang.Object
- - org.bouncycastle.pqc.jcajce.spec.RainbowPrivateKeySpec

- All Implemented Interfaces:
    java.security.spec.KeySpec

      public class RainbowPrivateKeySpec
      extends java.lang.Object
      implements java.security.spec.KeySpec

  This class provides a specification for a RainbowSignature private key.
  See Also:
    `KeySpec`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `RainbowPrivateKeySpec(short[][] A1inv, short[] b1, short[][] A2inv, short[] b2, int[] vi, Layer[] layers)` Constructor

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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 java.lang.Object

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

- - ### Constructor Detail

    - #### RainbowPrivateKeySpec

          public RainbowPrivateKeySpec(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