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

org.bouncycastle.jce.spec

## Class IESParameterSpec

- java.lang.Object
- - org.bouncycastle.jce.spec.IESParameterSpec

- All Implemented Interfaces:
    java.security.spec.AlgorithmParameterSpec

      public class IESParameterSpec
      extends java.lang.Object
      implements java.security.spec.AlgorithmParameterSpec

  Parameter spec for an integrated encryptor, as in IEEE P1363a

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `IESParameterSpec(byte[] derivation, byte[] encoding, int macKeySize)` Set the IES engine parameters.
    `IESParameterSpec(byte[] derivation, byte[] encoding, int macKeySize, int cipherKeySize)` Set the IES engine parameters.
    `IESParameterSpec(byte[] derivation, byte[] encoding, int macKeySize, int cipherKeySize, byte[] nonce)` Set the IES engine parameters.
    `IESParameterSpec(byte[] derivation, byte[] encoding, int macKeySize, int cipherKeySize, byte[] nonce, boolean usePointCompression)` Set the IES engine parameters.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getCipherKeySize()` return the key size in bits for the block cipher used with the message
    `byte[]` | `getDerivationV()` return the derivation vector.
    `byte[]` | `getEncodingV()` return the encoding vector.
    `int` | `getMacKeySize()` return the key size in bits for the MAC used with the message
    `byte[]` | `getNonce()` Return the nonce (IV) value to be associated with message.
    `boolean` | `getPointCompression()` Return the 'point compression' flag.
    `void` | `setPointCompression(boolean usePointCompression)` Set the 'point compression' flag.

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

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

- - ### Constructor Detail

    - #### IESParameterSpec

          public IESParameterSpec(byte[] derivation,
                          byte[] encoding,
                          int macKeySize)

      Set the IES engine parameters.
      Parameters:
        `derivation` - the optional derivation vector for the KDF.
        `encoding` - the optional encoding vector for the KDF.
        `macKeySize` - the key size (in bits) for the MAC.

    - #### IESParameterSpec

          public IESParameterSpec(byte[] derivation,
                          byte[] encoding,
                          int macKeySize,
                          int cipherKeySize)

      Set the IES engine parameters.
      Parameters:
        `derivation` - the optional derivation vector for the KDF.
        `encoding` - the optional encoding vector for the KDF.
        `macKeySize` - the key size (in bits) for the MAC.
        `cipherKeySize` - the key size (in bits) for the block cipher.

    - #### IESParameterSpec

          public IESParameterSpec(byte[] derivation,
                          byte[] encoding,
                          int macKeySize,
                          int cipherKeySize,
                          byte[] nonce)

      Set the IES engine parameters.
      Parameters:
        `derivation` - the optional derivation vector for the KDF.
        `encoding` - the optional encoding vector for the KDF.
        `macKeySize` - the key size (in bits) for the MAC.
        `cipherKeySize` - the key size (in bits) for the block cipher.
        `nonce` - an IV to use initialising the block cipher.

    - #### IESParameterSpec

          public IESParameterSpec(byte[] derivation,
                          byte[] encoding,
                          int macKeySize,
                          int cipherKeySize,
                          byte[] nonce,
                          boolean usePointCompression)

      Set the IES engine parameters.
      Parameters:
        `derivation` - the optional derivation vector for the KDF.
        `encoding` - the optional encoding vector for the KDF.
        `macKeySize` - the key size (in bits) for the MAC.
        `cipherKeySize` - the key size (in bits) for the block cipher.
        `nonce` - an IV to use initialising the block cipher.
        `usePointCompression` - whether to use EC point compression or not (false by default)

  - ### Method Detail

    - #### getDerivationV

          public byte[] getDerivationV()

      return the derivation vector.

    - #### getEncodingV

          public byte[] getEncodingV()

      return the encoding vector.

    - #### getMacKeySize

          public int getMacKeySize()

      return the key size in bits for the MAC used with the message

    - #### getCipherKeySize

          public int getCipherKeySize()

      return the key size in bits for the block cipher used with the message

    - #### getNonce

          public byte[] getNonce()

      Return the nonce (IV) value to be associated with message.
      Returns:
        block cipher IV for message.

    - #### setPointCompression

          public void setPointCompression(boolean usePointCompression)

      Set the 'point compression' flag.

    - #### getPointCompression

          public boolean getPointCompression()

      Return the 'point compression' flag.
      Returns:
        the point compression flag