fp128

package
v1.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 4, 2025 License: BSD-3-Clause Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const Size = 16

Size is the length in bytes of an Fp128 element.

Variables

View Source
var (
	ErrMatchLen       = errors.New("inputs mismatched length")
	ErrFieldEltDecode = errors.New("incorrect field element value")
	ErrNumberTooLarge = errors.New("number of bits is not enough to represent the number")
	ErrMaxNumTries    = errors.New("random rejection sampling reached maximum number of tries")
	ErrRootsOfUnity   = errors.New("Fp has no roots of unity of order larger than 2^66")
)

Functions

This section is empty.

Types

type Fp

type Fp [2]uint64

Fp represents a prime field element as a positive integer less than Order.

func (*Fp) Add

func (z *Fp) Add(x, y *Fp)

func (*Fp) AddAssign

func (z *Fp) AddAssign(x *Fp)

func (*Fp) GetUint64

func (z *Fp) GetUint64() (uint64, error)

func (*Fp) Inv

func (z *Fp) Inv(x *Fp)

func (*Fp) InvTwoN

func (z *Fp) InvTwoN(n uint)

func (*Fp) InvUint64

func (z *Fp) InvUint64(x uint64)

func (*Fp) IsEqual

func (z *Fp) IsEqual(x *Fp) bool

func (*Fp) IsOne

func (z *Fp) IsOne() bool

func (*Fp) IsZero

func (z *Fp) IsZero() bool

func (*Fp) Marshal

func (z *Fp) Marshal(b *cryptobyte.Builder) error

func (*Fp) MarshalBinary

func (z *Fp) MarshalBinary() ([]byte, error)

func (*Fp) Mul

func (z *Fp) Mul(x, y *Fp)

func (*Fp) MulAssign

func (z *Fp) MulAssign(x *Fp)

func (Fp) Order

func (z Fp) Order() []byte

func (Fp) OrderRootUnity

func (z Fp) OrderRootUnity() uint

func (*Fp) Random

func (z *Fp) Random(r io.Reader) error

func (*Fp) RandomSHA3

func (z *Fp) RandomSHA3(s *sha3.State) error

func (*Fp) SetOne

func (z *Fp) SetOne()

func (*Fp) SetRootOfUnityTwoN

func (z *Fp) SetRootOfUnityTwoN(n uint)

func (*Fp) SetUint64

func (z *Fp) SetUint64(n uint64) error

func (Fp) Size

func (z Fp) Size() uint

func (*Fp) Sqr

func (z *Fp) Sqr(x *Fp)

func (Fp) String

func (z Fp) String() string

func (*Fp) Sub

func (z *Fp) Sub(x, y *Fp)

func (*Fp) SubAssign

func (z *Fp) SubAssign(x *Fp)

func (*Fp) Unmarshal

func (z *Fp) Unmarshal(s *cryptobyte.String) bool

func (*Fp) UnmarshalBinary

func (z *Fp) UnmarshalBinary(b []byte) error

type Poly

type Poly []Fp

func (Poly) AddAssign

func (p Poly) AddAssign(x Poly)

func (Poly) Evaluate

func (p Poly) Evaluate(x *Fp) (px Fp)

func (Poly) Mul

func (p Poly) Mul(x, y Poly)

func (Poly) MulNSquare

func (p Poly) MulNSquare(x, y Poly)

func (Poly) MulNlogN

func (p Poly) MulNlogN(x, y Poly)

func (Poly) Sqr

func (p Poly) Sqr(x Poly)

func (Poly) Strip

func (p Poly) Strip() Poly

func (Poly) SubAssign

func (p Poly) SubAssign(x Poly)

type Vec

type Vec []Fp

func (Vec) AddAssign

func (v Vec) AddAssign(x Vec)

func (Vec) DotProduct

func (v Vec) DotProduct(x Vec) (out Fp)

func (Vec) InvNTT

func (v Vec) InvNTT(values Vec, n uint)

func (Vec) JoinBits

func (v Vec) JoinBits() Fp

func (Vec) Marshal

func (v Vec) Marshal(b *cryptobyte.Builder) error

func (Vec) MarshalBinary

func (v Vec) MarshalBinary() ([]byte, error)

func (Vec) NTT

func (v Vec) NTT(values Vec, n uint)

func (Vec) Random

func (v Vec) Random(rnd io.Reader) error

func (Vec) RandomSHA3

func (v Vec) RandomSHA3(s *sha3.State) error

func (Vec) RandomSHA3Bytes

func (v Vec) RandomSHA3Bytes(out []byte, s *sha3.State) error

func (Vec) ScalarMul

func (v Vec) ScalarMul(x *Fp)

func (Vec) Size

func (v Vec) Size() uint

func (Vec) SplitBits

func (v Vec) SplitBits(n uint64) error

func (Vec) SubAssign

func (v Vec) SubAssign(x Vec)

func (Vec) Unmarshal

func (v Vec) Unmarshal(s *cryptobyte.String) bool

func (Vec) UnmarshalBinary

func (v Vec) UnmarshalBinary(b []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL