Class 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 Description
      RainbowPrivateKeySpec​(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 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