All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class iaik.security.cipher.IDEA

java.lang.Object
   |
   +----java.security.Cipher
           |
           +----iaik.security.cipher.IDEA

public class IDEA
extends Cipher
implements SymmetricCipher
The IDEA encryption method.

The basic algorithm came from "Applied Cryptography", Bruce Schneier, ISBN 0-471-59756-2.

The IDEA(tm) block cipher is covered by patents held by ETH and a Swiss company called Ascom-Tech AG. The Swiss patent number is PCT/CH91/00117, the European patent number is EP 0 482 154 B1, and the U.S. patent number is US005214703. IDEA(tm) is a trademark of Ascom-Tech AG. There is no license fee required for noncommercial use. Commercial users may obtain licensing details from Dieter Profos, Ascom Tech AG, Solothurn Lab, Postfach 151, 4502 Solothurn, Switzerland, Tel +41 65 242885, Fax +41 65 235761.


Constructor Index

 o IDEA()
Constructor for a IDEA Cipher.

Method Index

 o engineBlockSize()
Returns the length of an output block, in bytes.
 o engineInitDecrypt(Key)
Initializes this cipher for decryption, using the specified key.
 o engineInitEncrypt(Key)
Initializes this cipher for encryption, using the specified key.
 o engineUpdate(byte[], int, int, byte[], int)
Add to the bytes to be processed.

Constructors

 o IDEA
 public IDEA()
Constructor for a IDEA Cipher. This constructor is only for initializing the superclass. Applications should not call this constructor to get a IDEA Cipher; they should call one of the Cipher.getInstance factory methods instead.

See Also:
Cipher

Methods

 o engineInitEncrypt
 protected void engineInitEncrypt(Key ideaKey) throws InvalidKeyException
Initializes this cipher for encryption, using the specified key. The format of the key must be "RAW" and the length must be 16 bytes or 128 bits.

Parameters:
key - the key to use for encryption
Throws: InvalidKeyException
if the key is invalid
Overrides:
engineInitEncrypt in class Cipher
 o engineInitDecrypt
 protected void engineInitDecrypt(Key ideaKey) throws InvalidKeyException
Initializes this cipher for decryption, using the specified key. The format of the key must be "RAW" and the length must be 16 bytes or 128 bits.

Parameters:
key - the key to use for encryption
Throws: InvalidKeyException
if the key is invalid
Overrides:
engineInitDecrypt in class Cipher
 o engineUpdate
 public int engineUpdate(byte inText[],
                         int inOff,
                         int inLen,
                         byte outText[],
                         int outOff)
Add to the bytes to be processed. The result is written to the provided out buffer. The implementation is free to buffer any data, if the number of bytes passed is insufficient to process a whole block.

Parameters:
in - the input data
inOff - the offset indicating where the subarray starts in the in array
inLen - the length of the subarray
out - the output buffer.
outOff - the offset indicating where to start writing the result into the output buffer
Returns:
the number of bytes written to out.
Throws: IllegalBlockSizeException
if the length of the input data is not 64 bit
Overrides:
engineUpdate in class Cipher
 o engineBlockSize
 protected int engineBlockSize()
Returns the length of an output block, in bytes.

Returns:
the length in bytes of a block for this cipher
Overrides:
engineBlockSize in class Cipher

All Packages  Class Hierarchy  This Package  Previous  Next  Index