javax.crypto.spec
Class DESKeySpec

java.lang.Object
  extended by javax.crypto.spec.DESKeySpec
All Implemented Interfaces:
KeySpec

public class DESKeySpec
extends Object
implements KeySpec

This class specifies a DES key.

Version:
$Id: DESKeySpec.java 1913 2007-08-08 02:41:53Z jpeters $
Author:
Patric Kabus, Jan Peters

Field Summary
static int DES_KEY_LEN
          The constant which defines the length of a DES key in bytes.
private  byte[] key_
          The DES key material.
private static byte[][] WEAK_KEYS
          An array of weak DES keys.
 
Constructor Summary
DESKeySpec(byte[] key)
          Uses the first 8 bytes in key as the key material for the DES key.
DESKeySpec(byte[] key, int offset)
          Uses the first 8 bytes in key, beginning at offset inclusive, as the key material for the DES key.
 
Method Summary
 byte[] getKey()
          Returns the DES key material.
static boolean isParityAdjusted(byte[] key, int offset)
          Checks if the given DES key material, starting at offset inclusive, is parity-adjusted.
static boolean isWeak(byte[] key, int offset)
          Checks if the given DES key material is weak or semi-weak.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DES_KEY_LEN

public static final int DES_KEY_LEN
The constant which defines the length of a DES key in bytes.

See Also:
Constant Field Values

WEAK_KEYS

private static final byte[][] WEAK_KEYS
An array of weak DES keys.


key_

private byte[] key_
The DES key material.

Constructor Detail

DESKeySpec

public DESKeySpec(byte[] key)
           throws InvalidKeyException
Uses the first 8 bytes in key as the key material for the DES key.

The bytes that constitute the DES key are those between key[0] and key[7] inclusive.

Parameters:
key - the buffer with the DES key material.
Throws:
InvalidKeyException - if the given key material is shorter than 8 bytes.
NullPointerException - if key is null.

DESKeySpec

public DESKeySpec(byte[] key,
                  int offset)
           throws InvalidKeyException
Uses the first 8 bytes in key, beginning at offset inclusive, as the key material for the DES key.

The bytes that constitute the DES key are those between key[offset] and key[offset+7] inclusive.

Parameters:
key - the buffer with the DES key material.
offset - the offset in key, where the DES key material starts.
Throws:
InvalidKeyException - if the given key material, starting at offset inclusive, is shorter than 8 bytes.
NullPointerException - if key is null.
Method Detail

getKey

public byte[] getKey()
Returns the DES key material.

Returns:
the DES key material.

isParityAdjusted

public static boolean isParityAdjusted(byte[] key,
                                       int offset)
                                throws InvalidKeyException
Checks if the given DES key material, starting at offset inclusive, is parity-adjusted.

Parameters:
key - the buffer with the DES key material.
offset - the offset in key, where the DES key material starts.
Returns:
true if the given DES key material is parity-adjusted, false otherwise.
Throws:
InvalidKeyException - if the given key material, starting at offset inclusive, is shorter than 8 bytes.
NullPointerException - if key is null.

isWeak

public static boolean isWeak(byte[] key,
                             int offset)
                      throws InvalidKeyException
Checks if the given DES key material is weak or semi-weak.

Parameters:
key - the buffer with the DES key material.
offset - the offset in key, where the DES key material starts.
Returns:
true if the given DES key material is weak or semi-weak, false otherwise.
Throws:
InvalidKeyException - if the given key material, starting at offset inclusive, is shorter than 8 bytes.
NullPointerException - if key is null.


Copyright © Fraunhofer Gesellschaft. All Rights Reserved.