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

public final Class Camellia

extends Object
Class Inheritance
Imports
java.security.SecureRandom, org.bouncycastle.crypto.Algorithm, .IllegalKeyException, .ParametersWithIV, .SymmetricKey, .SymmetricSecretKey, org.bouncycastle.crypto.internal.BlockCipher, .BufferedBlockCipher, .KeyGenerationParameters, .Mac, .ValidatedSymmetricKey, .Wrapper, org.bouncycastle.crypto.internal.modes.AEADBlockCipher, org.bouncycastle.crypto.internal.params.KeyParameter, .KeyParameterImpl, org.bouncycastle.util.Arrays, org.bouncycastle.util.encoders.Hex

Source class for implementations of Camellia based algorithms.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
Camellia.AEADOperatorFactory

Factory for Camellia AEAD encryption/decryption operators.

public static class
Camellia.AuthParameters

Parameters for Camellia AEAD and MAC modes..

private static class
public static class
Camellia.KeyGenerator

Camellia key generator.

public static class
Camellia.KeyWrapOperatorFactory

Factory for Camellia key wrap/unwrap operators.

public static class
Camellia.MACOperatorFactory

Factory for producing Camellia MAC calculators.

public static class
Camellia.OperatorFactory

Factory for basic Camellia encryption/decryption operators.

public static class
Camellia.Parameters

Parameters for general Camellia block cipher modes.

public static class
Camellia.WrapParameters

Camellia WRAP operator parameters for KW and KWP.

Field Summary

Modifier and TypeField and Description
public static final GeneralAlgorithm
ALGORITHM

Raw Camellia algorithm, can be used for creating general purpose Camellia keys.

public static final Camellia.Parameters
CBC

Camellia in cipher block chaining (CBC) mode.

public static final Camellia.Parameters
CBCwithCS1

Camellia in cipher block chaining mode cipher text stealing type 1.

public static final Camellia.Parameters
CBCwithCS2

Camellia in cipher block chaining mode cipher text stealing type 2.

public static final Camellia.Parameters
CBCwithCS3

Camellia in cipher block chaining mode cipher text stealing type 3.

public static final Camellia.Parameters
CBCwithISO10126_2

Camellia in cipher block chaining mode with ISO10126-2 padding.

public static final Camellia.Parameters
CBCwithISO7816_4

Camellia in cipher block chaining mode with ISO7816-4 padding.

public static final Camellia.Parameters
CBCwithPKCS7

Camellia in cipher block chaining mode with PKCS#7/PKCS#5 padding.

public static final Camellia.Parameters
CBCwithTBC

Camellia in cipher block chaining mode with trailing bit complement (TBC) padding.

public static final Camellia.Parameters
CBCwithX923

Camellia in cipher block chaining mode with X9.23 padding.

public static final Camellia.AuthParameters
CCM

Camellia in counter with CBC-MAC (CCM).

public static final Camellia.Parameters
CFB128

Camellia in cipher feedback (CFB) mode.

public static final Camellia.Parameters
CFB8

Camellia in cipher feedback (CFB) mode, 8 bit block size.

public static final Camellia.AuthParameters
CMAC

Camellia cipher-based MAC algorithm.

public static final Camellia.Parameters
CTR

Camellia in counter (CTR) mode.

public static final Camellia.AuthParameters
EAX

Camellia in EAX mode.

public static final Camellia.Parameters
ECB

Camellia in electronic code book (ECB) mode.

public static final Camellia.Parameters
ECBwithISO10126_2

Camellia in electronic code book mode with ISO10126-2 padding.

public static final Camellia.Parameters
ECBwithISO7816_4

Camellia in electronic code book mode with ISO7816-4 padding.

public static final Camellia.Parameters
ECBwithPKCS7

Camellia in electronic code book mode with PKCS#7/PKCS#5 padding.

public static final Camellia.Parameters
ECBwithTBC

Camellia in electronic code book mode with trailing bit complement (TBC) padding.

public static final Camellia.Parameters
ECBwithX923

Camellia in electronic code book mode with X9.23 padding.

private static final Camellia.EngineProvider
public static final Camellia.AuthParameters
GCM

Camellia in Galois/Counter Mode (GCM).

public static final Camellia.AuthParameters
GMAC

Camellia cipher-based GMAC algorithm.

public static final Camellia.WrapParameters
KW

Camellia as a FIPS/RFC 3657 key wrapper.

public static final Camellia.WrapParameters
KWP

Camellia as a FIPS/RFC 3657 key wrapper with padding.

public static final Camellia.AuthParameters
OCB

Camellia in offset code book (OCB) mode.

public static final Camellia.Parameters
OFB

Camellia in output feedback (OFB) mode, 128 bit block size.

public static final Camellia.Parameters
OpenPGPCFB

Camellia in OpenPGP cipher feedback (CFB) mode.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
private static boolean
invalidKeySize(int keyLength)

private static ValidatedSymmetricKey
validateKey(SymmetricKey key, Algorithm genAlgorithm)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

ALGORITHMback to summary
public static final GeneralAlgorithm ALGORITHM

Raw Camellia algorithm, can be used for creating general purpose Camellia keys.

