Top Fields Constructors Methods
org.bouncycastle.jcajce.provider.symmetric.util

public Class BaseKeyGenerator

extends KeyGeneratorSpi
Class Inheritance
Known Direct Subclasses
org.bouncycastle.jcajce.provider.digest.DSTU7564.KeyGenerator256, org.bouncycastle.jcajce.provider.digest.DSTU7564.KeyGenerator384, org.bouncycastle.jcajce.provider.digest.DSTU7564.KeyGenerator512, org.bouncycastle.jcajce.provider.digest.GOST3411.KeyGenerator, org.bouncycastle.jcajce.provider.digest.GOST3411.KeyGenerator2012_256, org.bouncycastle.jcajce.provider.digest.GOST3411.KeyGenerator2012_512, org.bouncycastle.jcajce.provider.digest.Keccak.KeyGenerator224, org.bouncycastle.jcajce.provider.digest.Keccak.KeyGenerator256, org.bouncycastle.jcajce.provider.digest.Keccak.KeyGenerator288, org.bouncycastle.jcajce.provider.digest.Keccak.KeyGenerator384, org.bouncycastle.jcajce.provider.digest.Keccak.KeyGenerator512, org.bouncycastle.jcajce.provider.digest.MD2.KeyGenerator, org.bouncycastle.jcajce.provider.digest.MD4.KeyGenerator, org.bouncycastle.jcajce.provider.digest.MD5.KeyGenerator, org.bouncycastle.jcajce.provider.digest.RIPEMD128.KeyGenerator, org.bouncycastle.jcajce.provider.digest.RIPEMD160.KeyGenerator, org.bouncycastle.jcajce.provider.digest.RIPEMD256.KeyGenerator, org.bouncycastle.jcajce.provider.digest.RIPEMD320.KeyGenerator, org.bouncycastle.jcajce.provider.digest.SHA1.KeyGenerator, org.bouncycastle.jcajce.provider.digest.SHA224.KeyGenerator, org.bouncycastle.jcajce.provider.digest.SHA256.KeyGenerator, org.bouncycastle.jcajce.provider.digest.SHA3.KeyGeneratorSHA3, org.bouncycastle.jcajce.provider.digest.SHA384.KeyGenerator, org.bouncycastle.jcajce.provider.digest.SHA512.KeyGenerator, org.bouncycastle.jcajce.provider.digest.SHA512.KeyGeneratorT224, org.bouncycastle.jcajce.provider.digest.SHA512.KeyGeneratorT256, org.bouncycastle.jcajce.provider.digest.Skein.HMacKeyGenerator_256_128, org.bouncycastle.jcajce.provider.digest.Skein.HMacKeyGenerator_256_160, org.bouncycastle.jcajce.provider.digest.Skein.HMacKeyGenerator_256_224, org.bouncycastle.jcajce.provider.digest.Skein.HMacKeyGenerator_256_256, org.bouncycastle.jcajce.provider.digest.Skein.HMacKeyGenerator_512_128, org.bouncycastle.jcajce.provider.digest.Skein.HMacKeyGenerator_512_160, org.bouncycastle.jcajce.provider.digest.Skein.HMacKeyGenerator_512_224, org.bouncycastle.jcajce.provider.digest.Skein.HMacKeyGenerator_512_256, org.bouncycastle.jcajce.provider.digest.Skein.HMacKeyGenerator_512_384, org.bouncycastle.jcajce.provider.digest.Skein.HMacKeyGenerator_512_512, org.bouncycastle.jcajce.provider.digest.Skein.HMacKeyGenerator_1024_384, org.bouncycastle.jcajce.provider.digest.Skein.HMacKeyGenerator_1024_512, org.bouncycastle.jcajce.provider.digest.Skein.HMacKeyGenerator_1024_1024, org.bouncycastle.jcajce.provider.digest.Skein.SkeinMacKeyGenerator_256_128, org.bouncycastle.jcajce.provider.digest.Skein.SkeinMacKeyGenerator_256_160, org.bouncycastle.jcajce.provider.digest.Skein.SkeinMacKeyGenerator_256_224, org.bouncycastle.jcajce.provider.digest.Skein.SkeinMacKeyGenerator_256_256, org.bouncycastle.jcajce.provider.digest.Skein.SkeinMacKeyGenerator_512_128, org.bouncycastle.jcajce.provider.digest.Skein.SkeinMacKeyGenerator_512_160, org.bouncycastle.jcajce.provider.digest.Skein.SkeinMacKeyGenerator_512_224, org.bouncycastle.jcajce.provider.digest.Skein.SkeinMacKeyGenerator_512_256, org.bouncycastle.jcajce.provider.digest.Skein.SkeinMacKeyGenerator_512_384, org.bouncycastle.jcajce.provider.digest.Skein.SkeinMacKeyGenerator_512_512, org.bouncycastle.jcajce.provider.digest.Skein.SkeinMacKeyGenerator_1024_384, org.bouncycastle.jcajce.provider.digest.Skein.SkeinMacKeyGenerator_1024_512, org.bouncycastle.jcajce.provider.digest.Skein.SkeinMacKeyGenerator_1024_1024, org.bouncycastle.jcajce.provider.digest.SM3.KeyGenerator, org.bouncycastle.jcajce.provider.digest.Tiger.KeyGenerator, org.bouncycastle.jcajce.provider.digest.Whirlpool.KeyGenerator, org.bouncycastle.jcajce.provider.symmetric.Poly1305.KeyGen, org.bouncycastle.jcajce.provider.symmetric.AES.Poly1305KeyGen, org.bouncycastle.jcajce.provider.symmetric.AES.KeyGen, org.bouncycastle.jcajce.provider.symmetric.ARC4.KeyGen, org.bouncycastle.jcajce.provider.symmetric.ARIA.Poly1305KeyGen, org.bouncycastle.jcajce.provider.symmetric.ARIA.KeyGen, org.bouncycastle.jcajce.provider.symmetric.Blowfish.KeyGen, org.bouncycastle.jcajce.provider.symmetric.Camellia.Poly1305KeyGen, org.bouncycastle.jcajce.provider.symmetric.Camellia.KeyGen, org.bouncycastle.jcajce.provider.symmetric.CAST5.KeyGen, org.bouncycastle.jcajce.provider.symmetric.CAST6.KeyGen, org.bouncycastle.jcajce.provider.symmetric.CAST6.Poly1305KeyGen, org.bouncycastle.jcajce.provider.symmetric.ChaCha.KeyGen, org.bouncycastle.jcajce.provider.symmetric.ChaCha.KeyGen7539, org.bouncycastle.jcajce.provider.symmetric.DES.KeyGenerator, org.bouncycastle.jcajce.provider.symmetric.DESede.KeyGenerator, org.bouncycastle.jcajce.provider.symmetric.DESede.KeyGenerator3, org.bouncycastle.jcajce.provider.symmetric.DSTU7624.KeyGen, org.bouncycastle.jcajce.provider.symmetric.GOST28147.KeyGen, org.bouncycastle.jcajce.provider.symmetric.GOST3412_2015.KeyGen, org.bouncycastle.jcajce.provider.symmetric.Grain128.KeyGen, org.bouncycastle.jcajce.provider.symmetric.Grainv1.KeyGen, org.bouncycastle.jcajce.provider.symmetric.HC128.KeyGen, org.bouncycastle.jcajce.provider.symmetric.HC256.KeyGen, org.bouncycastle.jcajce.provider.symmetric.IDEA.KeyGen, org.bouncycastle.jcajce.provider.symmetric.Noekeon.KeyGen, org.bouncycastle.jcajce.provider.symmetric.Noekeon.Poly1305KeyGen, org.bouncycastle.jcajce.provider.symmetric.RC2.KeyGenerator, org.bouncycastle.jcajce.provider.symmetric.RC5.KeyGen32, org.bouncycastle.jcajce.provider.symmetric.RC5.KeyGen64, org.bouncycastle.jcajce.provider.symmetric.RC6.Poly1305KeyGen, org.bouncycastle.jcajce.provider.symmetric.RC6.KeyGen, org.bouncycastle.jcajce.provider.symmetric.Rijndael.KeyGen, org.bouncycastle.jcajce.provider.symmetric.Salsa20.KeyGen, org.bouncycastle.jcajce.provider.symmetric.SEED.KeyGen, org.bouncycastle.jcajce.provider.symmetric.SEED.Poly1305KeyGen, org.bouncycastle.jcajce.provider.symmetric.Serpent.KeyGen, org.bouncycastle.jcajce.provider.symmetric.Serpent.TKeyGen, org.bouncycastle.jcajce.provider.symmetric.Serpent.Poly1305KeyGen, org.bouncycastle.jcajce.provider.symmetric.Shacal2.KeyGen, org.bouncycastle.jcajce.provider.symmetric.SipHash.KeyGen, org.bouncycastle.jcajce.provider.symmetric.SipHash128.KeyGen, org.bouncycastle.jcajce.provider.symmetric.Skipjack.KeyGen, org.bouncycastle.jcajce.provider.symmetric.SM4.KeyGen, org.bouncycastle.jcajce.provider.symmetric.SM4.Poly1305KeyGen, org.bouncycastle.jcajce.provider.symmetric.TEA.KeyGen, org.bouncycastle.jcajce.provider.symmetric.Threefish.KeyGen_256, org.bouncycastle.jcajce.provider.symmetric.Threefish.KeyGen_512, org.bouncycastle.jcajce.provider.symmetric.Threefish.KeyGen_1024, org.bouncycastle.jcajce.provider.symmetric.Twofish.KeyGen, org.bouncycastle.jcajce.provider.symmetric.Twofish.Poly1305KeyGen, org.bouncycastle.jcajce.provider.symmetric.VMPC.KeyGen, org.bouncycastle.jcajce.provider.symmetric.VMPCKSA3.KeyGen, org.bouncycastle.jcajce.provider.symmetric.XSalsa20.KeyGen, org.bouncycastle.jcajce.provider.symmetric.XTEA.KeyGen, org.bouncycastle.jcajce.provider.symmetric.Zuc.KeyGen128, org.bouncycastle.jcajce.provider.symmetric.Zuc.KeyGen256
Imports
java.security.InvalidAlgorithmParameterException, .InvalidParameterException, .SecureRandom, java.security.spec.AlgorithmParameterSpec, javax.crypto.KeyGeneratorSpi, .SecretKey, javax.crypto.spec.SecretKeySpec, org.bouncycastle.crypto.CipherKeyGenerator, .CryptoServicesRegistrar, .KeyGenerationParameters

