org.bouncycastle.crypto.engines
public class IDEAEngine extends 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). (baring 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 is patented in the USA, Japan, and Europe including at least Austria, France, Germany, Italy, Netherlands, Spain, Sweden, Switzerland and the United Kingdom. Non-commercial use is free, however any commercial products are liable for royalties. Please see www.mediacrypt.com for further details. This announcement has been included at the request of the patent holders.
| Field Summary | |
|---|---|
| protected static int | BLOCK_SIZE |
| Constructor Summary | |
|---|---|
| IDEAEngine()
standard constructor. | |
| Method Summary | |
|---|---|
| String | getAlgorithmName() |
| int | getBlockSize() |
| void | init(boolean forEncryption, CipherParameters params)
initialise an IDEA cipher.
|
| int | processBlock(byte[] in, int inOff, byte[] out, int outOff) |
| void | reset() |
Parameters: forEncryption whether or not we are for encryption. params the parameters required to set up the cipher.
Throws: IllegalArgumentException if the params argument is inappropriate.