cryptix.provider.key

Class IDEAKeyGenerator

Implemented Interfaces:
Cloneable, ExtendedKeyGenerator, Parameterized

public class IDEAKeyGenerator
extends RawKeyGenerator

A key generator for IDEA.

IDEA keys have a fixed length of 128 bits.

References:

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

$Revision: 1.1.1.1 $

Author:
David Hopwood
Since:
Cryptix 2.2.0a, 2.2.2

Constructor Summary

IDEAKeyGenerator()

Method Summary

boolean
isWeak(byte[] key)
Returns true iff the byte array key represents a weak IDEA key.

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

IDEAKeyGenerator

public IDEAKeyGenerator()

Method Details

isWeak

public boolean isWeak(byte[] key)
Returns true iff the byte array key represents a weak IDEA key.

IDEA has two non-overlapping classes of weak keys (bit numbering is from left to right, e.g. 0 denotes the most significant bit of the first byte):

  • Keys with zeros in bit positions 0-25, 29-71, and 75-110 (inclusive) and any value in bits 26-28, 72-74, and 111-127. There are 2^23 weak keys in this class.

  • Keys with zeros in bit positions 0-25, 41-71, 84-98, and 123-127 and any value in bit positions 26-40, 72-83, and 99-122. There are 2^51 weak keys in this class.
Overrides:
isWeak in interface RawKeyGenerator
Parameters:
key - the byte array containing user key data.