cryptix.provider.key
public class DESKeyGenerator extends RawKeyGenerator
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 $
Since: Cryptix 2.2.0a, 2.2.2
Constructor Summary | |
---|---|
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). |
Method Summary | |
---|---|
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. |
(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.)