Field Summary

Modifier and TypeField and Description
protected String
protected int
protected CipherKeyGenerator
protected int
protected boolean

Constructor Summary

AccessConstructor and Description
protected
BaseKeyGenerator(String algName, int defaultKeySize, CipherKeyGenerator engine)

Method Summary

Modifier and TypeMethod and Description
protected SecretKey
engineGenerateKey()

Implements abstract javax.crypto.KeyGeneratorSpi.engineGenerateKey.

Generates a secret key.

protected void
engineInit(AlgorithmParameterSpec
the key generation parameters
params
,
SecureRandom
the source of randomness for this key generator
random
)

Implements abstract javax.crypto.KeyGeneratorSpi.engineInit.

Initializes the key generator with the specified parameter set and a user-provided source of randomness.

protected void
engineInit(SecureRandom
the source of randomness for this generator
random
)

Implements abstract javax.crypto.KeyGeneratorSpi.engineInit.

Initializes the key generator.

protected void
engineInit(int
the keysize. This is an algorithm-specific metric, specified in number of bits.
keySize
,
SecureRandom
the source of randomness for this key generator
random
)

Implements abstract javax.crypto.KeyGeneratorSpi.engineInit.

Initializes this key generator for a certain keysize, using the given source of randomness.

Field Detail

