Bouncy Castle Cryptography Library 1.48

org.bouncycastle.pqc.jcajce.spec
Class McEliecePrivateKeySpec

java.lang.Object
  extended by org.bouncycastle.pqc.jcajce.spec.McEliecePrivateKeySpec
All Implemented Interfaces:
java.security.spec.KeySpec

public class McEliecePrivateKeySpec
extends java.lang.Object
implements java.security.spec.KeySpec

This class provides a specification for a McEliece private key.

See Also:
org.bouncycastle.pqc.ecc.JDKMcEliecePrivateKey.McEliecePrivateKey, KeySpec

Constructor Summary
McEliecePrivateKeySpec(java.lang.String oid, int n, int k, byte[] encField, byte[] encGoppaPoly, byte[] encSInv, byte[] encP1, byte[] encP2, byte[] encH, byte[][] encQInv)
          Constructor (used by the McElieceKeyFactory).
McEliecePrivateKeySpec(java.lang.String oid, 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()
           
 java.lang.String getOIDString()
           
 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(java.lang.String oid,
                              int n,
                              int k,
                              GF2mField field,
                              PolynomialGF2mSmallM goppaPoly,
                              GF2Matrix sInv,
                              Permutation p1,
                              Permutation p2,
                              GF2Matrix h,
                              PolynomialGF2mSmallM[] qInv)
Constructor.

Parameters:
oid -
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

public McEliecePrivateKeySpec(java.lang.String oid,
                              int n,
                              int k,
                              byte[] encField,
                              byte[] encGoppaPoly,
                              byte[] encSInv,
                              byte[] encP1,
                              byte[] encP2,
                              byte[] encH,
                              byte[][] encQInv)
Constructor (used by the McElieceKeyFactory).

Parameters:
oid -
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

getOIDString

public java.lang.String getOIDString()

Bouncy Castle Cryptography Library 1.48