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 (http://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 RainbowPrivateKeySpecpublic 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.Objectother - the other objectpublic int hashCode()
hashCode in class java.lang.Objectpublic final java.lang.String getAlgorithm()
getAlgorithm in interface java.security.Keypublic byte[] getEncoded()
getEncoded in interface java.security.Keypublic java.lang.String getFormat()
getFormat in interface java.security.Key