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

public final Class TripleDES

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

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

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
TripleDES.AEADOperatorFactory

Factory for non-FIPS Triple-DES AEAD encryption/decryption operators.

public static class
TripleDES.AuthParameters

Parameters for Triple-DES non-FIPS AEAD and MAC modes..

public static class
TripleDES.KeyGenerator

Specific Triple-DES key generator for non-FIPS algorithms.

public static class
TripleDES.KeyWrapOperatorFactory

Factory for non-FIPS Triple-DES key wrap/unwrap operators.

public static class
TripleDES.MACOperatorFactory

Factory for producing non-FIPS Triple-DES MAC calculators.

public static class
TripleDES.OperatorFactory

Factory for basic non-FIPS Triple-DES encryption/decryption operators.

public static class
TripleDES.Parameters

Parameters for general Triple-DES non-FIPS block cipher modes.

Field Summary

Modifier and TypeField and Description
public static final Algorithm
ALGORITHM

Convenience link back to FipsTripleDES.

public static final TripleDES.AuthParameters
CBC_MAC

Triple-DES CBC-MAC.

public static final TripleDES.AuthParameters
CBC_MACwithISO7816_4

Triple-DES CBC-MAC with ISO7816-4 Padding.

public static final TripleDES.AuthParameters
CFB8_MAC

Triple-DES CFB8-MAC.

public static final TripleDES.AuthParameters
EAX

Triple-DES in EAX mode..

public static final TripleDES.Parameters
OpenPGPCFB

Triple-DES in OpenPGP cipher feedback (CFB) mode.

public static final TripleDES.Parameters
RFC3211_WRAP

Triple-DES RFC 3211, CMS PBE Wrap mode

public static final TripleDES.Parameters
RFC3217_WRAP

Triple-DES RFC 3217, PKCS CMS Wrap mode

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
private static ValidatedSymmetricKey
private static void
validateKeySize(int keySize)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

ALGORITHMback to summary
public static final Algorithm ALGORITHM

Convenience link back to FipsTripleDES.

CBC_MACback to summary
public static final TripleDES.AuthParameters CBC_MAC

Triple-DES CBC-MAC.

CBC_MACwithISO7816_4back to summary
public static final TripleDES.AuthParameters CBC_MACwithISO7816_4

Triple-DES CBC-MAC with ISO7816-4 Padding.

CFB8_MACback to summary
public static final TripleDES.AuthParameters CFB8_MAC

Triple-DES CFB8-MAC.

EAXback to summary
public static final TripleDES.AuthParameters EAX

Triple-DES in EAX mode..

OpenPGPCFBback to summary
public static final TripleDES.Parameters OpenPGPCFB

Triple-DES in OpenPGP cipher feedback (CFB) mode.

RFC3211_WRAPback to summary
public static final TripleDES.Parameters RFC3211_WRAP

Triple-DES RFC 3211, CMS PBE Wrap mode

RFC3217_WRAPback to summary
public static final TripleDES.Parameters RFC3217_WRAP

Triple-DES RFC 3217, PKCS CMS Wrap mode

Constructor Detail

TripleDESback to summary
private TripleDES()

Method Detail

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

public final Class TripleDES.AEADOperatorFactory

extends GuardedAEADOperatorFactory<TripleDES.AuthParameters>
Class Inheritance

Factory for non-FIPS Triple-DES 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, TripleDES.AuthParameters parameters)

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

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

public final Class TripleDES.AuthParameters

extends GeneralAuthParameters<TripleDES.AuthParameters>
Class Inheritance

Parameters for Triple-DES 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 macLenInBits)

public
AuthParameters(GeneralAlgorithm
algorithm mode.
algorithm
)

Base constructor - the algorithm, null IV.

Method Summary

Modifier and TypeMethod and Description
protected TripleDES.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 macLenInBits)
AuthParametersback to summary
public AuthParameters(GeneralAlgorithm algorithm)

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

Parameters
algorithm:GeneralAlgorithm

algorithm mode.

Method Detail

createback to summary
protected TripleDES.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 TripleDES.KeyGenerator

extends GuardedSymmetricKeyGenerator
Class Inheritance

Specific Triple-DES key generator for non-FIPS algorithms.

Field Summary

Modifier and TypeField and Description
private final GeneralAlgorithm
private final FipsTripleDES.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 FipsTripleDES.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 TripleDES.KeyWrapOperatorFactory

extends GuardedKeyWrapOperatorFactory<TripleDES.Parameters, SymmetricKey>
Class Inheritance

Factory for non-FIPS Triple-DES 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, TripleDES.Parameters parameters, SecureRandom random)

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

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

public final Class TripleDES.MACOperatorFactory

extends GuardedMACOperatorFactory<TripleDES.AuthParameters>
Class Inheritance

Factory for producing non-FIPS Triple-DES MAC calculators.

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected int
protected Mac
Inherited from org.bouncycastle.crypto.general.GuardedMACOperatorFactory:
createOutputMACCalculator

Constructor Detail

MACOperatorFactoryback to summary
public MACOperatorFactory()

Method Detail

calculateMACSizeback to summary
protected int calculateMACSize(TripleDES.AuthParameters parameters)

Implements abstract org.bouncycastle.crypto.general.GuardedMACOperatorFactory.calculateMACSize.

Annotations
@Override
createMACback to summary
protected Mac createMAC(SymmetricKey key, final TripleDES.AuthParameters parameters)

Implements abstract org.bouncycastle.crypto.general.GuardedMACOperatorFactory.createMAC.

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

public final Class TripleDES.OperatorFactory

extends GuardedSymmetricOperatorFactory<TripleDES.Parameters>
Class Inheritance

Factory for basic non-FIPS Triple-DES 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, TripleDES.Parameters parameters, SecureRandom random)

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

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

public final Class TripleDES.Parameters

extends GeneralParametersWithIV<TripleDES.Parameters>
Class Inheritance

Parameters for general Triple-DES non-FIPS block cipher modes.

Field Summary

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

Constructor Summary

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

public

Method Summary

Modifier and TypeMethod and Description
protected TripleDES.Parameters
Inherited from org.bouncycastle.crypto.general.GeneralParametersWithIV:
getIVwithIVwithIV

Constructor Detail

Parametersback to summary
private Parameters(GeneralAlgorithm algorithm, byte[] iv)
Parametersback to summary
public Parameters(GeneralAlgorithm algorithm)

Method Detail

createback to summary
protected TripleDES.Parameters create(GeneralAlgorithm algorithm, byte[] iv)

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