Top Description Inners Fields Constructors Methods
org.bouncycastle.crypto.general

public final Class AES

extends Object
Class Inheritance
Imports
java.security.SecureRandom, org.bouncycastle.crypto.Algorithm, .IllegalKeyException, .SymmetricKey, .SymmetricSecretKey, org.bouncycastle.crypto.fips.FipsAES, org.bouncycastle.crypto.internal.BlockCipher, .BufferedBlockCipher, .ValidatedSymmetricKey, .Wrapper, org.bouncycastle.crypto.internal.modes.AEADBlockCipher

Source class for non-FIPS approved-mode implementations of AES based algorithms.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
AES.AEADOperatorFactory

Factory for non-FIPS AES AEAD encryption/decryption operators.

public static class
AES.AuthParameters

Parameters for AES non-FIPS AEAD and MAC modes..

public static class
AES.KeyGenerator

Specific AES key generator for non-FIPS algorithms.

public static class
AES.KeyWrapOperatorFactory

Factory for non-FIPS AES key wrap/unwrap operators.

public static class
AES.OperatorFactory

Factory for basic non-FIPS AES encryption/decryption operators.

public static class
AES.Parameters

Parameters for general AES non-FIPS block cipher modes.

public static class
AES.WrapParameters

Parameters for general AES non-FIPS key wrapping.

Field Summary

Modifier and TypeField and Description
public static final Algorithm
ALGORITHM

Convenience link back to FipsAES.

public static final AES.AuthParameters
EAX

AES in EAX mode.

public static final AES.AuthParameters
OCB

AES in offset code book (OCB) mode.

public static final AES.Parameters
OpenPGPCFB

AES in OpenPGP cipher feedback (CFB) mode.

public static final AES.WrapParameters
RFC3211_WRAP

AES RFC 3211 key wrapper.

Constructor Summary

AccessConstructor and Description
private
AES()

Method Summary

Modifier and TypeMethod and Description
private static ValidatedSymmetricKey
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

ALGORITHMback to summary
public static final Algorithm ALGORITHM

Convenience link back to FipsAES.

EAXback to summary
public static final AES.AuthParameters EAX

AES in EAX mode.

OCBback to summary
public static final AES.AuthParameters OCB

AES in offset code book (OCB) mode.

OpenPGPCFBback to summary
public static final AES.Parameters OpenPGPCFB

AES in OpenPGP cipher feedback (CFB) mode.

RFC3211_WRAPback to summary
public static final AES.WrapParameters RFC3211_WRAP

AES RFC 3211 key wrapper.

Constructor Detail

AESback to summary
private AES()

Method Detail

validateKeyback to summary
private static ValidatedSymmetricKey validateKey(SymmetricKey key, Algorithm algorithm)
org.bouncycastle.crypto.general back to summary

public final Class AES.AEADOperatorFactory

extends GuardedAEADOperatorFactory<AES.AuthParameters>
Class Inheritance

Factory for non-FIPS AES AEAD encryption/decryption operators.

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected AEADBlockCipher
Inherited from org.bouncycastle.crypto.general.GuardedAEADOperatorFactory:
createInputAEADDecryptorcreateOutputAEADDecryptorcreateOutputAEADEncryptor

Constructor Detail

AEADOperatorFactoryback to summary
public AEADOperatorFactory()

Method Detail

createAEADCipherback to summary
protected AEADBlockCipher createAEADCipher(boolean forEncryption, SymmetricKey key, AES.AuthParameters parameters)

Implements abstract org.bouncycastle.crypto.general.GuardedAEADOperatorFactory.createAEADCipher.

Annotations
@Override
org.bouncycastle.crypto.general back to summary

public final Class AES.AuthParameters

extends GeneralAuthParameters<AES.AuthParameters>
Class Inheritance

Parameters for AES non-FIPS AEAD and MAC modes..

Field Summary

Inherited from org.bouncycastle.crypto.general.GeneralAuthParameters:
macLenInBits

Constructor Summary

AccessConstructor and Description
private
AuthParameters(GeneralAlgorithm algorithm, byte[] iv, int tagLenInBits)

pack-priv
AuthParameters(GeneralAlgorithm
algorithm mode.
algorithm
)

Base constructor - the algorithm, null IV.

Method Summary

Modifier and TypeMethod and Description
protected AES.AuthParameters
create(GeneralAlgorithm algorithm, byte[] iv, int macSizeInBits)

Implements abstract org.bouncycastle.crypto.general.GeneralAuthParameters.create.

Inherited from org.bouncycastle.crypto.general.GeneralAuthParameters:
creategetMACSizeInBitswithIVwithMACSize

Constructor Detail

AuthParametersback to summary
private AuthParameters(GeneralAlgorithm algorithm, byte[] iv, int tagLenInBits)
AuthParametersback to summary
pack-priv AuthParameters(GeneralAlgorithm algorithm)

Base constructor - the algorithm, null IV. In this case the tag length defaults to the 128 for GCM or CMAC, 64 bits otherwise.

Parameters
algorithm:GeneralAlgorithm

algorithm mode.

Method Detail

createback to summary
protected AES.AuthParameters create(GeneralAlgorithm algorithm, byte[] iv, int macSizeInBits)

