|
Cryptix V3.2 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--xjava.security.IJCE_Traceable | +--xjava.security.Cipher | +--cryptix.provider.elgamal.RawElGamalCipher
The raw ElGamal encryption algorithm.
References:
Copyright © 1997
Systemics Ltd on behalf of the
Cryptix Development Team.
All rights reserved.
$Revision: 1.3 $
Fields inherited from class xjava.security.Cipher |
DECRYPT,
ENCRYPT,
UNINITIALIZED |
Constructor Summary | |
RawElGamalCipher()
Constructor for a RawElGamalCipher. |
Method Summary | |
protected int |
engineCiphertextBlockSize()
SPI: Return the ciphertext block size, in bytes. |
protected java.lang.Object |
engineGetParameter(java.lang.String param)
SPI: Return an algorithm-specific parameter. |
protected void |
engineInitDecrypt(java.security.Key key)
SPI: Initializes the cipher for decryption, using the given private key. |
protected void |
engineInitEncrypt(java.security.Key key)
SPI: Initializes the cipher for encryption, using the given public key. |
protected int |
enginePlaintextBlockSize()
SPI: Return the plaintext block size, in bytes. |
protected void |
engineSetParameter(java.lang.String param,
java.lang.Object value)
SPI: Set an algorithm-specific parameter. |
protected int |
engineUpdate(byte[] in,
int inOffset,
int inLen,
byte[] out,
int outOffset)
SPI: DOCUMENT ME |
static void |
main(java.lang.String[] args)
Entry point for very basic self_test . |
static void |
self_test(java.io.PrintWriter out)
|
Methods inherited from class xjava.security.Cipher |
blockSize,
clone,
crypt,
crypt,
crypt,
doFinal,
doFinal,
doFinal,
doFinal,
engineBlockSize,
engineCrypt,
engineInBufferSize,
engineOutBufferSize,
engineSetPaddingScheme,
getAlgorithm,
getAlgorithms,
getAlgorithms,
getCiphertextBlockSize,
getInputBlockSize,
getInstance,
getInstance,
getInstance,
getMode,
getOutputBlockSize,
getPadding,
getPaddingScheme,
getParameter,
getPlaintextBlockSize,
getProvider,
getState,
inBufferSize,
inBufferSizeFinal,
initDecrypt,
initEncrypt,
isPaddingBlockCipher,
outBufferSize,
outBufferSizeFinal,
setParameter,
toString,
update,
update,
update,
update |
Methods inherited from class java.lang.Object |
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
Constructor Detail |
public RawElGamalCipher()
Method Detail |
protected void engineInitEncrypt(java.security.Key key) throws java.security.KeyException
key
- the public keyprotected void engineInitDecrypt(java.security.Key key) throws java.security.KeyException
key
- the private keyprotected int enginePlaintextBlockSize()
If the key has not been set, this method throws CryptixException (a subclass of ProviderException).
protected int engineCiphertextBlockSize()
If the key has not been set, this method throws CryptixException (a subclass of ProviderException).
protected void engineSetParameter(java.lang.String param, java.lang.Object value)
ElGamal has one algorithm-specific parameter called "random", of type
java.util.Random, which specifies the source of random bits used to
generate the k values needed for encryption. If this parameter
is not set when initKey
is called, the result of
new SecureRandom()
will be used.
You can set the "random" parameter using the following code:
try { elgamal.setParameter("random", existingSecureRandom); } catch (InvalidParameterException e) { /* ignore */ } elgamal.initEncrypt(publicKey);
This is not useful if the cipher will only be used for decryption.
param
- the string identifier of the parameter.value
- the parameter value.protected java.lang.Object engineGetParameter(java.lang.String param)
ElGamal has one algorithm-specific parameter called "random", as described above. It is guaranteed to be a subclass of java.util.Random. Calling this method with a param string other than "random" will return null.
param
- the string name of the parameter.protected int engineUpdate(byte[] in, int inOffset, int inLen, byte[] out, int outOffset)
in
- the input data.inOffset
- the offset into in specifying where the
data starts.inLen
- the length of the subarray.out
- the output array.outOffset
- the offset indicating where to start writing into
the out array.public static final void main(java.lang.String[] args)
self_test
.public static void self_test(java.io.PrintWriter out) throws java.security.KeyException
|
Cryptix V3.2 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |