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

org.bouncycastle.pqc.jcajce.provider.mceliece

## Class McElieceCCA2Primitives

- java.lang.Object
- - org.bouncycastle.pqc.jcajce.provider.mceliece.McElieceCCA2Primitives

-     public final class McElieceCCA2Primitives
      extends java.lang.Object

  Core operations for the CCA-secure variants of McEliece.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static GF2Vector[]` | `decryptionPrimitive(BCMcElieceCCA2PrivateKey privKey, GF2Vector c)` The McEliece decryption primitive.
    `static GF2Vector[]` | `decryptionPrimitive(McElieceCCA2PrivateKeyParameters privKey, GF2Vector c)`
    `static GF2Vector` | `encryptionPrimitive(BCMcElieceCCA2PublicKey pubKey, GF2Vector m, GF2Vector z)` The McEliece encryption primitive.
    `static GF2Vector` | `encryptionPrimitive(McElieceCCA2PublicKeyParameters pubKey, GF2Vector m, GF2Vector z)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### encryptionPrimitive

          public static GF2Vector encryptionPrimitive(BCMcElieceCCA2PublicKey pubKey,
                                      GF2Vector m,
                                      GF2Vector z)

      The McEliece encryption primitive.
      Parameters:
        `pubKey` - the public key
        `m` - the message vector
        `z` - the error vector
      Returns:
        `m*G + z`

    - #### encryptionPrimitive

          public static GF2Vector encryptionPrimitive(McElieceCCA2PublicKeyParameters pubKey,
                                      GF2Vector m,
                                      GF2Vector z)

    - #### decryptionPrimitive

          public static GF2Vector[] decryptionPrimitive(BCMcElieceCCA2PrivateKey privKey,
                                        GF2Vector c)

      The McEliece decryption primitive.
      Parameters:
        `privKey` - the private key
        `c` - the ciphertext vector `c = m*G + z`
      Returns:
        the message vector `m` and the error vector `z`

    - #### decryptionPrimitive

          public static GF2Vector[] decryptionPrimitive(McElieceCCA2PrivateKeyParameters privKey,
                                        GF2Vector c)