Class DilithiumKeyParameterSpec

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

public class DilithiumKeyParameterSpec extends Object implements AlgorithmParameterSpec
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.

  • Constructor Details

    • DilithiumKeyParameterSpec

      public DilithiumKeyParameterSpec(String name) throws IllegalArgumentException
      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
      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
      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
      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()
      Returns the name
      Returns:
      the name
    • getAttributes

      public DilithiumKeyAttributes getAttributes()
      Returns the key pair attributes.
      Returns:
      the key pair attributes.
    • getLabelString

      public String getLabelString()
      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.