Class DilithiumKeyParameterSpec

java.lang.Object
com.ibm.crypto.hdwrCCA.provider.DilithiumKeyParameterSpec
All Implemented Interfaces:
AlgorithmParameterSpec

@Deprecated(since="21.0.11.0", forRemoval=true) public class DilithiumKeyParameterSpec extends Object implements AlgorithmParameterSpec
Deprecated, for removal: This API element is subject to removal in a future version.
Replaced by ML-DSA implementation. This CRYSTALS-Dilithium implementation is deprecated and will be removed in a future release, in alignment with NIST's latest recommendations for post-quantum cryptography modernization. Users should transition to the finalized ML-DSA standards.
This class provides means for specifying the parameters for a CRYSTALS-Dilithium key pair to be generated via the DilithiumKeyPairGenerator class. These parameters are:

type, which is either KeyHWAttrubuteValues.PKDS, KeyHWAttributeValues.MASTER, or KeyHWAttributeValues.CLEAR;

usage must be KeyHWAttributeValues.SIGNATURE;

name, the name or OID of the desired algorithm. Acceptable OIDs: "1.3.6.1.4.1.2.267.1.6.5" - CRYSTALS-Dilithium 6,5 Round 2 "1.3.6.1.4.1.2.267.7.6.5" - CRYSTALS-Dilithium 6,5 Round 3 "1.3.6.1.4.1.2.267.1.8.7" - CRYSTALS-Dilithium 8,7 Round 2 "1.3.6.1.4.1.2.267.7.8.7" - CRYSTALS-Dilithium 8,7 Round 3

Acceptable names: "dilithium65r2" - CRYSTALS-Dilithium 6,5 Round 2 "dilithium65r3" - CRYSTALS-Dilithium 6,5 Round 3 "dilithium87r2" - CRYSTALS-Dilithium 8,7 Round 2 "dilithium87r3" - CRYSTALS-Dilithium 8,7 Round 3

keylabel which is the label associated with the generated private key.

This class is immutable.

See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    Deprecated, for removal: This API element is subject to removal in a future version.
    Creates a parameter set.
    Deprecated, for removal: This API element is subject to removal in a future version.
    Creates a parameter set.
    DilithiumKeyParameterSpec(String name, byte type, byte usage)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Creates a parameter set.
    DilithiumKeyParameterSpec(String name, byte type, byte usage, String label)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Creates a parameter set.
  • Method Summary

    Modifier and Type
    Method
    Description
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns the key pair attributes.
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns the key label that will be used to store the private key.
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns the name

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DilithiumKeyParameterSpec

      public DilithiumKeyParameterSpec(String name) throws IllegalArgumentException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Creates a parameter set. The type is defaulted to KeyHWAttributeValues.MASTER. The usage is defaulted to KeyHWAttributeValues.SIGNATURE.
      Parameters:
      name - the standard name or OID of the algorithm parameters
      Throws:
      IllegalArgumentException - for any parameter values outside the bounds for that parameter.
    • DilithiumKeyParameterSpec

      public DilithiumKeyParameterSpec(String name, byte type) throws IllegalArgumentException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Creates a parameter set. The usage is defaulted to KeyHWAttributeValues.SIGNATURE.
      Parameters:
      name - the standard name or OID of the algorithm parameters
      type - the hardware key type determined from KeyHWAttributeValues PKDS (key storage), MASTER (encrypted under ICSF master key), or CLEAR.
      Throws:
      IllegalArgumentException - for any parameter values outside the bounds for that parameter.
    • DilithiumKeyParameterSpec

      public DilithiumKeyParameterSpec(String name, byte type, byte usage) throws IllegalArgumentException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Creates a parameter set.
      Parameters:
      name - the standard name or OID of the algorithm parameters
      type - the hardware key type determined from KeyHWAttributeValues PKDS (key storage), MASTER (encrypted under ICSF master key), or CLEAR.
      usage - the way that the key will be used, must be SIGNATURE (used for signing purposes only)
      Throws:
      IllegalArgumentException - for any parameter values outside the bounds for that parameter.
    • DilithiumKeyParameterSpec

      public DilithiumKeyParameterSpec(String name, byte type, byte usage, String label) throws IllegalArgumentException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Creates a parameter set.
      Parameters:
      name - the standard name or OID of the algorithm parameters
      type - the hardware key type determined from KeyHWAttributeValues PKDS (key storage), MASTER (encrypted under ICSF master key), or CLEAR.
      usage - the way that the key will be used, must be SIGNATURE (used for signing purposes only)
      label - if a KeyHWAttributeValues.PKDS key, the label used to identify the key. If a KeyHWAttributeValues.CLEAR key, label is ignored.
      Throws:
      IllegalArgumentException - for any parameter values outside the bounds for that parameter.
  • Method Details

    • getName

      public String getName()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Returns the name
      Returns:
      the name
    • getAttributes

      public DilithiumKeyAttributes getAttributes()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Returns the key pair attributes.
      Returns:
      the key pair attributes.
    • getLabelString

      public String getLabelString()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Returns the key label that will be used to store the private key.
      Returns:
      the key label. Returns null if no label is associated with this parameter spec.