org.bouncycastle.crypto.engines

Class DESEngine

Implemented Interfaces:
BlockCipher
Known Direct Subclasses:
DESedeEngine

public class DESEngine
extends java.lang.Object
implements BlockCipher

a class that provides a basic DES engine.

Field Summary

protected static int
BLOCK_SIZE

Constructor Summary

DESEngine()
standard constructor.

Method Summary

protected void
desFunc(int[] wKey, byte[] in, int inOff, byte[] out, int outOff)
the DES engine.
protected int[]
generateWorkingKey(boolean encrypting, byte[] key)
generate an integer based working key based on our secret key and what we processing we are planning to do.
String
getAlgorithmName()
int
getBlockSize()
void
init(boolean encrypting, CipherParameters params)
initialise a DES cipher.
int
processBlock(byte[] in, int inOff, byte[] out, int outOff)
void
reset()

Field Details

BLOCK_SIZE

protected static final int BLOCK_SIZE
Field Value:
8

Constructor Details

DESEngine

public DESEngine()
standard constructor.

Method Details

desFunc

protected void desFunc(int[] wKey,
                       byte[] in,
                       int inOff,
                       byte[] out,
                       int outOff)
the DES engine.

generateWorkingKey

protected int[] generateWorkingKey(boolean encrypting,
                                   byte[] key)
generate an integer based working key based on our secret key and what we processing we are planning to do. Acknowledgements for this routine go to James Gillogly & Phil Karn. (whoever, and wherever they are!).

getAlgorithmName

public String getAlgorithmName()
Specified by:
getAlgorithmName in interface BlockCipher

getBlockSize

public int getBlockSize()
Specified by:
getBlockSize in interface BlockCipher

init

public void init(boolean encrypting,
                 CipherParameters params)
initialise a DES cipher.
Specified by:
init in interface BlockCipher
Parameters:
encrypting - whether or not we are for encryption.
params - the parameters required to set up the cipher.

processBlock

public int processBlock(byte[] in,
                        int inOff,
                        byte[] out,
                        int outOff)
Specified by:
processBlock in interface BlockCipher

reset

public void reset()
Specified by:
reset in interface BlockCipher