BlockCipherpublic 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 | Description |
|---|---|---|
protected static int |
BLOCK_SIZE |
| Constructor | Description |
|---|---|
IDEAEngine() |
standard constructor.
|
| Modifier and Type | Method | 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