algNameback to summary
protected String algName
defaultKeySizeback to summary
protected int defaultKeySize
engineback to summary
protected CipherKeyGenerator engine
keySizeback to summary
protected int keySize
uninitialisedback to summary
protected boolean uninitialised

Constructor Detail

BaseKeyGeneratorback to summary
protected BaseKeyGenerator(String algName, int defaultKeySize, CipherKeyGenerator engine)

Method Detail

engineGenerateKeyback to summary
protected SecretKey engineGenerateKey()

Implements abstract javax.crypto.KeyGeneratorSpi.engineGenerateKey.

Doc from javax.crypto.KeyGeneratorSpi.engineGenerateKey.

Generates a secret key.

Returns:SecretKey

the new key

engineInitback to summary
protected void engineInit(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException

Implements abstract javax.crypto.KeyGeneratorSpi.engineInit.

Doc from javax.crypto.KeyGeneratorSpi.engineInit.

Initializes the key generator with the specified parameter set and a user-provided source of randomness.

Parameters
params:AlgorithmParameterSpec

the key generation parameters

random:SecureRandom

the source of randomness for this key generator

Exceptions
InvalidAlgorithmParameterException:
if params is inappropriate for this key generator
engineInitback to summary
protected void engineInit(SecureRandom random)

Implements abstract javax.crypto.KeyGeneratorSpi.engineInit.

Doc from javax.crypto.KeyGeneratorSpi.engineInit.

Initializes the key generator.

Parameters
random:SecureRandom

the source of randomness for this generator

engineInitback to summary
protected void engineInit(int keySize, SecureRandom random)

Implements abstract javax.crypto.KeyGeneratorSpi.engineInit.

Doc from javax.crypto.KeyGeneratorSpi.engineInit.

Initializes this key generator for a certain keysize, using the given source of randomness.

Parameters
keySize:int

the keysize. This is an algorithm-specific metric, specified in number of bits.

random:SecureRandom

the source of randomness for this key generator