Class cryptix.security.IDEA
All Packages Class Hierarchy This Package Previous Next Index
Class cryptix.security.IDEA
java.lang.Object
|
+----cryptix.security.BlockCipher
|
+----cryptix.security.IDEA
- public final class IDEA
- extends BlockCipher
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.
References
IDEA was written by Dr. X. Lai and Prof. J. Massey.
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, 1996, 1997
Systemics Ltd
on behalf of the
Cryptix Development Team.
All rights reserved.
- Author:
- Systemics Ltd
-
BLOCK_LENGTH
- The length of a block - DEPRECATED - use blockLength() instead.
-
KEY_LENGTH
- The length of a the user key - DEPRECATED - use keyLength() instead.
-
IDEA(byte[])
- Create an IDEA block cipher from a key in a byte array.
-
blockDecrypt(byte[], int, byte[], int)
- Perform a decryption in the extended class.
-
blockEncrypt(byte[], int, byte[], int)
- Perform an encryption in the extended class.
-
blockLength()
- Return the block length of this cipher.
-
getLinkErrorString()
-
-
hasFileLibraryLoaded()
-
-
isLibraryCorrect()
-
-
keyLength()
- Return the key length of this cipher.
-
main(String[])
- Entry point for
self_test
.
-
native_dks()
- Place marker, untested, unworking.
-
native_encrypt(byte[], int, byte[], int, int[])
- Place marker, untested, unworking.
-
native_ks(byte[])
- Place marker, untested, unworking.
-
self_test(PrintStream, String[])
- Runs algorithm through test data.
BLOCK_LENGTH
public final static int BLOCK_LENGTH
- The length of a block - DEPRECATED - use blockLength() instead.
KEY_LENGTH
public final static int KEY_LENGTH
- The length of a the user key - DEPRECATED - use keyLength() instead.
IDEA
public IDEA(byte userKey[])
- Create an IDEA block cipher from a key in a byte array.
The byte array must be keyLength bytes long.
- Parameters:
- userKey - the user key in a byte[ keyLength() ] array
hasFileLibraryLoaded
public final static boolean hasFileLibraryLoaded()
isLibraryCorrect
public final static boolean isLibraryCorrect()
getLinkErrorString
public final static String getLinkErrorString()
blockLength
public int blockLength()
- Return the block length of this cipher.
- Returns:
- the block length in bytes is 8
- Overrides:
- blockLength in class BlockCipher
keyLength
public int keyLength()
- Return the key length of this cipher.
- Returns:
- the key length in bytes is 16
- Overrides:
- keyLength in class BlockCipher
blockEncrypt
protected void blockEncrypt(byte in[],
int in_offset,
byte out[],
int out_offset)
- Perform an encryption in the extended class.
- Overrides:
- blockEncrypt in class BlockCipher
blockDecrypt
protected void blockDecrypt(byte in[],
int in_offset,
byte out[],
int out_offset)
- Perform a decryption in the extended class.
- Overrides:
- blockDecrypt in class BlockCipher
native_ks
public void native_ks(byte userKey[])
- Place marker, untested, unworking.
native_dks
public void native_dks()
- Place marker, untested, unworking.
native_encrypt
public void native_encrypt(byte in[],
int in_offset,
byte out[],
int out_offset,
int key[])
- Place marker, untested, unworking.
main
public final static void main(String argv[])
- Entry point for
self_test
.
self_test
public static void self_test(PrintStream out,
String argv[]) throws Exception
- Runs algorithm through test data.
All Packages Class Hierarchy This Package Previous Next Index