Versions in this module Expand all Collapse all v1 v1.4.5 Dec 5, 2023 v1.4.2 Dec 4, 2023 v1.4.1 Dec 4, 2023 v1.4.0 Dec 4, 2023 v1.3.9 Dec 4, 2023 v1.3.8 Dec 4, 2023 v1.3.7 Dec 4, 2023 Changes in this version + const Alpha + const Beta + const DoubleEtaBits + const Eta + const Gamma1 + const Gamma1Bits + const Gamma2 + const K + const L + const Name + const Omega + const PolyLeGamma1Size + const PolyLeqEtaSize + const PolyW1Size + const PrivateKeySize + const PublicKeySize + const SignatureSize + const Tau + const UseAES + var DeriveX4Available = keccakf1600.IsEnabledX4() && !UseAES + func GenerateKey(rand io.Reader) (*PublicKey, *PrivateKey, error) + func NewKeyFromSeed(seed *[common.SeedSize]byte) (*PublicKey, *PrivateKey) + func PolyDecompose(p, p0PlusQ, p1 *common.Poly) + func PolyDeriveUniform(p *common.Poly, seed *[32]byte, nonce uint16) + func PolyDeriveUniformBall(p *common.Poly, seed *[32]byte) + func PolyDeriveUniformBallX4(ps [4]*common.Poly, seed *[32]byte) + func PolyDeriveUniformLeGamma1(p *common.Poly, seed *[64]byte, nonce uint16) + func PolyDeriveUniformLeqEta(p *common.Poly, seed *[64]byte, nonce uint16) + func PolyDeriveUniformX4(ps [4]*common.Poly, seed *[32]byte, nonces [4]uint16) + func PolyDotHat(p *common.Poly, a, b *VecL) + func PolyMakeHint(p, p0, p1 *common.Poly) (pop uint32) + func PolyPackLeGamma1(p *common.Poly, buf []byte) + func PolyPackLeqEta(p *common.Poly, buf []byte) + func PolyPackW1(p *common.Poly, buf []byte) + func PolyUnpackLeGamma1(p *common.Poly, buf []byte) + func PolyUnpackLeqEta(p *common.Poly, buf []byte) + func PolyUseHint(p, q, hint *common.Poly) + func SignTo(sk *PrivateKey, msg []byte, signature []byte) + func VecLDeriveUniformLeGamma1(v *VecL, seed *[64]byte, nonce uint16) + func Verify(pk *PublicKey, msg []byte, signature []byte) bool + type Mat [K]VecL + func (m *Mat) Derive(seed *[32]byte) + type PrivateKey struct + A Mat + func (sk *PrivateKey) Equal(other *PrivateKey) bool + func (sk *PrivateKey) Pack(buf *[PrivateKeySize]byte) + func (sk *PrivateKey) Public() *PublicKey + func (sk *PrivateKey) Unpack(buf *[PrivateKeySize]byte) + type PublicKey struct + A *Mat + func (pk *PublicKey) Equal(other *PublicKey) bool + func (pk *PublicKey) Pack(buf *[PublicKeySize]byte) + func (pk *PublicKey) Unpack(buf *[PublicKeySize]byte) + type VecK [K]common.Poly + func (v *VecK) Add(w, u *VecK) + func (v *VecK) Decompose(v0PlusQ, v1 *VecK) + func (v *VecK) Exceeds(bound uint32) bool + func (v *VecK) InvNTT() + func (v *VecK) MakeHint(v0, v1 *VecK) (pop uint32) + func (v *VecK) MulBy2toD(w *VecK) + func (v *VecK) NTT() + func (v *VecK) Normalize() + func (v *VecK) NormalizeAssumingLe2Q() + func (v *VecK) PackHint(buf []byte) + func (v *VecK) PackLeqEta(buf []byte) + func (v *VecK) PackT0(buf []byte) + func (v *VecK) PackT1(buf []byte) + func (v *VecK) PackW1(buf []byte) + func (v *VecK) Power2Round(v0PlusQ, v1 *VecK) + func (v *VecK) ReduceLe2Q() + func (v *VecK) Sub(a, b *VecK) + func (v *VecK) UnpackHint(buf []byte) bool + func (v *VecK) UnpackLeqEta(buf []byte) + func (v *VecK) UnpackT0(buf []byte) + func (v *VecK) UnpackT1(buf []byte) + func (v *VecK) UseHint(q, hint *VecK) *VecK + type VecL [L]common.Poly + func (v *VecL) Add(w, u *VecL) + func (v *VecL) Decompose(v0PlusQ, v1 *VecL) + func (v *VecL) Exceeds(bound uint32) bool + func (v *VecL) NTT() + func (v *VecL) Normalize() + func (v *VecL) NormalizeAssumingLe2Q() + func (v *VecL) PackLeGamma1(buf []byte) + func (v *VecL) PackLeqEta(buf []byte) + func (v *VecL) Power2Round(v0PlusQ, v1 *VecL) + func (v *VecL) UnpackLeGamma1(buf []byte) + func (v *VecL) UnpackLeqEta(buf []byte)