de.flexiprovider.pqc.pflash
Class PFlashPrivateKey

java.lang.Object
  |
  +--de.flexiprovider.api.keys.PrivateKey
        |
        +--de.flexiprovider.pqc.pflash.PFlashPrivateKey
All Implemented Interfaces:
java.security.Key, Key, java.security.PrivateKey, java.io.Serializable

public class PFlashPrivateKey
extends PrivateKey

This class implements the pFLASH private key.

Author:
Marian Hornschuch, Alexander Koller
See Also:
PFlashKeyPairGenerator, Serialized Form

Fields inherited from interface java.security.Key
serialVersionUID
 
Fields inherited from interface java.security.PrivateKey
serialVersionUID
 
Constructor Summary
protected PFlashPrivateKey(GF2mMatrix m_S, GF2mVector c_S, GF2mMatrix m_T, GF2mVector c_T, GF2Polynomial poly_384)
          Construct a new pFLASH private key.
protected PFlashPrivateKey(PFlashPrivateKeySpec keySpec)
          Construct a new pFLASH private key from the given key specification
 
Method Summary
 boolean equals(java.lang.Object other)
          Compare this key with another object.
 java.lang.String getAlgorithm()
           
protected  codec.asn1.ASN1Type getAlgParams()
           
 GF2mVector getC_S()
           
 GF2mVector getC_T()
           
protected  byte[] getKeyData()
           
 GF2mMatrix getM_S()
           
 GF2mMatrix getM_T()
           
protected  codec.asn1.ASN1ObjectIdentifier getOID()
           
protected  java.lang.String getOIDString()
           
 GF2Polynomial getPoly_384()
           
 int hashCode()
           
 java.lang.String toString()
          Not supported
 
Methods inherited from class de.flexiprovider.api.keys.PrivateKey
getEncoded, getFormat
 
Methods inherited from class java.lang.Object
, clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PFlashPrivateKey

protected PFlashPrivateKey(GF2mMatrix m_S,
                           GF2mVector c_S,
                           GF2mMatrix m_T,
                           GF2mVector c_T,
                           GF2Polynomial poly_384)
Construct a new pFLASH private key.

The key contains:

map S(x) = MS(x) + cS
map T(x) = MT(x) + cT
field polynomial of GF(24*96)

Parameters:
m_S - Matrix of map S
c_S - Vector of map S
m_T - Matrix of map T
c_T - Vector of map T
poly_384 - field polynomial of GF(2384)

PFlashPrivateKey

protected PFlashPrivateKey(PFlashPrivateKeySpec keySpec)
Construct a new pFLASH private key from the given key specification
Parameters:
keySpec - a PFlashPrivateKeySpec
Method Detail

equals

public boolean equals(java.lang.Object other)
Compare this key with another object.
Overrides:
equals in class java.lang.Object
Parameters:
other - the other object
Returns:
true if both are equal

getAlgorithm

public java.lang.String getAlgorithm()
Returns:
"pFLASH"

getOIDString

protected java.lang.String getOIDString()

getM_S

public GF2mMatrix getM_S()

getC_S

public GF2mVector getC_S()

getM_T

public GF2mMatrix getM_T()

getC_T

public GF2mVector getC_T()

getPoly_384

public GF2Polynomial getPoly_384()

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object
Returns:
the hash code of this key

toString

public java.lang.String toString()
Not supported
Overrides:
toString in class java.lang.Object

getOID

protected codec.asn1.ASN1ObjectIdentifier getOID()
Overrides:
getOID in class PrivateKey
Returns:
the OID to encode in the SubjectPublicKeyInfo structure

getAlgParams

protected codec.asn1.ASN1Type getAlgParams()
Overrides:
getAlgParams in class PrivateKey
Returns:
the algorithm parameters to encode in the SubjectPublicKeyInfo structure

getKeyData

protected byte[] getKeyData()
Overrides:
getKeyData in class PrivateKey
Returns:
the keyData to encode in the SubjectKeyInfo structure