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

Variable Index

 o BLOCK_LENGTH
The length of a block - DEPRECATED - use blockLength() instead.
 o KEY_LENGTH
The length of a the user key - DEPRECATED - use keyLength() instead.

Constructor Index

 o IDEA(byte[])
Create an IDEA block cipher from a key in a byte array.

Method Index

 o blockDecrypt(byte[], int, byte[], int)
Perform a decryption in the extended class.
 o blockEncrypt(byte[], int, byte[], int)
Perform an encryption in the extended class.
 o blockLength()
Return the block length of this cipher.
 o getLinkErrorString()
 o hasFileLibraryLoaded()
 o isLibraryCorrect()
 o keyLength()
Return the key length of this cipher.
 o main(String[])
Entry point for self_test.
 o native_dks()
Place marker, untested, unworking.
 o native_encrypt(byte[], int, byte[], int, int[])
Place marker, untested, unworking.
 o native_ks(byte[])
Place marker, untested, unworking.
 o self_test(PrintStream, String[])
Runs algorithm through test data.

Variables

 o BLOCK_LENGTH
  public final static int BLOCK_LENGTH
The length of a block - DEPRECATED - use blockLength() instead.
 o KEY_LENGTH
  public final static int KEY_LENGTH
The length of a the user key - DEPRECATED - use keyLength() instead.

Constructors

 o 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

Methods

 o hasFileLibraryLoaded
  public final static boolean hasFileLibraryLoaded()
 o isLibraryCorrect
  public final static boolean isLibraryCorrect()
 o getLinkErrorString
  public final static String getLinkErrorString()
 o blockLength
  public int blockLength()
Return the block length of this cipher.
Returns:
the block length in bytes is 8
Overrides:
blockLength in class BlockCipher
 o keyLength
  public int keyLength()
Return the key length of this cipher.
Returns:
the key length in bytes is 16
Overrides:
keyLength in class BlockCipher
 o 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
 o 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
 o native_ks
  public void native_ks(byte userKey[])
Place marker, untested, unworking.
 o native_dks
  public void native_dks()
Place marker, untested, unworking.
 o native_encrypt
  public void native_encrypt(byte in[],
                             int in_offset,
                             byte out[],
                             int out_offset,
                             int key[])
Place marker, untested, unworking.
 o main
  public final static void main(String argv[])
Entry point for self_test.
 o 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