Package net.sourceforge.jtds.util
Class DESEngine
- java.lang.Object
-
- net.sourceforge.jtds.util.DESEngine
-
public class DESEngine extends java.lang.Object
a class that provides a basic DES engine. Modified by Matt Brinkley (mdb) ... mainly just removed depends on external classes.- Version:
- $Id: DESEngine.java,v 1.3.6.1 2009/08/04 10:33:54 ickzon Exp $
- Author:
- Matt Brinkley
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static int[]
bigbyte
protected static int
BLOCK_SIZE
(package private) static short[]
bytebit
(package private) static short[]
Df_Key
what follows is mainly taken from "Applied Cryptography", by Bruce Schneier, however it also bears great resemblance to Richard Outerbridge's D3DES...(package private) static byte[]
pc1
(package private) static byte[]
pc2
(package private) static int[]
SP1
(package private) static int[]
SP2
(package private) static int[]
SP3
(package private) static int[]
SP4
(package private) static int[]
SP5
(package private) static int[]
SP6
(package private) static int[]
SP7
(package private) static int[]
SP8
(package private) static byte[]
totrot
private int[]
workingKey
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.java.lang.String
getAlgorithmName()
int
getBlockSize()
void
init(boolean encrypting, byte[] key)
initialise a DES cipher.int
processBlock(byte[] in, int inOff, byte[] out, int outOff)
void
reset()
-
-
-
Field Detail
-
BLOCK_SIZE
protected static final int BLOCK_SIZE
- See Also:
- Constant Field Values
-
workingKey
private int[] workingKey
-
Df_Key
static short[] Df_Key
what follows is mainly taken from "Applied Cryptography", by Bruce Schneier, however it also bears great resemblance to Richard Outerbridge's D3DES...
-
bytebit
static short[] bytebit
-
bigbyte
static int[] bigbyte
-
pc1
static byte[] pc1
-
totrot
static byte[] totrot
-
pc2
static byte[] pc2
-
SP1
static int[] SP1
-
SP2
static int[] SP2
-
SP3
static int[] SP3
-
SP4
static int[] SP4
-
SP5
static int[] SP5
-
SP6
static int[] SP6
-
SP7
static int[] SP7
-
SP8
static int[] SP8
-
-
Method Detail
-
init
public void init(boolean encrypting, byte[] key)
initialise a DES cipher.- Parameters:
encrypting
- whether or not we are for encryption.key
- the parameters required to set up the cipher.- Throws:
java.lang.IllegalArgumentException
- if the params argument is inappropriate.
-
getAlgorithmName
public java.lang.String getAlgorithmName()
-
getBlockSize
public int getBlockSize()
-
processBlock
public int processBlock(byte[] in, int inOff, byte[] out, int outOff)
-
reset
public void reset()
-
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!).
-
desFunc
protected void desFunc(int[] wKey, byte[] in, int inOff, byte[] out, int outOff)
the DES engine.
-
-