Package 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 | Description
    --- | ---
    `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

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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.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(2m)`
        `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(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`