CBCback to summary
public static final Camellia.Parameters CBC

Camellia in cipher block chaining (CBC) mode.

CBCwithCS1back to summary
public static final Camellia.Parameters CBCwithCS1

Camellia in cipher block chaining mode cipher text stealing type 1.

CBCwithCS2back to summary
public static final Camellia.Parameters CBCwithCS2

Camellia in cipher block chaining mode cipher text stealing type 2.

CBCwithCS3back to summary
public static final Camellia.Parameters CBCwithCS3

Camellia in cipher block chaining mode cipher text stealing type 3.

CBCwithISO10126_2back to summary
public static final Camellia.Parameters CBCwithISO10126_2

Camellia in cipher block chaining mode with ISO10126-2 padding.

CBCwithISO7816_4back to summary
public static final Camellia.Parameters CBCwithISO7816_4

Camellia in cipher block chaining mode with ISO7816-4 padding.

CBCwithPKCS7back to summary
public static final Camellia.Parameters CBCwithPKCS7

Camellia in cipher block chaining mode with PKCS#7/PKCS#5 padding.

CBCwithTBCback to summary
public static final Camellia.Parameters CBCwithTBC

Camellia in cipher block chaining mode with trailing bit complement (TBC) padding.

CBCwithX923back to summary
public static final Camellia.Parameters CBCwithX923

Camellia in cipher block chaining mode with X9.23 padding.

CCMback to summary
public static final Camellia.AuthParameters CCM

Camellia in counter with CBC-MAC (CCM).

CFB128back to summary
public static final Camellia.Parameters CFB128

Camellia in cipher feedback (CFB) mode.

CFB8back to summary
public static final Camellia.Parameters CFB8

Camellia in cipher feedback (CFB) mode, 8 bit block size.

CMACback to summary
public static final Camellia.AuthParameters CMAC

Camellia cipher-based MAC algorithm.

CTRback to summary
public static final Camellia.Parameters CTR

Camellia in counter (CTR) mode.

EAXback to summary
public static final Camellia.AuthParameters EAX

Camellia in EAX mode.

ECBback to summary
public static final Camellia.Parameters ECB

Camellia in electronic code book (ECB) mode.

ECBwithISO10126_2back to summary
public static final Camellia.Parameters ECBwithISO10126_2

Camellia in electronic code book mode with ISO10126-2 padding.

ECBwithISO7816_4back to summary
public static final Camellia.Parameters ECBwithISO7816_4

Camellia in electronic code book mode with ISO7816-4 padding.

ECBwithPKCS7back to summary
public static final Camellia.Parameters ECBwithPKCS7

Camellia in electronic code book mode with PKCS#7/PKCS#5 padding.

ECBwithTBCback to summary
public static final Camellia.Parameters ECBwithTBC

Camellia in electronic code book mode with trailing bit complement (TBC) padding.

ECBwithX923back to summary
public static final Camellia.Parameters ECBwithX923

Camellia in electronic code book mode with X9.23 padding.

ENGINE_PROVIDERback to summary
private static final Camellia.EngineProvider ENGINE_PROVIDER
GCMback to summary
public static final Camellia.AuthParameters GCM

Camellia in Galois/Counter Mode (GCM).

GMACback to summary
public static final Camellia.AuthParameters GMAC

Camellia cipher-based GMAC algorithm.

KWback to summary
public static final Camellia.WrapParameters KW

Camellia as a FIPS/RFC 3657 key wrapper.

KWPback to summary
public static final Camellia.WrapParameters KWP

Camellia as a FIPS/RFC 3657 key wrapper with padding.

OCBback to summary
public static final Camellia.AuthParameters OCB

Camellia in offset code book (OCB) mode.

OFBback to summary
public static final Camellia.Parameters OFB

Camellia in output feedback (OFB) mode, 128 bit block size.

OpenPGPCFBback to summary
public static final Camellia.Parameters OpenPGPCFB

Camellia in OpenPGP cipher feedback (CFB) mode.

Constructor Detail

Camelliaback to summary
private Camellia()

Method Detail

invalidKeySizeback to summary
private static boolean invalidKeySize(int keyLength)
validateKeyback to summary
private static ValidatedSymmetricKey validateKey(SymmetricKey key, Algorithm genAlgorithm)
org.bouncycastle.crypto.general back to summary

public final Class Camellia.AEADOperatorFactory

extends GuardedAEADOperatorFactory<Camellia.AuthParameters>
Class Inheritance

Factory for Camellia 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, Camellia.AuthParameters parameters)

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

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

public final Class Camellia.AuthParameters

extends GeneralAuthParameters<Camellia.AuthParameters>
Class Inheritance

Parameters for Camellia 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 Camellia.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, CMAC, or GMAC, 64 bits otherwise.

Parameters
algorithm:GeneralAlgorithm

algorithm mode.

Method Detail

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

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

org.bouncycastle.crypto.general back to summary

private final Class Camellia.EngineProvider

extends Object
implements EngineProvider<BlockCipher>
Class Inheritance
All Implemented Interfaces
org.bouncycastle.crypto.internal.EngineProvider

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public BlockCipher
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

