cryptix.provider.key
Class DESKeyGenerator
- Cloneable, ExtendedKeyGenerator, Parameterized
public class DESKeyGenerator
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.2 $
DESKeyGenerator()
|
DESKeyGenerator(String algorithm, int seedlength)- Constructor for use by subclasses that need to specify a different seed
length (e.g.
|
protected byte[] | engineGenerateKey(byte[] seed)
|
protected boolean | isWeak(byte[] key)- Returns true iff the first 8 bytes of key represent a weak
or semi-weak single DES key.
|
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.
|
protected void | setParity(byte[] array)- Sets parity bits for the given input array.
|
engineGenerateKey, generateKey, generateKey, getDefaultKeyLength, getMaximumKeyLength, getMinimumKeyLength, initialize, initialize, isValidKeyLength, isWeak, isWeakAllowed, setWeakAllowed |
clone, engineGetParameter, engineSetParameter, generateKey, getAlgorithm, getAlgorithms, getAlgorithms, getInstance, getInstance, getParameter, initialize, setParameter, toString |
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).
isWeak
protected boolean isWeak(byte[] key)
Returns true iff the first 8 bytes of key represent a weak
or semi-weak single DES key.
- isWeak in interface 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.)
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.