ECNewPublicKeyTransform (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

org.bouncycastle.crypto.ec

## Class ECNewPublicKeyTransform

- java.lang.Object
- - org.bouncycastle.crypto.ec.ECNewPublicKeyTransform

- All Implemented Interfaces:
    ECPairTransform

      public class ECNewPublicKeyTransform
      extends java.lang.Object
      implements ECPairTransform

  this does your basic Elgamal encryption algorithm using EC

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ECNewPublicKeyTransform()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected ECMultiplier` | `createBasePointMultiplier()`
    `void` | `init(CipherParameters param)` initialise the EC Elgamal engine.
    `ECPair` | `transform(ECPair cipherText)` Transform an existing cipher text pair using the ElGamal algorithm.

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

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

- - ### Constructor Detail

    - #### ECNewPublicKeyTransform

          public ECNewPublicKeyTransform()

  - ### Method Detail

    - #### init

          public void init(CipherParameters param)

      initialise the EC Elgamal engine.
      Specified by:
        `init` in interface `ECPairTransform`
      Parameters:
        `param` - the necessary EC key parameters.

    - #### transform

          public ECPair transform(ECPair cipherText)

      Transform an existing cipher text pair using the ElGamal algorithm. Note: the input cipherText will need to be preserved in order to complete the transformation to the new public key.
      Specified by:
        `transform` in interface `ECPairTransform`
      Parameters:
        `cipherText` - the EC point to process.
      Returns:
        returns a new ECPair representing the result of the process.

    - #### createBasePointMultiplier

          protected ECMultiplier createBasePointMultiplier()