public class BCRainbowPrivateKey
extends java.lang.Object
implements java.security.PrivateKey
The coefficients of the polynomials in F are stored in 3-dimensional arrays per layer. The indices of these arrays denote the polynomial, and the variables.
More detailed information about the private key is to be found in the paper of Jintai Ding, Dieter Schmidt: Rainbow, a New Multivariable Polynomial Signature Scheme. ACNS 2005: 164-175 (https://dx.doi.org/10.1007/11496137_12)
Constructor and Description |
---|
BCRainbowPrivateKey(RainbowPrivateKeyParameters params) |
BCRainbowPrivateKey(RainbowPrivateKeySpec keySpec)
Constructor (used by the
RainbowKeyFactorySpi ). |
BCRainbowPrivateKey(short[][] A1inv,
short[] b1,
short[][] A2inv,
short[] b2,
int[] vi,
Layer[] layers)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object other)
Compare this Rainbow private key with another object.
|
java.lang.String |
getAlgorithm() |
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.
|
byte[] |
getEncoded() |
java.lang.String |
getFormat() |
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
|
int |
hashCode() |
public BCRainbowPrivateKey(short[][] A1inv, short[] b1, short[][] A2inv, short[] b2, int[] vi, Layer[] layers)
A1inv
- b1
- A2inv
- b2
- layers
- public BCRainbowPrivateKey(RainbowPrivateKeySpec keySpec)
RainbowKeyFactorySpi
).keySpec
- a RainbowPrivateKeySpec
public BCRainbowPrivateKey(RainbowPrivateKeyParameters params)
public short[][] getInvA1()
public short[] getB1()
public short[] getB2()
public short[][] getInvA2()
public Layer[] getLayers()
public int[] getVi()
public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
other
- the other objectpublic int hashCode()
hashCode
in class java.lang.Object
public final java.lang.String getAlgorithm()
getAlgorithm
in interface java.security.Key
public byte[] getEncoded()
getEncoded
in interface java.security.Key
public java.lang.String getFormat()
getFormat
in interface java.security.Key