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

public final Class FipsKDF

extends Object
Class Inheritance
Imports
java.math.BigInteger, org.bouncycastle.crypto.CryptoServicesRegistrar, .KDFCalculator, .KDFOperatorFactory, .Parameters, org.bouncycastle.crypto.internal.BlockCipher, .DerivationFunction, .Digest, .EngineProvider, .Mac, .StreamCipher, org.bouncycastle.crypto.internal.macs.HMac, org.bouncycastle.crypto.internal.modes.SICBlockCipher, org.bouncycastle.crypto.internal.params.KDFCounterParameters, .KDFDoublePipelineIterationParameters, .KDFFeedbackParameters, .KDFParameters, .KeyParameterImpl, .ParametersWithIV, org.bouncycastle.crypto.internal.test.BasicKatTest, org.bouncycastle.util.Arrays, .Pack, .Properties, .Strings, org.bouncycastle.util.encoders.Hex

Source class for FIPS approved Key Derivation Function (KDF) implementations.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
FipsKDF.AgreementKDFParameters

Parameters for the X9.63 and CONCATENATION key derivation function.

public static class
FipsKDF.AgreementKDFParametersBuilder

Parameters builder for the X9.63 and CONCATENATION key derivation function.

public static enum
FipsKDF.AgreementKDFPRF

An enumeration of the FIPS approved psuedo-random-function (PRF) for KDFs used with key agreement.

public static class
FipsKDF.AgreementOperatorFactory

Factory for operators that derive key material and are associated with key agreement.

private static interface
public static enum
FipsKDF.CounterLocation

An enumeration of the counter locations for Feedback Mode and Double Pipeline Iteration Mode.

public static class
FipsKDF.CounterModeFactory

Factory for Counter Mode KDFs.

public static class
FipsKDF.CounterModeParameters

Parameters for the Counter Mode key derivation function.

public static class
FipsKDF.CounterModeParametersBuilder

Parameters for the Counter Mode parameters builder.

private static class
public static class
FipsKDF.DoublePipelineModeFactory

Factory for Double Pipeline Iteration Mode KDF.

public static class
FipsKDF.DoublePipelineModeParameters

Parameters for the Double Pipeline Mode key derivation function.

public static class
FipsKDF.DoublePipelineModeParametersBuilder

Parameters for the Double Pipeline Mode parameters builder.

private static class
public static class
FipsKDF.FeedbackModeFactory

Factory for Feedback Mode KDFs.

public static class
FipsKDF.FeedbackModeParameters

Parameters for the Feedback Mode key derivation function.

public static class
FipsKDF.FeedbackModeParametersBuilder

Parameters for the Feedback Mode parameters builder.

private static class
public static class
FipsKDF.IKEv2OperatorFactory

Factory for operators that derive key material using the IKEv2 KDF.

public static class
FipsKDF.IKEv2Parameters

Parameters for the IKVEv2 key derivation function.

public static class
FipsKDF.IKEv2ParametersBuilder

Parameters builder for the IKEv2 key derivation function.

public static enum
FipsKDF.IKEv2PRF

An enumeration of the FIPS approved psuedo-random-function (PRF) for KDFs used with IKEv2.

private static class
private static class
public static enum
FipsKDF.PRF

An enumeration of the FIPS approved psuedo-random-function (PRF) for KDFs used with SP 800-108.

public static class
FipsKDF.SRTPOperatorFactory

Factory for operators that derive key material using the SRTP KDF.

public static class
FipsKDF.SRTPParameters

Parameters for the SRTP key derivation function.

public static class
FipsKDF.SRTPParametersBuilder

Parameters for the SRTP key derivation function.

public static enum
FipsKDF.SRTPPRF

An enumeration of the FIPS approved psuedo-random-function (PRF) for KDFs used with SRTP.

public static class
FipsKDF.SSHOperatorFactory

Factory for operators that derive key material using the SSH KDF.

public static class
FipsKDF.SSHParameters

Parameters for the SSH key derivation function.

public static class
FipsKDF.SSHParametersBuilder

