<PackageReference Include="BouncyCastle.Cryptography" Version="2.2.1" />

Poly

class Poly
public int[] Coeffs { get; set; }

public Poly(DilithiumEngine engine)

public void AddPoly(Poly a)

public void Challenge(byte[] seed)

public bool CheckNorm(int B)

public void ConditionalAddQ()

public void Decompose(Poly a)

public void InverseNttToMont()

public void PackW1(byte[] r, int off)

public void PackZ(byte[] r, int offset)

public void PointwiseMontgomery(Poly v, Poly w)

public void PolyEtaPack(byte[] r, int off)

public void PolyEtaUnpack(byte[] a, int off)

public int PolyMakeHint(Poly a0, Poly a1)

public void PolyNtt()

public void PolyT0Pack(byte[] r, int off)

public void PolyT0Unpack(byte[] a, int off)

public byte[] PolyT1Pack()

public void PolyT1Unpack(byte[] a)

public void PolyUseHint(Poly a, Poly h)

public void Power2Round(Poly a)

public void ReducePoly()

public void ShiftLeft()

public void Subtract(Poly b)

public void UniformBlocks(byte[] seed, ushort nonce)

public void UniformEta(byte[] seed, ushort nonce)

public void UniformGamma1(byte[] seed, ushort nonce)

public void UnpackZ(byte[] a)