Implements abstract org.bouncycastle.crypto.general.GeneralAuthParameters.create.

org.bouncycastle.crypto.general back to summary

public final Class AES.KeyGenerator

extends GuardedSymmetricKeyGenerator
Class Inheritance

Specific AES key generator for non-FIPS algorithms.

Field Summary

Modifier and TypeField and Description
private final GeneralAlgorithm
private final FipsAES.KeyGenerator

Constructor Summary

AccessConstructor and Description
public
KeyGenerator(GeneralParameters<T extends Algorithm> parameterSet, int keySizeInBits, SecureRandom random)

Method Summary

Modifier and TypeMethod and Description
public SymmetricKey
Inherited from org.bouncycastle.crypto.general.GuardedSymmetricKeyGenerator:
generateKey

Field Detail

algorithmback to summary
private final GeneralAlgorithm algorithm
keyGenback to summary
private final FipsAES.KeyGenerator keyGen

Constructor Detail

KeyGeneratorback to summary
public KeyGenerator(GeneralParameters<T extends Algorithm> parameterSet, int keySizeInBits, SecureRandom random)

Method Detail

doGenerateKeyback to summary
public SymmetricKey doGenerateKey()

Implements abstract org.bouncycastle.crypto.general.GuardedSymmetricKeyGenerator.doGenerateKey.

org.bouncycastle.crypto.general back to summary

public final Class AES.KeyWrapOperatorFactory

extends GuardedKeyWrapOperatorFactory<AES.WrapParameters, SymmetricKey>
Class Inheritance

Factory for non-FIPS AES key wrap/unwrap operators.

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected Wrapper
Inherited from org.bouncycastle.crypto.general.GuardedKeyWrapOperatorFactory:
createKeyUnwrappercreateKeyWrapper

Constructor Detail

KeyWrapOperatorFactoryback to summary
public KeyWrapOperatorFactory()

Method Detail

createWrapperback to summary
protected Wrapper createWrapper(boolean forWrapping, SymmetricKey key, AES.WrapParameters parameters, SecureRandom random)

Implements abstract org.bouncycastle.crypto.general.GuardedKeyWrapOperatorFactory.createWrapper.

org.bouncycastle.crypto.general back to summary

public final Class AES.OperatorFactory

extends GuardedSymmetricOperatorFactory<AES.Parameters>
Class Inheritance

Factory for basic non-FIPS AES encryption/decryption operators.

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected BufferedBlockCipher
Inherited from org.bouncycastle.crypto.general.GuardedSymmetricOperatorFactory:
createInputDecryptorcreateOutputDecryptorcreateOutputEncryptor

Constructor Detail

OperatorFactoryback to summary
public OperatorFactory()

Method Detail

createCipherback to summary
protected BufferedBlockCipher createCipher(boolean forEncryption, SymmetricKey key, AES.Parameters parameters, SecureRandom random)

Implements abstract org.bouncycastle.crypto.general.GuardedSymmetricOperatorFactory.createCipher.

Annotations
@Override
org.bouncycastle.crypto.general back to summary

public final Class AES.Parameters

extends GeneralParametersWithIV<AES.Parameters>
Class Inheritance

Parameters for general AES non-FIPS block cipher modes.

Field Summary

Inherited from org.bouncycastle.crypto.general.GeneralParametersWithIV:
blockSizeiv

Constructor Summary

AccessConstructor and Description
pack-priv
private
Parameters(GeneralAlgorithm algorithm, byte[] iv)

Method Summary

Modifier and TypeMethod and Description
pack-priv AES.Parameters
Inherited from org.bouncycastle.crypto.general.GeneralParametersWithIV:
getIVwithIVwithIV

Constructor Detail

Parametersback to summary
pack-priv Parameters(GeneralAlgorithm algorithm)
Parametersback to summary
private Parameters(GeneralAlgorithm algorithm, byte[] iv)

Method Detail

createback to summary
pack-priv AES.Parameters create(GeneralAlgorithm algorithm, byte[] iv)

Implements abstract org.bouncycastle.crypto.general.GeneralParametersWithIV.create.

Annotations
@Override
org.bouncycastle.crypto.general back to summary

public final Class AES.WrapParameters

extends GeneralParametersWithIV<AES.WrapParameters>
Class Inheritance

Parameters for general AES non-FIPS key wrapping.

Field Summary

Inherited from org.bouncycastle.crypto.general.GeneralParametersWithIV:
blockSizeiv

Constructor Summary

AccessConstructor and Description
pack-priv
private
WrapParameters(GeneralAlgorithm algorithm, byte[] iv)

Method Summary

Modifier and TypeMethod and Description
pack-priv AES.WrapParameters
Inherited from org.bouncycastle.crypto.general.GeneralParametersWithIV:
getIVwithIVwithIV

Constructor Detail

WrapParametersback to summary
pack-priv WrapParameters(GeneralAlgorithm algorithm)
WrapParametersback to summary
private WrapParameters(GeneralAlgorithm algorithm, byte[] iv)

Method Detail

createback to summary
pack-priv AES.WrapParameters create(GeneralAlgorithm algorithm, byte[] iv)

Implements abstract org.bouncycastle.crypto.general.GeneralParametersWithIV.create.

Annotations
@Override