de.flexiprovider.pqc.ecc.mceliece
Class McEliecePrivateKeySpec

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

public class McEliecePrivateKeySpec
extends java.lang.Object
implements KeySpec

This class provides a specification for a McEliece private key.

Author:
Elena Klintsevich
See Also:
McEliecePrivateKey, KeySpec

Constructor Summary
protected McEliecePrivateKeySpec(int n, int k, byte[] encField, byte[] encGoppaPoly, byte[] encSInv, byte[] encP1, byte[] encP2, byte[] encH, byte[][] encQInv)
          Constructor (used by the McElieceKeyFactory).
  McEliecePrivateKeySpec(int n, int k, GF2mField field, PolynomialGF2mSmallM goppaPoly, GF2Matrix sInv, Permutation p1, Permutation p2, GF2Matrix h, PolynomialGF2mSmallM[] qInv)
          Constructor.
 
Method Summary
 GF2mField getField()
           
 PolynomialGF2mSmallM getGoppaPoly()
           
 GF2Matrix getH()
           
 int getK()
           
 int getN()
           
 Permutation getP1()
           
 Permutation getP2()
           
 PolynomialGF2mSmallM[] getQInv()
           
 GF2Matrix getSInv()
           
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

McEliecePrivateKeySpec

public McEliecePrivateKeySpec(int n,
                              int k,
                              GF2mField field,
                              PolynomialGF2mSmallM goppaPoly,
                              GF2Matrix sInv,
                              Permutation p1,
                              Permutation p2,
                              GF2Matrix h,
                              PolynomialGF2mSmallM[] qInv)
Constructor.
Parameters:
n - the length of the code
k - the dimension of the code
field - the field polynomial defining the finite field GF(2m)
goppaPoly - the irreducible Goppa polynomial
sInv - the matrix S-1
p1 - the permutation used to generate the systematic check matrix
p2 - the permutation used to compute the public generator matrix
h - the canonical check matrix
qInv - the matrix used to compute square roots in (GF(2m))t

McEliecePrivateKeySpec

protected McEliecePrivateKeySpec(int n,
                                 int k,
                                 byte[] encField,
                                 byte[] encGoppaPoly,
                                 byte[] encSInv,
                                 byte[] encP1,
                                 byte[] encP2,
                                 byte[] encH,
                                 byte[][] encQInv)
Constructor (used by the McElieceKeyFactory).
Parameters:
n - the length of the code
k - the dimension of the code
encField - the encoded field polynomial defining the finite field GF(2m)
encGoppaPoly - the encoded irreducible Goppa polynomial
encSInv - the encoded matrix S-1
encP1 - the encoded permutation used to generate the systematic check matrix
encP2 - the encoded permutation used to compute the public generator matrix
encH - the encoded canonical check matrix
encQInv - the encoded matrix used to compute square roots in (GF(2m))t
Method Detail

getN

public int getN()
Returns:
the length of the code

getK

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

getField

public GF2mField getField()
Returns:
the finite field GF(2m)

getGoppaPoly

public PolynomialGF2mSmallM getGoppaPoly()
Returns:
the irreducible Goppa polynomial

getSInv

public GF2Matrix getSInv()
Returns:
the k x k random binary non-singular matrix S^-1

getP1

public Permutation getP1()
Returns:
the permutation used to generate the systematic check matrix

getP2

public Permutation getP2()
Returns:
the permutation used to compute the public generator matrix

getH

public GF2Matrix getH()
Returns:
the canonical check matrix H

getQInv

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