cryptix.provider.key

Class DES_EDE3KeyGenerator

Implemented Interfaces:
Cloneable, ExtendedKeyGenerator, Parameterized

public class DES_EDE3KeyGenerator
extends DESKeyGenerator

A key generator for Triple DES with 3 independent DES keys.

A total of 24 bytes are generated, with a parity bit as the LSB of each byte (i.e. there are 2^168 possible keys). The keys are encoded in the order in which they are used for encryption. A Triple DES key is considered weak if any of its constituent keys are weak, or if two or more of those keys are equal, ignoring parity.

Copyright © 1997 Systemics Ltd on behalf of the Cryptix Development Team.
All rights reserved.

$Revision: 1.2 $

Authors:
David Hopwood
Raif Naffah
Since:
Cryptix 2.2.0a, 2.2.2

Constructor Summary

DES_EDE3KeyGenerator()

Method Summary

protected boolean
isWeak(byte[] key)
Returns true iff the first 24 bytes of key represent a weak or semi-weak Triple DES key.

Methods inherited from class cryptix.provider.key.DESKeyGenerator

engineGenerateKey, isWeak, isWeak, setParity

Methods inherited from class cryptix.provider.key.RawKeyGenerator

engineGenerateKey, generateKey, generateKey, getDefaultKeyLength, getMaximumKeyLength, getMinimumKeyLength, initialize, initialize, isValidKeyLength, isWeak, isWeakAllowed, setWeakAllowed

Methods inherited from class xjava.security.KeyGenerator

clone, engineGetParameter, engineSetParameter, generateKey, getAlgorithm, getAlgorithms, getAlgorithms, getInstance, getInstance, getParameter, initialize, setParameter, toString

Constructor Details

DES_EDE3KeyGenerator

public DES_EDE3KeyGenerator()

Method Details

isWeak

protected boolean isWeak(byte[] key)
Returns true iff the first 24 bytes of key represent a weak or semi-weak Triple DES key.
Overrides:
isWeak in interface DESKeyGenerator