Bouncy Castle Cryptography Library 1.77.0

org.bouncycastle.crypto.engines
Class Grain128Engine

java.lang.Object
  |
  +--org.bouncycastle.crypto.engines.Grain128Engine
All Implemented Interfaces:
StreamCipher

public class Grain128Engine
extends java.lang.Object
implements StreamCipher

Implementation of Martin Hell's, Thomas Johansson's and Willi Meier's stream cipher, Grain-128.


Constructor Summary
Grain128Engine()
           
 
Method Summary
 java.lang.String getAlgorithmName()
          Return the name of the algorithm the cipher implements.
 void init(boolean forEncryption, CipherParameters params)
          Initialize a Grain-128 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
 

Constructor Detail

Grain128Engine

public Grain128Engine()
Method Detail

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-128 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.

Bouncy Castle Cryptography Library 1.77.0