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

org.bouncycastle.crypto.signers.slhdsa

## Class SLHDSAEngine.Sha2Engine

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

- Enclosing class:
    SLHDSAEngine

      public static class SLHDSAEngine.Sha2Engine
      extends SLHDSAEngine

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.bouncycastle.crypto.signers.slhdsa.SLHDSAEngine

      `SLHDSAEngine.Sha2Engine, SLHDSAEngine.Shake256Engine`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Sha2Engine(int n, int w, int d, int a, int k, int h)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected byte[]` | `bitmask(byte[] key, byte[] m)`
    `protected byte[]` | `bitmask(byte[] key, byte[] m1, byte[] m2)`
    `protected byte[]` | `bitmask256(byte[] key, byte[] m)`
    `byte[]` | `F(byte[] pkSeed, org.bouncycastle.crypto.signers.slhdsa.ADRS adrs, byte[] m1)`
    `byte[]` | `H(byte[] pkSeed, org.bouncycastle.crypto.signers.slhdsa.ADRS adrs, byte[] m1, byte[] m2)`
    `byte[]` | `PRF_msg(byte[] prf, byte[] randomiser, byte[] msgPrefix, byte[] msg)`
    `byte[]` | `T_l(byte[] pkSeed, org.bouncycastle.crypto.signers.slhdsa.ADRS adrs, byte[] m)`

    - ### Methods inherited from class org.bouncycastle.crypto.signers.slhdsa.SLHDSAEngine

      `implGenerateKeyPair, internalGenerateSignature, internalVerifySignature`

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

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

- - ### Constructor Detail

    - #### Sha2Engine

          public Sha2Engine(int n,
                            int w,
                            int d,
                            int a,
                            int k,
                            int h)

  - ### Method Detail

    - #### F

          public byte[] F(byte[] pkSeed,
                          org.bouncycastle.crypto.signers.slhdsa.ADRS adrs,
                          byte[] m1)

    - #### H

          public byte[] H(byte[] pkSeed,
                          org.bouncycastle.crypto.signers.slhdsa.ADRS adrs,
                          byte[] m1,
                          byte[] m2)

    - #### T_l

          public byte[] T_l(byte[] pkSeed,
                            org.bouncycastle.crypto.signers.slhdsa.ADRS adrs,
                            byte[] m)

    - #### PRF_msg

          public byte[] PRF_msg(byte[] prf,
                                byte[] randomiser,
                                byte[] msgPrefix,
                                byte[] msg)

    - #### bitmask

          protected byte[] bitmask(byte[] key,
                                   byte[] m)

    - #### bitmask

          protected byte[] bitmask(byte[] key,
                                   byte[] m1,
                                   byte[] m2)

    - #### bitmask256

          protected byte[] bitmask256(byte[] key,
                                      byte[] m)