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

org.bouncycastle.pqc.crypto.sdith

## Class SDitHPrivateKeyParameters

- java.lang.Object
- - org.bouncycastle.crypto.params.AsymmetricKeyParameter
  - - org.bouncycastle.pqc.crypto.sdith.SDitHPrivateKeyParameters

- All Implemented Interfaces:
    CipherParameters

      public class SDitHPrivateKeyParameters
      extends AsymmetricKeyParameter

  SDitH private key, in the same expanded form that the reference KAT files write out (sdith_full_key_t).

  Layout:

         H_a_seed (seedSize)  ||  y (m-k)  ||  s_A (k)  ||  q_poly (d * w/d)  ||  p_poly (d * w/d)

  The `mSeed` is held alongside the expanded key whenever it is known (after keygen); when reconstructed from a flat encoded blob we have only the expanded data and `getSeed()` returns `null`.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SDitHPrivateKeyParameters(SDitHParameters parameters, byte[] encoded)`
    `SDitHPrivateKeyParameters(SDitHParameters parameters, byte[] mSeed, byte[] hASeed, byte[] y, byte[] sA, byte[] qPoly, byte[] pPoly)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `byte[]` | `getEncoded()`
    `byte[]` | `getHASeed()`
    `SDitHParameters` | `getParameters()`
    `byte[]` | `getPPoly()`
    `SDitHPublicKeyParameters` | `getPublicKeyParameters()`
    `byte[]` | `getQPoly()`
    `byte[]` | `getSA()`
    `byte[]` | `getSeed()`
    `byte[]` | `getY()`

    - ### Methods inherited from class org.bouncycastle.crypto.params.AsymmetricKeyParameter

      `isPrivate`

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

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

- - ### Constructor Detail

    - #### SDitHPrivateKeyParameters

          public SDitHPrivateKeyParameters(SDitHParameters parameters,
                                           byte[] mSeed,
                                           byte[] hASeed,
                                           byte[] y,
                                           byte[] sA,
                                           byte[] qPoly,
                                           byte[] pPoly)

    - #### SDitHPrivateKeyParameters

          public SDitHPrivateKeyParameters(SDitHParameters parameters,
                                           byte[] encoded)

  - ### Method Detail

    - #### getParameters

          public SDitHParameters getParameters()

    - #### getEncoded

          public byte[] getEncoded()

    - #### getSeed

          public byte[] getSeed()

    - #### getHASeed

          public byte[] getHASeed()

    - #### getY

          public byte[] getY()

    - #### getSA

          public byte[] getSA()

    - #### getQPoly

          public byte[] getQPoly()

    - #### getPPoly

          public byte[] getPPoly()

    - #### getPublicKeyParameters

          public SDitHPublicKeyParameters getPublicKeyParameters()