Bouncy Castle Cryptography Library 1.85

org.bouncycastle.pqc.crypto.haetae
Class HAETAEParameters

java.lang.Object
  extended byorg.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
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
 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()

Bouncy Castle Cryptography Library 1.85