SkeinParameters (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

org.bouncycastle.crypto.params

## Class SkeinParameters

- java.lang.Object
- - org.bouncycastle.crypto.params.SkeinParameters

- All Implemented Interfaces:
    CipherParameters

      public class SkeinParameters
      extends java.lang.Object
      implements CipherParameters

  Parameters for the Skein hash function - a series of byte[] strings identified by integer tags.

  Parameterised Skein can be used for:

  - MAC generation, by providing a `key`.
  - Randomised hashing, by providing a `nonce`.
  - A hash function for digital signatures, associating a `public key` with the message digest.
  - A key derivation function, by providing a `key identifier`.
  - Personalised hashing, by providing a `recommended format` or `arbitrary` personalisation string.
  See Also:
    `SkeinEngine`, `SkeinDigest`, `SkeinMac`

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `SkeinParameters.Builder` A builder for `SkeinParameters`.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `PARAM_TYPE_CONFIG` The parameter type for the Skein configuration block: 4.
    `static int` | `PARAM_TYPE_KEY` The parameter type for a secret key, supporting MAC or KDF functions: 0.
    `static int` | `PARAM_TYPE_KEY_IDENTIFIER` The parameter type for a key identifier string: 16.
    `static int` | `PARAM_TYPE_MESSAGE` The parameter type for the message: 48.
    `static int` | `PARAM_TYPE_NONCE` The parameter type for a nonce: 20.
    `static int` | `PARAM_TYPE_OUTPUT` The parameter type for the output transformation: 63.
    `static int` | `PARAM_TYPE_PERSONALISATION` The parameter type for a personalisation string: 8.
    `static int` | `PARAM_TYPE_PUBLIC_KEY` The parameter type for a public key: 12.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SkeinParameters()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `byte[]` | `getKey()` Obtains the value of the `key parameter`, or `null` if not set.
    `byte[]` | `getKeyIdentifier()` Obtains the value of the `key identifier parameter`, or `null` if not set.
    `byte[]` | `getNonce()` Obtains the value of the `nonce parameter`, or `null` if not set.
    `java.util.Hashtable` | `getParameters()` Obtains a map of type (Integer) to value (byte[]) for the parameters tracked in this object.
    `byte[]` | `getPersonalisation()` Obtains the value of the `personalisation parameter`, or `null` if not set.
    `byte[]` | `getPublicKey()` Obtains the value of the `public key parameter`, or `null` if not set.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### PARAM_TYPE_KEY

          public static final int PARAM_TYPE_KEY

      The parameter type for a secret key, supporting MAC or KDF functions: 0.
      See Also:
        Constant Field Values

    - #### PARAM_TYPE_CONFIG

          public static final int PARAM_TYPE_CONFIG

      The parameter type for the Skein configuration block: 4.
      See Also:
        Constant Field Values

    - #### PARAM_TYPE_PERSONALISATION

          public static final int PARAM_TYPE_PERSONALISATION

      The parameter type for a personalisation string: 8.
      See Also:
        Constant Field Values

    - #### PARAM_TYPE_PUBLIC_KEY

          public static final int PARAM_TYPE_PUBLIC_KEY

      The parameter type for a public key: 12.
      See Also:
        Constant Field Values

    - #### PARAM_TYPE_KEY_IDENTIFIER

          public static final int PARAM_TYPE_KEY_IDENTIFIER

      The parameter type for a key identifier string: 16.
      See Also:
        Constant Field Values

    - #### PARAM_TYPE_NONCE

          public static final int PARAM_TYPE_NONCE

      The parameter type for a nonce: 20.
      See Also:
        Constant Field Values

    - #### PARAM_TYPE_MESSAGE

          public static final int PARAM_TYPE_MESSAGE

      The parameter type for the message: 48.
      See Also:
        Constant Field Values

    - #### PARAM_TYPE_OUTPUT

          public static final int PARAM_TYPE_OUTPUT

      The parameter type for the output transformation: 63.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### SkeinParameters

          public SkeinParameters()

  - ### Method Detail

    - #### getParameters

          public java.util.Hashtable getParameters()

      Obtains a map of type (Integer) to value (byte[]) for the parameters tracked in this object.

    - #### getKey

          public byte[] getKey()

      Obtains the value of the `key parameter`, or `null` if not set.

    - #### getPersonalisation

          public byte[] getPersonalisation()

      Obtains the value of the `personalisation parameter`, or `null` if not set.

    - #### getPublicKey

          public byte[] getPublicKey()

      Obtains the value of the `public key parameter`, or `null` if not set.

    - #### getKeyIdentifier

          public byte[] getKeyIdentifier()

      Obtains the value of the `key identifier parameter`, or `null` if not set.

    - #### getNonce

          public byte[] getNonce()

      Obtains the value of the `nonce parameter`, or `null` if not set.