<PackageReference Include="BouncyCastle.Cryptography" Version="2.7.0" />

Org.BouncyCastle.Crypto.Engines.ElGamalEngine

This does your basic ElGamal algorithm.
public virtual string AlgorithmName { get; }

public ElGamalEngine()

public virtual int GetInputBlockSize()

Return the maximum size for an input block to this engine.

public virtual int GetOutputBlockSize()

Return the maximum size for an output block to this engine.

public virtual void Init(bool forEncryption, ICipherParameters parameters)

Initialise the ElGamal engine.

public virtual byte[] ProcessBlock(byte[] input, int inOff, int length)

Process a single block using the basic ElGamal algorithm.