Class RainbowPrivateKeyParameters

All Implemented Interfaces:
CipherParameters

public class RainbowPrivateKeyParameters extends RainbowKeyParameters
  • Constructor Details

    • 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 Details

    • 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