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

org.bouncycastle.pqc.crypto.haetae

## Class HAETAEParameters

- java.lang.Object
- - org.bouncycastle.pqc.crypto.haetae.HAETAEParameters

-     public class HAETAEParameters
      extends java.lang.Object

  Parameters for the HAETAE signature scheme (Modes 2, 3, and 5).

  This class mirrors the constants defined in `params.h`. Instances are immutable and can be shared freely.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `CRH_BYTES` Size of the challenge hash (bytes)
    `static int` | `DQ` 2 * Q
    `static int` | `ETA` η parameter (always 1)
    `static HAETAEParameters` | `haetae2`
    `static HAETAEParameters` | `haetae3`
    `static HAETAEParameters` | `haetae5`
    `static int` | `N` Ring dimension N
    `static int` | `POLY_HIGHBITS_PACKED_BYTES` Packed size of polynomial high bits (N * 9 / 8)
    `static int` | `POLYC_PACKED_BYTES` Packed size of a challenge polynomial
    `static int` | `POLYETA_PACKED_BYTES` Packed size of a polynomial with η‑coefficients
    `static int` | `Q` Modulus Q
    `static int` | `SEED_BYTES` Size of the seed (bytes)

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getAlphaHint()`
    `double` | `getB0()`
    `long` | `getB0Sq()`
    `double` | `getB1()`
    `long` | `getB1Sq()`
    `double` | `getB2()`
    `long` | `getB2Sq()`
    `int` | `getBaseEncH()`
    `int` | `getBaseEncHbZ1()`
    `int` | `getCryptoBytes()` Size of the signature in bytes
    `org.bouncycastle.pqc.crypto.haetae.RansDecSymbol[]` | `getDsyms_h()`
    `org.bouncycastle.pqc.crypto.haetae.RansDecSymbol[]` | `getDsyms_hb_z1()`
    `org.bouncycastle.pqc.crypto.haetae.RansEncSymbol[]` | `getEsyms_h()`
    `org.bouncycastle.pqc.crypto.haetae.RansEncSymbol[]` | `getEsyms_hb_z1()`
    `double` | `getGamma()`
    `int` | `getHalfAlphaHint()`
    `int` | `getK()`
    `int` | `getL()`
    `int` | `getLn()`
    `int` | `getLnBits()`
    `int` | `getLnHalf()`
    `int` | `getLogAlphaHint()`
    `int` | `getM_h()`
    `int` | `getM_hb_z1()`
    `int` | `getM()`
    `java.lang.String` | `getName()`
    `int` | `getOffset_h()`
    `int` | `getOffset_hb_z1()`
    `int` | `getPoly2etaPackedBytes()` Packed size of a polynomial with coefficients in [‑2η, 2η]
    `int` | `getPolyqPackedBytes()` Packed size of a polynomial with coefficients modulo Q
    `int` | `getPolyveckHighbitsPackedBytes()`
    `int` | `getPublicKeyBytes()`
    `int` | `getSecretKeyBytes()`
    `double` | `getSqnm()`
    `long[]` | `getStartCube()`
    `long[]` | `getStartTimesThreehalves()` Returns a copy of the start_times_threehalves constant.
    `short[]` | `getSymbolH_z1()`
    `short[]` | `getSymbolH()`
    `int` | `getTau()`
    `java.lang.String` | `toString()`

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

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

- - ### Field Detail

    - #### haetae2

          public static final HAETAEParameters haetae2

    - #### haetae3

          public static final HAETAEParameters haetae3

    - #### haetae5

          public static final HAETAEParameters haetae5

    - #### SEED_BYTES

          public static final int SEED_BYTES

      Size of the seed (bytes)
      See Also:
        Constant Field Values

    - #### CRH_BYTES

          public static final int CRH_BYTES

      Size of the challenge hash (bytes)
      See Also:
        Constant Field Values

    - #### N

          public static final int N

      Ring dimension N
      See Also:
        Constant Field Values

    - #### Q

          public static final int Q

      Modulus Q
      See Also:
        Constant Field Values

    - #### DQ

          public static final int DQ

      2 * Q
      See Also:
        Constant Field Values

    - #### ETA

          public static final int ETA

      η parameter (always 1)
      See Also:
        Constant Field Values

    - #### POLYETA_PACKED_BYTES

          public static final int POLYETA_PACKED_BYTES

      Packed size of a polynomial with η‑coefficients
      See Also:
        Constant Field Values

    - #### POLYC_PACKED_BYTES

          public static final int POLYC_PACKED_BYTES

      Packed size of a challenge polynomial
      See Also:
        Constant Field Values

    - #### POLY_HIGHBITS_PACKED_BYTES

          public static final int POLY_HIGHBITS_PACKED_BYTES

      Packed size of polynomial high bits (N * 9 / 8)
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getName

          public java.lang.String getName()

    - #### getK

          public int getK()

    - #### getL

          public int getL()

    - #### getM

          public int getM()

    - #### getTau

          public int getTau()

    - #### getB0

          public double getB0()

    - #### getB1

          public double getB1()

    - #### getB2

          public double getB2()

    - #### getGamma

          public double getGamma()

    - #### getLn

          public int getLn()

    - #### getLnHalf

          public int getLnHalf()

    - #### getLnBits

          public int getLnBits()

    - #### getSqnm

          public double getSqnm()

    - #### getCryptoBytes

          public int getCryptoBytes()

      Size of the signature in bytes

    - #### getBaseEncHbZ1

          public int getBaseEncHbZ1()

    - #### getBaseEncH

          public int getBaseEncH()

    - #### getAlphaHint

          public int getAlphaHint()

    - #### getLogAlphaHint

          public int getLogAlphaHint()

    - #### getPolyqPackedBytes

          public int getPolyqPackedBytes()

      Packed size of a polynomial with coefficients modulo Q

    - #### getPoly2etaPackedBytes

          public int getPoly2etaPackedBytes()

      Packed size of a polynomial with coefficients in [‑2η, 2η]

    - #### getHalfAlphaHint

          public int getHalfAlphaHint()

    - #### getB0Sq

          public long getB0Sq()

    - #### getB1Sq

          public long getB1Sq()

    - #### getB2Sq

          public long getB2Sq()

    - #### getPolyveckHighbitsPackedBytes

          public int getPolyveckHighbitsPackedBytes()

    - #### getPublicKeyBytes

          public int getPublicKeyBytes()

    - #### getSecretKeyBytes

          public int getSecretKeyBytes()

    - #### getStartCube

          public long[] getStartCube()

    - #### getStartTimesThreehalves

          public long[] getStartTimesThreehalves()

      Returns a copy of the start_times_threehalves constant.

    - #### getM_h

          public int getM_h()

    - #### getOffset_h

          public int getOffset_h()

    - #### getM_hb_z1

          public int getM_hb_z1()

    - #### getOffset_hb_z1

          public int getOffset_hb_z1()

    - #### getEsyms_h

          public org.bouncycastle.pqc.crypto.haetae.RansEncSymbol[] getEsyms_h()

    - #### getDsyms_h

          public org.bouncycastle.pqc.crypto.haetae.RansDecSymbol[] getDsyms_h()

    - #### getEsyms_hb_z1

          public org.bouncycastle.pqc.crypto.haetae.RansEncSymbol[] getEsyms_hb_z1()

    - #### getDsyms_hb_z1

          public org.bouncycastle.pqc.crypto.haetae.RansDecSymbol[] getDsyms_hb_z1()

    - #### getSymbolH

          public short[] getSymbolH()

    - #### getSymbolH_z1

          public short[] getSymbolH_z1()

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`