Bouncy Castle Cryptography Library 1.81

org.bouncycastle.jcajce.spec
Class HybridValueParameterSpec

java.lang.Object
  extended byorg.bouncycastle.jcajce.spec.HybridValueParameterSpec
All Implemented Interfaces:
java.security.spec.AlgorithmParameterSpec, javax.security.auth.Destroyable

public class HybridValueParameterSpec
extends java.lang.Object
implements java.security.spec.AlgorithmParameterSpec, javax.security.auth.Destroyable

SP 800-56C Hybrid Value spec, by default to allow the secret in a key agreement to be created as "Z | T" where T is some other secret value as described in Section 2. If the value doPrepend is set to true the spec will be used to calculate "T | Z" instead.

Get methods throw IllegalStateException if destroy() is called.


Constructor Summary
HybridValueParameterSpec(byte[] t, java.security.spec.AlgorithmParameterSpec baseSpec)
          Create a spec with T set to t and the spec for the KDF in the agreement to baseSpec.
HybridValueParameterSpec(byte[] t, boolean doPrepend, java.security.spec.AlgorithmParameterSpec baseSpec)
          Create a spec with T set to t and the spec for the KDF in the agreement to baseSpec.
 
Method Summary
 void destroy()
          Destroy this parameter spec, explicitly erasing its contents.
 java.security.spec.AlgorithmParameterSpec getBaseParameterSpec()
          Return the base parameter spec.
 byte[] getT()
          Return a reference to the T value.
 boolean isDestroyed()
          Return true if the destroy() method is called and the contents are erased.
 boolean isPrependedT()
          Return whether or not T should be prepended.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HybridValueParameterSpec

public HybridValueParameterSpec(byte[] t,
                                java.security.spec.AlgorithmParameterSpec baseSpec)
Create a spec with T set to t and the spec for the KDF in the agreement to baseSpec. Note: the t value is not copied.

Parameters:
t - a shared secret to be concatenated with the agreement's Z value.
baseSpec - the base spec for the agreements KDF.

HybridValueParameterSpec

public HybridValueParameterSpec(byte[] t,
                                boolean doPrepend,
                                java.security.spec.AlgorithmParameterSpec baseSpec)
Create a spec with T set to t and the spec for the KDF in the agreement to baseSpec. Note: the t value is not copied.

Parameters:
t - a shared secret to be concatenated with the agreement's Z value.
baseSpec - the base spec for the agreements KDF.
Method Detail

isPrependedT

public boolean isPrependedT()
Return whether or not T should be prepended.

Returns:
true if T to be prepended, false otherwise.

getT

public byte[] getT()
Return a reference to the T value.

Returns:
a reference to T.

getBaseParameterSpec

public java.security.spec.AlgorithmParameterSpec getBaseParameterSpec()
Return the base parameter spec.

Returns:
base spec to be applied to the KDF.

isDestroyed

public boolean isDestroyed()
Return true if the destroy() method is called and the contents are erased.

Specified by:
isDestroyed in interface javax.security.auth.Destroyable
Returns:
true if destroyed, false otherwise.

destroy

public void destroy()
Destroy this parameter spec, explicitly erasing its contents.

Specified by:
destroy in interface javax.security.auth.Destroyable

Bouncy Castle Cryptography Library 1.81