de.flexiprovider.pqc.ecc.mceliece
Class McElieceCCA2PrivateKeySpec

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

public class McElieceCCA2PrivateKeySpec
extends java.lang.Object
implements KeySpec

This class provides a specification for a McEliece CCA2 private key.

Author:
Elena Klintsevich, Martin Döring
See Also:
McElieceCCA2PrivateKey

Constructor Summary
protected McElieceCCA2PrivateKeySpec(int n, int k, byte[] encFieldPoly, byte[] encGoppaPoly, byte[] encP, byte[] encH, byte[][] encQInv)
          Constructor used by the McElieceKeyFactory.
  McElieceCCA2PrivateKeySpec(int n, int k, GF2mField field, PolynomialGF2mSmallM gp, Permutation p, GF2Matrix h, PolynomialGF2mSmallM[] qInv)
          Constructor.
 
Method Summary
 GF2mField getField()
           
 PolynomialGF2mSmallM getGoppaPoly()
           
 GF2Matrix getH()
           
 int getK()
           
 int getN()
           
 Permutation getP()
           
 PolynomialGF2mSmallM[] getQInv()
           
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

McElieceCCA2PrivateKeySpec

public McElieceCCA2PrivateKeySpec(int n,
                                  int k,
                                  GF2mField field,
                                  PolynomialGF2mSmallM gp,
                                  Permutation p,
                                  GF2Matrix h,
                                  PolynomialGF2mSmallM[] qInv)
Constructor.
Parameters:
n - the length of the code
k - the dimension of the code
field - the finite field GF(2m)
gp - the irreducible Goppa polynomial
p - the permutation
h - the canonical check matrix
qInv - the matrix used to compute square roots in (GF(2^m))^t

McElieceCCA2PrivateKeySpec

protected McElieceCCA2PrivateKeySpec(int n,
                                     int k,
                                     byte[] encFieldPoly,
                                     byte[] encGoppaPoly,
                                     byte[] encP,
                                     byte[] encH,
                                     byte[][] encQInv)
Constructor used by the McElieceKeyFactory.
Parameters:
n - the length of the code
k - the dimension of the code
encFieldPoly - the encoded field polynomial defining the finite field GF(2m)
encGoppaPoly - the encoded irreducible Goppa polynomial
encP - the encoded permutation
encH - the encoded canonical check matrix
encQInv - the encoded matrix used to compute square roots in (GF(2^m))^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

getGoppaPoly

public PolynomialGF2mSmallM getGoppaPoly()
Returns:
the irreducible Goppa polynomial

getP

public Permutation getP()
Returns:
the permutation P

getH

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

getQInv

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