Bouncy Castle Cryptography 1.11 API Specification: Class ElGamalEngine
org.bouncycastle.crypto.engines
Class ElGamalEngine
java.lang.Object
|
+--org.bouncycastle.crypto.engines.ElGamalEngine
All Implemented Interfaces: AsymmetricBlockCipher
public class ElGamalEngine extends java.lang.Objectimplements AsymmetricBlockCipher
this does your basic ElGamal algorithm.
Method Summary
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.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
ElGamalEngine
public ElGamalEngine ()
init
public void init (boolean forEncryption,
CipherParameters param)
initialise the ElGamal engine.
Specified by: init
in interface AsymmetricBlockCipher
Parameters: forEncryption
- true if we are encrypting, false otherwise.param
- the necessary ElGamal key parameters.
getInputBlockSize
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.
Specified by: getInputBlockSize
in interface AsymmetricBlockCipher
Returns: maximum size for an input block.
getOutputBlockSize
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.
Specified by: getOutputBlockSize
in interface AsymmetricBlockCipher
Returns: maximum size for an output block.
processBlock
public byte[] processBlock (byte[] in,
int inOff,
int inLen)
Process a single block using the basic ElGamal algorithm.
Specified by: processBlock
in interface AsymmetricBlockCipher
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.