public class

SerpentEngine

extends Object
implements BlockCipher
java.lang.Object
   ↳ org.bouncycastle.crypto.engines.SerpentEngine

Class Overview

Serpent is a 128-bit 32-round block cipher with variable key lengths, including 128, 192 and 256 bit keys conjectured to be at least as secure as three-key triple-DES.

Serpent was designed by Ross Anderson, Eli Biham and Lars Knudsen as a candidate algorithm for the NIST AES Quest.>

For full details see the The Serpent home page

Summary

Public Constructors
SerpentEngine()
Public Methods
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 encrypting, CipherParameters params)
initialise a Serpent cipher.
final 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.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.bouncycastle.crypto.BlockCipher

Public Constructors

public SerpentEngine ()

Public Methods

public String getAlgorithmName ()

Return the name of the algorithm the cipher implements.

Returns
  • the name of the algorithm the cipher implements.

public int getBlockSize ()

Return the block size for this cipher (in bytes).

Returns
  • the block size for this cipher in bytes.

public void init (boolean encrypting, CipherParameters params)

initialise a Serpent cipher.

Parameters
encrypting whether or not we are for encryption.
params the parameters required to set up the cipher.
Throws
IllegalArgumentException if the params argument is inappropriate.

public final 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.

Parameters
in 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.
Returns
  • the number of bytes processed and produced.
Throws
DataLengthException if there isn't enough data in in, or space in out.
IllegalStateException if the cipher isn't initialised.

public void reset ()

Reset the cipher. After resetting the cipher is in the same state as it was after the last init (if there was one).