All Packages Class Hierarchy This Package Previous Next Index
Class cryptix.provider.key.DESKeyGenerator
java.lang.Object
|
+----java.security.KeyGenerator
|
+----cryptix.provider.key.RawKeyGenerator
|
+----cryptix.provider.key.DESKeyGenerator
- public class DESKeyGenerator
- extends RawKeyGenerator
A key generator for (single) DES.
DES keys have a fixed length of 8 bytes, with a parity bit as the LSB of each
byte (i.e. there are 2^56 possible keys).
Copyright © 1997
Systemics Ltd on behalf of the
Cryptix Development Team.
All rights reserved.
$Revision: 1.1.1.1 $
- Author:
- David Hopwood, Raif Naffah
-
DESKeyGenerator()
-
-
DESKeyGenerator(String, int)
- Constructor for use by subclasses that need to specify a different seed
length (e.g.
-
engineGenerateKey(byte[])
- This method allows subclasses to modify the bytes that will be
used to generate a key.
-
isWeak(byte[])
- Returns true iff the first 8 bytes of key represent a weak
or semi-weak single DES key.
-
isWeak(byte[], int)
- Returns true iff the bytes at key[offset..offset+7] represent a weak
or semi-weak single DES key.
-
setParity(byte[])
- Sets parity bits for the given input array.
DESKeyGenerator
public DESKeyGenerator()
DESKeyGenerator
protected DESKeyGenerator(String algorithm,
int seedlength)
- Constructor for use by subclasses that need to specify a different seed
length (e.g. for Triple DES).
engineGenerateKey
protected byte[] engineGenerateKey(byte seed[]) throws WeakKeyException, InvalidKeyException
- This method allows subclasses to modify the bytes that will be
used to generate a key.
- Overrides:
- engineGenerateKey in class RawKeyGenerator
setParity
protected void setParity(byte array[])
- Sets parity bits for the given input array. The least significant bit
of each byte is changed to ensure that the byte has odd parity.
isWeak
protected boolean isWeak(byte key[])
- Returns true iff the first 8 bytes of key represent a weak
or semi-weak single DES key.
- Overrides:
- isWeak in class RawKeyGenerator
isWeak
protected boolean isWeak(byte key[],
int offset)
- Returns true iff the bytes at key[offset..offset+7] represent a weak
or semi-weak single DES key. It can be called either before or after
setting parity bits.
(This checks for the 16 weak and semi-weak keys as given by Schneier,
Applied Cryptography 2nd ed., tables 12.11 and 12.12. It
does not check for the possibly-weak keys in table 12.13.)
All Packages Class Hierarchy This Package Previous Next Index