net.sourceforge.jtds.util
Class DESEngine

java.lang.Object
  extended bynet.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
(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
           
 
Constructor Summary
DESEngine()
          standard constructor.
DESEngine(boolean encrypting, byte[] key)
          mdb: convenient 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.
 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()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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
Constructor Detail

DESEngine

public DESEngine()
standard constructor.


DESEngine

public DESEngine(boolean encrypting,
                 byte[] key)
mdb: convenient constructor

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.



Generated on October 27 2012