Parameters builder for the SSH key derivation function.

public static enum
FipsKDF.SSHPRF

An enumeration of the FIPS approved psuedo-random-function (PRF) for KDFs used with SSH key exchange.

public static class
FipsKDF.TLSOperatorFactory

Factory for operators that derive key material using the TLS family of KDFs.

public static class
FipsKDF.TLSParameters

Parameters for the TLS key derivation functions.

public static class
FipsKDF.TLSParametersBuilder

Parameter builder for TLS 1.0/1.1

public static class
FipsKDF.TLSParametersWithPRFBuilder

Parameter builder for TLS 1.2

public static enum
FipsKDF.TLSPRF

An enumeration of the FIPS approved psuedo-random-function (PRF) for KDFs used with TLS.

public static class
FipsKDF.TLSStage

The standard string values for TLS key calculation stages.

Field Summary

Modifier and TypeField and Description
public static final FipsKDF.AgreementKDFParametersBuilder
CONCATENATION

Algorithm parameter source for concatenating KDF in FIPS SP 800-56A/B - default PRF is SHA-1

public static final FipsKDF.CounterModeParametersBuilder
COUNTER_MODE

Algorithm parameter source for NIST SP 800-108 KDF in Counter Mode.

public static final FipsKDF.DoublePipelineModeParametersBuilder
DOUBLE_PIPELINE_ITERATION_MODE

Algorithm parameter source for NIST SP 800-108 KDF in Double-Pipeline Mode.

public static final FipsKDF.FeedbackModeParametersBuilder
FEEDBACK_MODE

Algorithm parameter source for NIST SP 800-108 KDF in Feedback Mode.

public static final FipsKDF.IKEv2ParametersBuilder
IKEv2

Algorithm parameter source for Internet Key Exchange Version 2 (IKEv2)

private static EngineProvider<Digest>
public static final FipsKDF.SRTPParametersBuilder
SRTP

Algorithm parameter source for Secure Real-time Transport Protocol (SRTP)

public static final FipsKDF.SSHParametersBuilder
SSH

Algorithm parameter source for Secure Shell (SSH)

public static final FipsKDF.TLSParametersBuilder
TLS1_0

Algorithm parameter source for Transport Layer Security Version 1.0 (TLSv1.0)

public static final FipsKDF.TLSParametersBuilder
TLS1_1

Algorithm parameter source for Transport Layer Security Version 1.1 (TLSv1.1)

public static final FipsKDF.TLSParametersWithPRFBuilder
TLS1_2

Algorithm parameter source for Transport Layer Security Version 1.2 (TLSv1.2)

public static final FipsKDF.AgreementKDFParametersBuilder
X963

Algorithm parameter source for ASN X9.63-2001 - default PRF is SHA-1

private static final byte[]

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
private static byte[]
buildFixedInput(byte[] label, byte[] context, int L)

private static KDFCalculator<FipsKDF.AgreementKDFParameters>
createConcatenationKDFCalculator(boolean approvedModeOnly, final FipsKDF.AgreementKDFParameters params)

Factory method for operators that derive key material using the SP800-56A Concatenation KDF.

private static FipsEngineProvider<Mac>
createPRF(FipsKDF.PRF prfAlgorithm)

private static KDFCalculator<FipsKDF.AgreementKDFParameters>
createX963KDFCalculator(boolean approvedModeOnly, final FipsKDF.AgreementKDFParameters params)

Factory for operators that derive key material using the X9.63 KDF.

private static void
hmac_hash(Mac mac, byte[] secret, byte[] seed, byte[] out)

private static byte[]
PRF(FipsKDF.TLSParameters parameters, FipsKDF.TLSPRF prfAlgorithm, byte[] secret, String asciiLabel, int size)

private static byte[]
PRF_legacy(FipsKDF.TLSParameters parameters, byte[] secret, String asciiLabel, int size, Mac md5Hmac, Mac sha1HMac)

pack-priv static byte[]
processZBytes(byte[] zBytes, FipsAgreementParameters parameters)

private static void
private static void
private static void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait