public class

ElGamalEngine

extends Object
implements AsymmetricBlockCipher
java.lang.Object
   ↳ org.bouncycastle.crypto.engines.ElGamalEngine

Class Overview

this does your basic ElGamal algorithm.

Summary

Public Constructors
ElGamalEngine()
Public Methods
int getInputBlockSize()
Return the maximum size for an input block to this engine.
int getOutputBlockSize()
Return the maximum size for an output block to this engine.
void init(boolean forEncryption, CipherParameters param)
initialise the ElGamal engine.
byte[] processBlock(byte[] in, int inOff, int inLen)
Process a single block using the basic ElGamal algorithm.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.bouncycastle.crypto.AsymmetricBlockCipher

Public Constructors

public ElGamalEngine ()

Public Methods

public int getInputBlockSize ()

Return the maximum size for an input block to this engine. For ElGamal this is always one byte less than the size of P on encryption, and twice the length as the size of P on decryption.

Returns
  • maximum size for an input block.

public int getOutputBlockSize ()

Return the maximum size for an output block to this engine. For ElGamal this is always one byte less than the size of P on decryption, and twice the length as the size of P on encryption.

Returns
  • maximum size for an output block.

public void init (boolean forEncryption, CipherParameters param)

initialise the ElGamal engine.

Parameters
forEncryption true if we are encrypting, false otherwise.
param the necessary ElGamal key parameters.

public byte[] processBlock (byte[] in, int inOff, int inLen)

Process a single block using the basic ElGamal algorithm.

Parameters
in the input array.
inOff the offset into the input buffer where the data starts.
inLen the length of the data to be processed.
Returns
  • the result of the ElGamal process.
Throws
DataLengthException the input block is too large.