All Packages Class Hierarchy This Package Previous Next Index
Class cryptix.provider.cipher.IDEA
java.lang.Object
|
+----java.security.IJCE_Traceable
|
+----java.security.Cipher
|
+----cryptix.provider.cipher.IDEA
- public final class IDEA
- extends Cipher
- implements SymmetricCipher
IDEA is a block cipher with a key length of 16 bytes and a block length of
8 bytes. It is highly popular, being the original cipher in PGP, and has
received a lot of cryptanalytic attention.
IDEA was written by Dr. X. Lai and Prof. J. Massey.
References:
- See the IDEA page
for more details.
- The algorithm is subject to patent claims by
Ascom Systec Ltd
(applied for May 1991), and is
licensable.
Copyright © 1995-1997
Systemics Ltd on behalf of the
Cryptix Development Team.
All rights reserved.
$Revision: 1.3 $
- Author:
- Systemics Ltd, David Hopwood, Raif S. Naffah
-
IDEA()
- Constructs an IDEA cipher object, in the UNINITIALIZED state.
-
clone()
- Always throws a CloneNotSupportedException (cloning of ciphers is not
supported for security reasons).
-
engineBlockSize()
- SPI: Returns the length of an input block, in bytes.
-
engineInitDecrypt(Key)
- SPI: Initializes this cipher for decryption, using the
specified key.
-
engineInitEncrypt(Key)
- SPI: Initializes this cipher for encryption, using the
specified key.
-
engineUpdate(byte[], int, int, byte[], int)
- SPI: This is the main engine method for updating data.
-
finalize()
- Cleans up resources used by this instance, if necessary.
-
getLinkStatus()
- Gets an object representing the native linking status of this class.
-
main(String[])
- Entry point for very basic
self_test
.
-
self_test()
- Do some basic tests.
IDEA
public IDEA()
- Constructs an IDEA cipher object, in the UNINITIALIZED state.
This calls the Cipher constructor with implBuffering false,
implPadding false and the provider set to "Cryptix".
getLinkStatus
public static LinkStatus getLinkStatus()
- Gets an object representing the native linking status of this class.
finalize
protected final void finalize()
- Cleans up resources used by this instance, if necessary.
- Overrides:
- finalize in class Object
clone
public final Object clone() throws CloneNotSupportedException
- Always throws a CloneNotSupportedException (cloning of ciphers is not
supported for security reasons).
- Overrides:
- clone in class Cipher
engineBlockSize
protected int engineBlockSize()
- SPI: Returns the length of an input block, in bytes.
- Returns:
- the length in bytes of an input block for this cipher.
- Overrides:
- engineBlockSize in class Cipher
engineInitEncrypt
protected void engineInitEncrypt(Key key) throws InvalidKeyException, CryptixException
- SPI: Initializes this cipher for encryption, using the
specified key.
- Parameters:
- key - the key to use for encryption.
- Throws: InvalidKeyException
- if one of the following occurs:
- key.getEncoded() == null;
- The length of the user key array is not KEY_LENGTH.
- Overrides:
- engineInitEncrypt in class Cipher
engineInitDecrypt
protected void engineInitDecrypt(Key key) throws InvalidKeyException, CryptixException
- SPI: Initializes this cipher for decryption, using the
specified key.
- Parameters:
- key - the key to use for encryption.
- Throws: InvalidKeyException
- if one of the following occurs:
- key.getEncoded() == null;
- The length of the user key array is not KEY_LENGTH.
- Overrides:
- engineInitDecrypt in class Cipher
engineUpdate
protected int engineUpdate(byte in[],
int inOffset,
int inLen,
byte out[],
int outOffset)
- SPI: This is the main engine method for updating data.
in and out may be the same array, and the input and output
regions may overlap.
- Parameters:
- 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.
- Returns:
- the number of bytes written.
- Throws: CryptixException
- if the native library is being used, and it
reports an error.
- Overrides:
- engineUpdate in class Cipher
main
public static void main(String argv[])
- Entry point for very basic
self_test
.
self_test
public static void self_test() throws Throwable
- Do some basic tests.
Three of the certification data are included only, no output,
success or exception.
If you want more, write a test program!
- See Also:
- IDEA
All Packages Class Hierarchy This Package Previous Next Index