de.flexiprovider.pqc.ecc.niederreiter
Class NiederreiterPrivateKeySpec

java.lang.Object
  |
  +--de.flexiprovider.pqc.ecc.niederreiter.NiederreiterPrivateKeySpec
All Implemented Interfaces:
KeySpec, java.security.spec.KeySpec

public class NiederreiterPrivateKeySpec
extends java.lang.Object
implements KeySpec

This class provides a specification for a Niederreiter private key.

Author:
Elena Klintsevich
See Also:
NiederreiterPrivateKey, KeySpec

Constructor Summary
protected NiederreiterPrivateKeySpec(int m, int k, byte[] encField, byte[] encGoppaPoly, byte[] encS, byte[] encP, byte[][] encQInv)
          Constructor, used by NiederreiterKeyFactory.
  NiederreiterPrivateKeySpec(int m, int k, GF2mField field, PolynomialGF2mSmallM gp, GF2Matrix sInv, Permutation p, PolynomialGF2mSmallM[] qInv)
          Constructor.
 
Method Summary
 GF2mField getField()
           
 PolynomialGF2mSmallM getGoppaPoly()
           
 int getK()
           
 int getM()
           
 Permutation getP()
           
 PolynomialGF2mSmallM[] getQInv()
           
 GF2Matrix getSInv()
           
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NiederreiterPrivateKeySpec

public NiederreiterPrivateKeySpec(int m,
                                  int k,
                                  GF2mField field,
                                  PolynomialGF2mSmallM gp,
                                  GF2Matrix sInv,
                                  Permutation p,
                                  PolynomialGF2mSmallM[] qInv)
Constructor.
Parameters:
m - extension degree of the field
k - dimension of the code
field - finite field
gp - irreducible Goppa polynomial
sInv - random non-singular matrix S-1
p - permutation vector P
qInv - matrix used to compute square roots in (GF(2m))t

NiederreiterPrivateKeySpec

protected NiederreiterPrivateKeySpec(int m,
                                     int k,
                                     byte[] encField,
                                     byte[] encGoppaPoly,
                                     byte[] encS,
                                     byte[] encP,
                                     byte[][] encQInv)
Constructor, used by NiederreiterKeyFactory.
Parameters:
m - extension degree of the field
k - dimension of the code
encField - encoded finite field
encGoppaPoly - encoded irreducible Goppa polynomial
encS - encoded k x k random binary non-singular matrix
encP - encoded permutation vector
encQInv - encoded matrix used to compute square roots in (GF(2m))t
Method Detail

getM

public int getM()
Returns:
the extension degree of the finite field

getK

public int getK()
Returns:
the dimension of the code

getField

public GF2mField getField()
Returns:
the finite field

getGoppaPoly

public PolynomialGF2mSmallM getGoppaPoly()
Returns:
the irreducible Goppa polynomial

getSInv

public GF2Matrix getSInv()
Returns:
the random non-singular matrix S-1

getP

public Permutation getP()
Returns:
the permutation P

getQInv

public PolynomialGF2mSmallM[] getQInv()
Returns:
the matrix used to compute square roots in (GF(2m))t