public class IDEAEngine extends java.lang.Object implements BlockCipher
This implementation is based on the "HOWTO: INTERNATIONAL DATA ENCRYPTION ALGORITHM" implementation summary by Fauzan Mirza (F.U.Mirza@sheffield.ac.uk). (barring 1 typo at the end of the mulinv function!).
It can be found at ftp://ftp.funet.fi/pub/crypt/cryptography/symmetric/idea/
Note: This algorithm was patented in the USA, Japan and Europe. These patents expired in 2011/2012.
| Modifier and Type | Field and Description |
|---|---|
protected static int |
BLOCK_SIZE |
| Constructor and Description |
|---|
IDEAEngine()
standard constructor.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
getAlgorithmName()
Return the name of the algorithm the cipher implements.
|
int |
getBlockSize()
Return the block size for this cipher (in bytes).
|
void |
init(boolean forEncryption,
CipherParameters params)
initialise an IDEA cipher.
|
int |
processBlock(byte[] in,
int inOff,
byte[] out,
int outOff)
Process one block of input from the array in and write it to
the out array.
|
void |
reset()
Reset the cipher.
|
protected static final int BLOCK_SIZE
public void init(boolean forEncryption,
CipherParameters params)
init in interface BlockCipherforEncryption - whether or not we are for encryption.params - the parameters required to set up the cipher.java.lang.IllegalArgumentException - if the params argument is
inappropriate.public java.lang.String getAlgorithmName()
BlockCiphergetAlgorithmName in interface BlockCipherpublic int getBlockSize()
BlockCiphergetBlockSize in interface BlockCipherpublic int processBlock(byte[] in,
int inOff,
byte[] out,
int outOff)
BlockCipherprocessBlock in interface BlockCipherin - the array containing the input data.inOff - offset into the in array the data starts at.out - the array the output data will be copied into.outOff - the offset into the out array the output will start at.public void reset()
BlockCipherreset in interface BlockCipher