org.bouncycastle.crypto.engines
Class Grainv1Engine
java.lang.Object
|
+--org.bouncycastle.crypto.engines.Grainv1Engine
- All Implemented Interfaces:
- StreamCipher
- public class Grainv1Engine
- extends java.lang.Object
- implements StreamCipher
Implementation of Martin Hell's, Thomas Johansson's and Willi Meier's stream
cipher, Grain v1.
Method Summary |
java.lang.String |
getAlgorithmName()
Return the name of the algorithm the cipher implements. |
void |
init(boolean forEncryption,
CipherParameters params)
Initialize a Grain v1 cipher. |
int |
processBytes(byte[] in,
int inOff,
int len,
byte[] out,
int outOff)
process a block of bytes from in putting the result into out. |
void |
reset()
reset the cipher. |
byte |
returnByte(byte in)
encrypt/decrypt a single byte returning the result. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Grainv1Engine
public Grainv1Engine()
getAlgorithmName
public java.lang.String getAlgorithmName()
- Description copied from interface:
StreamCipher
- Return the name of the algorithm the cipher implements.
- Specified by:
getAlgorithmName
in interface StreamCipher
- Following copied from interface:
org.bouncycastle.crypto.StreamCipher
- Returns:
- the name of the algorithm the cipher implements.
init
public void init(boolean forEncryption,
CipherParameters params)
throws java.lang.IllegalArgumentException
- Initialize a Grain v1 cipher.
- Specified by:
init
in interface StreamCipher
- Parameters:
forEncryption
- Whether or not we are for encryption.params
- The parameters required to set up the cipher.- Throws:
java.lang.IllegalArgumentException
- If the params argument is inappropriate.
processBytes
public int processBytes(byte[] in,
int inOff,
int len,
byte[] out,
int outOff)
throws DataLengthException
- Description copied from interface:
StreamCipher
- process a block of bytes from in putting the result into out.
- Specified by:
processBytes
in interface StreamCipher
- Following copied from interface:
org.bouncycastle.crypto.StreamCipher
- Parameters:
in
- the input byte array.inOff
- the offset into the in array where the data to be processed starts.len
- the number of bytes to be processed.out
- the output buffer the processed bytes go into.outOff
- the offset into the output byte array the processed data starts at.- Returns:
- the number of bytes produced - should always be len.
- Throws:
DataLengthException
- if the output buffer is too small.
reset
public void reset()
- Description copied from interface:
StreamCipher
- reset the cipher. This leaves it in the same state
it was at after the last init (if there was one).
- Specified by:
reset
in interface StreamCipher
returnByte
public byte returnByte(byte in)
- Description copied from interface:
StreamCipher
- encrypt/decrypt a single byte returning the result.
- Specified by:
returnByte
in interface StreamCipher
- Following copied from interface:
org.bouncycastle.crypto.StreamCipher
- Parameters:
in
- the byte to be processed.- Returns:
- the result of processing the input byte.