public class BCRainbowPublicKey
extends java.lang.Object
implements java.security.PublicKey
The public key in Rainbow consists of n - v1 polynomial components of the private key's F and the field structure of the finite field k.
The quadratic (or mixed) coefficients of the polynomials from the public key are stored in the 2-dimensional array in lexicographical order, requiring n * (n + 1) / 2 entries for each polynomial. The singular terms are stored in a 2-dimensional array requiring n entries per polynomial, the scalar term of each polynomial is stored in a 1-dimensional array.
More detailed information on the public 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 |
---|
BCRainbowPublicKey(int docLength,
short[][] coeffQuadratic,
short[][] coeffSingular,
short[] coeffScalar)
Constructor
|
BCRainbowPublicKey(RainbowPublicKeyParameters params) |
BCRainbowPublicKey(RainbowPublicKeySpec keySpec)
Constructor (used by the
RainbowKeyFactorySpi ). |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object other)
Compare this Rainbow public key with another object.
|
java.lang.String |
getAlgorithm() |
short[][] |
getCoeffQuadratic() |
short[] |
getCoeffScalar() |
short[][] |
getCoeffSingular() |
int |
getDocLength() |
byte[] |
getEncoded() |
java.lang.String |
getFormat() |
int |
hashCode() |
public BCRainbowPublicKey(int docLength, short[][] coeffQuadratic, short[][] coeffSingular, short[] coeffScalar)
docLength
- coeffQuadratic
- coeffSingular
- coeffScalar
- public BCRainbowPublicKey(RainbowPublicKeySpec keySpec)
RainbowKeyFactorySpi
).keySpec
- a RainbowPublicKeySpec
public BCRainbowPublicKey(RainbowPublicKeyParameters params)
public int getDocLength()
public short[][] getCoeffQuadratic()
public short[][] getCoeffSingular()
public short[] getCoeffScalar()
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 java.lang.String getFormat()
getFormat
in interface java.security.Key
public byte[] getEncoded()
getEncoded
in interface java.security.Key