kilic

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2026 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HashToCurveGenericBESwu

func HashToCurveGenericBESwu(msg, domain []byte, hashFunc func() hash.Hash) (*bls12381.PointG1, error)

func HashToG1GenericBESwu

func HashToG1GenericBESwu(data, domain []byte) (*bls12381.PointG1, error)

func SwuMapG1BE

func SwuMapG1BE(u *Fe) (*Fe, *Fe)

SwuMapG1BE is implementation of Simplified Shallue-van de Woestijne-Ulas Method follows the implementation at draft-irtf-cfrg-hash-to-curve-06. uses big-endian variant: https://tools.ietf.org/html/draft-irtf-cfrg-hash-to-curve-06#section-4.1.1

Types

type Bls12_381

type Bls12_381 struct {
	common.CurveBase
}

func NewBls12_381

func NewBls12_381() *Bls12_381

func (*Bls12_381) CompressedG1ByteSize

func (c *Bls12_381) CompressedG1ByteSize() int

func (*Bls12_381) CompressedG2ByteSize

func (c *Bls12_381) CompressedG2ByteSize() int

func (*Bls12_381) CoordinateByteSize

func (c *Bls12_381) CoordinateByteSize() int

func (*Bls12_381) FExp

func (c *Bls12_381) FExp(a driver.Gt) driver.Gt

func (*Bls12_381) G1ByteSize

func (c *Bls12_381) G1ByteSize() int

func (*Bls12_381) G2ByteSize

func (c *Bls12_381) G2ByteSize() int

func (*Bls12_381) GenG1

func (c *Bls12_381) GenG1() driver.G1

func (*Bls12_381) GenG2

func (c *Bls12_381) GenG2() driver.G2

func (*Bls12_381) GenGt

func (c *Bls12_381) GenGt() driver.Gt

func (*Bls12_381) HashToG1

func (c *Bls12_381) HashToG1(data []byte) driver.G1

func (*Bls12_381) HashToG1WithDomain

func (c *Bls12_381) HashToG1WithDomain(data, domain []byte) driver.G1

func (*Bls12_381) HashToG2

func (c *Bls12_381) HashToG2(data []byte) driver.G2

func (*Bls12_381) HashToG2WithDomain

func (c *Bls12_381) HashToG2WithDomain(data, domain []byte) driver.G2

func (*Bls12_381) MultiScalarMul

func (c *Bls12_381) MultiScalarMul(a []driver.G1, b []driver.Zr) driver.G1

func (*Bls12_381) NewG1

func (c *Bls12_381) NewG1() driver.G1

func (*Bls12_381) NewG1FromBytes

func (c *Bls12_381) NewG1FromBytes(b []byte) driver.G1

func (*Bls12_381) NewG1FromCompressed

func (c *Bls12_381) NewG1FromCompressed(b []byte) driver.G1

func (*Bls12_381) NewG2

func (c *Bls12_381) NewG2() driver.G2

func (*Bls12_381) NewG2FromBytes

func (c *Bls12_381) NewG2FromBytes(b []byte) driver.G2

func (*Bls12_381) NewG2FromCompressed

func (c *Bls12_381) NewG2FromCompressed(b []byte) driver.G2

func (*Bls12_381) NewGtFromBytes

func (c *Bls12_381) NewGtFromBytes(b []byte) driver.Gt

func (*Bls12_381) Pairing

func (c *Bls12_381) Pairing(p2 driver.G2, p1 driver.G1) driver.Gt

func (*Bls12_381) Pairing2

func (c *Bls12_381) Pairing2(p2a, p2b driver.G2, p1a, p1b driver.G1) driver.Gt

func (*Bls12_381) ScalarByteSize

func (c *Bls12_381) ScalarByteSize() int

type Bls12_381BBS

type Bls12_381BBS struct {
	Bls12_381
}

func NewBls12_381BBS

func NewBls12_381BBS() *Bls12_381BBS

func (*Bls12_381BBS) HashToG1

func (c *Bls12_381BBS) HashToG1(data []byte) driver.G1

func (*Bls12_381BBS) HashToG1WithDomain

func (c *Bls12_381BBS) HashToG1WithDomain(data, domain []byte) driver.G1

func (*Bls12_381BBS) HashToG2

func (c *Bls12_381BBS) HashToG2(data []byte) driver.G2

func (*Bls12_381BBS) HashToG2WithDomain

func (c *Bls12_381BBS) HashToG2WithDomain(data, domain []byte) driver.G2

type Fe

type Fe [fpNumberOfLimbs]uint64

type PointG1

type PointG1 [3]Fe

Jump to

Keyboard shortcuts

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