Bouncy Castle Cryptography Library 1.49

org.bouncycastle.pqc.jcajce.spec
Class RainbowPrivateKeySpec

java.lang.Object
  extended by 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
RainbowPrivateKeySpec(short[][] A1inv, short[] b1, short[][] A2inv, short[] b2, int[] vi, Layer[] layers)
          Constructor
 
Method Summary
 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

Bouncy Castle Cryptography Library 1.49