Package com.trilead.ssh2.crypto.cipher
Class DES
- java.lang.Object
-
- com.trilead.ssh2.crypto.cipher.DES
-
- All Implemented Interfaces:
BlockCipher
- Direct Known Subclasses:
DESede
public class DES extends java.lang.Object implements BlockCipher
DES.- Version:
- $Id: DES.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static int[]bigbyte(package private) static short[]bytebit(package private) static short[]Df_Keywhat 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[]totrotprivate int[]workingKey
-
Constructor Summary
Constructors Constructor Description DES()standard constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddesFunc(int[] wKey, byte[] in, int inOff, byte[] out, int outOff)the DES engine.protected int[]generateWorkingKey(boolean encrypting, byte[] key, int off)generate an integer based working key based on our secret key and what we processing we are planning to do.java.lang.StringgetAlgorithmName()intgetBlockSize()voidinit(boolean encrypting, byte[] key)initialise a DES cipher.voidreset()voidtransformBlock(byte[] in, int inOff, byte[] out, int outOff)
-
-
-
Field Detail
-
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.- Specified by:
initin interfaceBlockCipher- 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()
- Specified by:
getBlockSizein interfaceBlockCipher
-
transformBlock
public void transformBlock(byte[] in, int inOff, byte[] out, int outOff)- Specified by:
transformBlockin interfaceBlockCipher
-
reset
public void reset()
-
generateWorkingKey
protected int[] generateWorkingKey(boolean encrypting, byte[] key, int off)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.
-
-