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

org.bouncycastle.crypto.signers.slhdsa

## Class SLHDSAEngine

- java.lang.Object
- - org.bouncycastle.crypto.signers.slhdsa.SLHDSAEngine

- Direct Known Subclasses:
    SLHDSAEngine.Sha2Engine, SLHDSAEngine.Shake256Engine

      public abstract class SLHDSAEngine
      extends java.lang.Object

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `SLHDSAEngine.Sha2Engine`
    `static class` | `SLHDSAEngine.Shake256Engine`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `SLHDSAEngine(int n, int w, int d, int a, int k, int h)`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static AsymmetricCipherKeyPair` | `implGenerateKeyPair(SLHDSAParameters params, byte[] skSeed, byte[] skPrf, byte[] pkSeed)`
    `static byte[]` | `internalGenerateSignature(SLHDSAParameters params, byte[] skSeed, byte[] skPrf, byte[] pkSeed, byte[] pkRoot, byte[] msgPrefix, byte[] msg, byte[] optRand)`
    `static boolean` | `internalVerifySignature(SLHDSAParameters params, byte[] pkSeed, byte[] pkRoot, byte[] msgPrefix, byte[] msg, byte[] signature)`

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

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

- - ### Constructor Detail

    - #### SLHDSAEngine

          protected SLHDSAEngine(int n,
                                 int w,
                                 int d,
                                 int a,
                                 int k,
                                 int h)

  - ### Method Detail

    - #### implGenerateKeyPair

          public static AsymmetricCipherKeyPair implGenerateKeyPair(SLHDSAParameters params,
                                                                    byte[] skSeed,
                                                                    byte[] skPrf,
                                                                    byte[] pkSeed)

    - #### internalVerifySignature

          public static boolean internalVerifySignature(SLHDSAParameters params,
                                                        byte[] pkSeed,
                                                        byte[] pkRoot,
                                                        byte[] msgPrefix,
                                                        byte[] msg,
                                                        byte[] signature)

    - #### internalGenerateSignature

          public static byte[] internalGenerateSignature(SLHDSAParameters params,
                                                         byte[] skSeed,
                                                         byte[] skPrf,
                                                         byte[] pkSeed,
                                                         byte[] pkRoot,
                                                         byte[] msgPrefix,
                                                         byte[] msg,
                                                         byte[] optRand)