Bouncy Castle Cryptography Library 1.79

org.bouncycastle.pqc.legacy.crypto.mceliece
Class McEliecePrivateKeyParameters

java.lang.Object
  |
  +--org.bouncycastle.crypto.params.AsymmetricKeyParameter
        |
        +--org.bouncycastle.pqc.legacy.crypto.mceliece.McElieceKeyParameters
              |
              +--org.bouncycastle.pqc.legacy.crypto.mceliece.McEliecePrivateKeyParameters
All Implemented Interfaces:
CipherParameters

public class McEliecePrivateKeyParameters
extends McElieceKeyParameters


Constructor Summary
McEliecePrivateKeyParameters(int n, int k, byte[] encField, byte[] encGoppaPoly, byte[] encSInv, byte[] encP1, byte[] encP2, byte[] encH, byte[][] encQInv)
          Constructor.
McEliecePrivateKeyParameters(int n, int k, GF2mField field, PolynomialGF2mSmallM gp, Permutation p1, Permutation p2, GF2Matrix sInv)
          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 org.bouncycastle.pqc.legacy.crypto.mceliece.McElieceKeyParameters
getParameters
 
Methods inherited from class org.bouncycastle.crypto.params.AsymmetricKeyParameter
isPrivate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

McEliecePrivateKeyParameters

public McEliecePrivateKeyParameters(int n,
                                    int k,
                                    GF2mField field,
                                    PolynomialGF2mSmallM gp,
                                    Permutation p1,
                                    Permutation p2,
                                    GF2Matrix sInv)
Constructor.
Parameters:
n - the length of the code
k - the dimension of the code
field - the field polynomial defining the finite field GF(2 m)
gp - the irreducible Goppa polynomial
p1 - the permutation used to generate the systematic check matrix
p2 - the permutation used to compute the public generator matrix
sInv - the matrix S -1

McEliecePrivateKeyParameters

public McEliecePrivateKeyParameters(int n,
                                    int k,
                                    byte[] encField,
                                    byte[] encGoppaPoly,
                                    byte[] encSInv,
                                    byte[] encP1,
                                    byte[] encP2,
                                    byte[] encH,
                                    byte[][] encQInv)
Constructor.
Parameters:
n - the length of the code
k - the dimension of the code
encField - the encoded field polynomial defining the finite field GF(2 m)
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(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 GF(2 m)

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(2 m)) t

Bouncy Castle Cryptography Library 1.79