EngineProviderback to summary
private EngineProvider()

Method Detail

createEngineback to summary
public BlockCipher createEngine()

Implements org.bouncycastle.crypto.internal.EngineProvider.createEngine.

org.bouncycastle.crypto.general back to summary

public final Class Camellia.KeyGenerator

extends GuardedSymmetricKeyGenerator
Class Inheritance

Camellia key generator.

Field Summary

Modifier and TypeField and Description
private final GeneralAlgorithm
private final int
private final SecureRandom

Constructor Summary

AccessConstructor and Description
public
KeyGenerator(int keySizeInBits, SecureRandom random)

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

private
KeyGenerator(GeneralAlgorithm algorithm, 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
keySizeInBitsback to summary
private final int keySizeInBits
randomback to summary
private final SecureRandom random

Constructor Detail

KeyGeneratorback to summary
public KeyGenerator(int keySizeInBits, SecureRandom random)
KeyGeneratorback to summary
public KeyGenerator(GeneralParameters<T extends Algorithm> parameterSet, int keySizeInBits, SecureRandom random)
KeyGeneratorback to summary
private KeyGenerator(GeneralAlgorithm algorithm, 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 Camellia.KeyWrapOperatorFactory

extends GuardedKeyWrapOperatorFactory<Camellia.WrapParameters, SymmetricKey>
Class Inheritance

Factory for Camellia 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, Camellia.WrapParameters parameters, SecureRandom random)

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

org.bouncycastle.crypto.general back to summary

public final Class Camellia.MACOperatorFactory

extends GuardedMACOperatorFactory<Camellia.AuthParameters>
Class Inheritance

Factory for producing Camellia 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(Camellia.AuthParameters parameters)

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

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

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

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

public final Class Camellia.OperatorFactory

extends GuardedSymmetricOperatorFactory<Camellia.Parameters>
Class Inheritance

Factory for basic Camellia 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, Camellia.Parameters parameters, SecureRandom random)

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

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

public final Class Camellia.Parameters

extends GeneralParametersWithIV<Camellia.Parameters>
Class Inheritance

Parameters for general Camellia block cipher modes.

Field Summary

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

Constructor Summary

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

pack-priv

Method Summary

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

Constructor Detail

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

Method Detail

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

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

org.bouncycastle.crypto.general back to summary

public final Class Camellia.WrapParameters

extends GeneralParameters<GeneralAlgorithm>
implements ParametersWithIV
Class Inheritance
All Implemented Interfaces
org.bouncycastle.crypto.ParametersWithIV, org.bouncycastle.crypto.Parameters

Camellia WRAP operator parameters for KW and KWP.

Field Summary

Modifier and TypeField and Description
private final byte[]
private final boolean

Constructor Summary

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

Method Summary

Modifier and TypeMethod and Description
public byte[]
getIV()

Implements org.bouncycastle.crypto.ParametersWithIV.getIV.

Return the initialization vector associated with this parameter set.
private int
public boolean
public Camellia.WrapParameters
withIV(byte[]
the IV to use.
iv
)

Implements org.bouncycastle.crypto.ParametersWithIV.withIV.

Create a new parameter set with a different IV.
public Camellia.WrapParameters
withIV(SecureRandom
the SecureRandom to use as the source of IV data.
random
)

Implements org.bouncycastle.crypto.ParametersWithIV.withIV.

Create a new parameter set with a different IV based on the output of the passed in random.
public Camellia.WrapParameters
withUsingInverseFunction(boolean useInverse)

Inherited from org.bouncycastle.crypto.general.GeneralParameters:
getAlgorithm

Field Detail

ivback to summary
private final byte[] iv
useInverseback to summary
private final boolean useInverse

Constructor Detail

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

Method Detail

getIVback to summary
public byte[] getIV()

Implements org.bouncycastle.crypto.ParametersWithIV.getIV.

Doc from org.bouncycastle.crypto.ParametersWithIV.getIV.

Return the initialization vector associated with this parameter set.

Returns:byte[]

the IV for these parameters.

getIvLengthback to summary
private int getIvLength()
isUsingInverseFunctionback to summary
public boolean isUsingInverseFunction()
withIVback to summary
public Camellia.WrapParameters withIV(byte[] iv)

Implements org.bouncycastle.crypto.ParametersWithIV.withIV.

Doc from org.bouncycastle.crypto.ParametersWithIV.withIV.

Create a new parameter set with a different IV.

Parameters
iv:byte[]

the IV to use.

Returns:Camellia.WrapParameters

a copy of the current parameter set with the new IV.

withIVback to summary
public Camellia.WrapParameters withIV(SecureRandom random)

Implements org.bouncycastle.crypto.ParametersWithIV.withIV.

Doc from org.bouncycastle.crypto.ParametersWithIV.withIV.

Create a new parameter set with a different IV based on the output of the passed in random.

Parameters
random:SecureRandom

the SecureRandom to use as the source of IV data.

Returns:Camellia.WrapParameters

a copy of the current parameter set with the new IV.

withUsingInverseFunctionback to summary
public Camellia.WrapParameters withUsingInverseFunction(boolean useInverse)