McEliecePrivateKeyParameters (Bouncy Castle Library 1.54 API Specification)
Date: 2015-12-29

org.bouncycastle.pqc.crypto.mceliece

## Class McEliecePrivateKeyParameters

- java.lang.Object
- - org.bouncycastle.crypto.params.AsymmetricKeyParameter
  - - org.bouncycastle.pqc.crypto.mceliece.McElieceKeyParameters
    - - org.bouncycastle.pqc.crypto.mceliece.McEliecePrivateKeyParameters

- All Implemented Interfaces:
    CipherParameters

      public class McEliecePrivateKeyParameters
      extends McElieceKeyParameters

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `McEliecePrivateKeyParameters(java.lang.String oid, int n, int k, byte[] encField, byte[] encGoppaPoly, byte[] encSInv, byte[] encP1, byte[] encP2, byte[] encH, byte[][] encQInv, McElieceParameters params)` Constructor.
    `McEliecePrivateKeyParameters(java.lang.String oid, int n, int k, GF2mField field, PolynomialGF2mSmallM goppaPoly, GF2Matrix sInv, Permutation p1, Permutation p2, GF2Matrix h, PolynomialGF2mSmallM[] qInv, McElieceParameters params)` Constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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 org.bouncycastle.pqc.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(java.lang.String oid,
                                      int n,
                                      int k,
                                      GF2mField field,
                                      PolynomialGF2mSmallM goppaPoly,
                                      GF2Matrix sInv,
                                      Permutation p1,
                                      Permutation p2,
                                      GF2Matrix h,
                                      PolynomialGF2mSmallM[] qInv,
                                      McElieceParameters params)

      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`
        `params` - McElieceParameters

    - #### McEliecePrivateKeyParameters

          public McEliecePrivateKeyParameters(java.lang.String oid,
                                      int n,
                                      int k,
                                      byte[] encField,
                                      byte[] encGoppaPoly,
                                      byte[] encSInv,
                                      byte[] encP1,
                                      byte[] encP2,
                                      byte[] encH,
                                      byte[][] encQInv,
                                      McElieceParameters params)

      Constructor.
      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`
        `params` - McElieceParameters

  - ### 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()