Documentation
¶
Index ¶
- Variables
- func JointScalarMultiplication(p *bls12381.G1Jac, a1, a2 *bls12381.G1Affine, s1, s2 *big.Int) *bls12381.G1Jac
- type BBSCurve
- type Curve
- func (c *Curve) CompressedG1ByteSize() int
- func (c *Curve) CompressedG2ByteSize() int
- func (c *Curve) CoordinateByteSize() int
- func (c *Curve) FExp(a driver.Gt) driver.Gt
- func (c *Curve) G1ByteSize() int
- func (c *Curve) G2ByteSize() int
- func (c *Curve) GenG1() driver.G1
- func (c *Curve) GenG2() driver.G2
- func (c *Curve) GenGt() driver.Gt
- func (c *Curve) GroupOrder() driver.Zr
- func (c *Curve) HashToG1(data []byte) driver.G1
- func (c *Curve) HashToG1WithDomain(data, domain []byte) driver.G1
- func (c *Curve) HashToG2(data []byte) driver.G2
- func (c *Curve) HashToG2WithDomain(data, domain []byte) driver.G2
- func (c *Curve) HashToZr(data []byte) driver.Zr
- func (c *Curve) ModAdd(a1, b1, m driver.Zr) driver.Zr
- func (c *Curve) ModAdd2(a1, b1, c1, m driver.Zr)
- func (c *Curve) ModAddMul(a1, b1 []driver.Zr, m driver.Zr) driver.Zr
- func (c *Curve) ModAddMul2(a1 driver.Zr, c1 driver.Zr, b1 driver.Zr, c2 driver.Zr, m driver.Zr) driver.Zr
- func (c *Curve) ModAddMul2InPlace(result driver.Zr, a1, c1, b1, c2, m driver.Zr)
- func (c *Curve) ModAddMul3(a1 driver.Zr, a2 driver.Zr, b1 driver.Zr, b2 driver.Zr, d1 driver.Zr, ...) driver.Zr
- func (c *Curve) ModAddMul3InPlace(result driver.Zr, a1, a2, b1, b2, d1, d2, m driver.Zr)
- func (c *Curve) ModMul(a1, b1, m driver.Zr) driver.Zr
- func (c *Curve) ModMulInPlace(result, a, b, m driver.Zr)
- func (c *Curve) ModNeg(a1, m driver.Zr) driver.Zr
- func (c *Curve) ModSub(a1, b1, m driver.Zr) driver.Zr
- func (c *Curve) MultiScalarMul(a []driver.G1, b []driver.Zr) driver.G1
- func (c *Curve) NewG1() driver.G1
- func (c *Curve) NewG1FromBytes(b []byte) driver.G1
- func (c *Curve) NewG1FromCompressed(b []byte) driver.G1
- func (c *Curve) NewG2() driver.G2
- func (c *Curve) NewG2FromBytes(b []byte) driver.G2
- func (c *Curve) NewG2FromCompressed(b []byte) driver.G2
- func (c *Curve) NewGtFromBytes(b []byte) driver.Gt
- func (c *Curve) NewRandomZr(rng io.Reader) driver.Zr
- func (c *Curve) NewZrFromBigInt(i *big.Int) driver.Zr
- func (c *Curve) NewZrFromBytes(b []byte) driver.Zr
- func (c *Curve) NewZrFromInt64(i int64) driver.Zr
- func (c *Curve) NewZrFromUint64(i uint64) driver.Zr
- func (c *Curve) Pairing(p2 driver.G2, p1 driver.G1) driver.Gt
- func (c *Curve) Pairing2(p2a, p2b driver.G2, p1a, p1b driver.G1) driver.Gt
- func (p *Curve) Rand() (io.Reader, error)
- func (c *Curve) ScalarByteSize() int
- type G1
- func (g *G1) Add(a driver.G1)
- func (g *G1) Bytes() []byte
- func (g *G1) Clone(a driver.G1)
- func (g *G1) Compressed() []byte
- func (e *G1) Copy() driver.G1
- func (g *G1) Equals(a driver.G1) bool
- func (g *G1) IsInfinity() bool
- func (g *G1) Mul(a driver.Zr) driver.G1
- func (g *G1) Mul2(e driver.Zr, Q driver.G1, f driver.Zr) driver.G1
- func (g *G1) Mul2InPlace(e driver.Zr, Q driver.G1, f driver.Zr)
- func (g *G1) Neg()
- func (g *G1) String() string
- func (g *G1) Sub(a driver.G1)
- type G2
- func (g *G2) Add(a driver.G2)
- func (g *G2) Affine()
- func (g *G2) Bytes() []byte
- func (g *G2) Clone(a driver.G2)
- func (g *G2) Compressed() []byte
- func (e *G2) Copy() driver.G2
- func (g *G2) Equals(a driver.G2) bool
- func (g *G2) Mul(a driver.Zr) driver.G2
- func (g *G2) String() string
- func (g *G2) Sub(a driver.G2)
- type Gt
- type Zr
- func (b *Zr) BigInt() *big.Int
- func (b *Zr) Bytes() []byte
- func (b *Zr) Clone(a driver.Zr)
- func (b *Zr) Copy() driver.Zr
- func (b *Zr) Equals(p driver.Zr) bool
- func (b *Zr) InvModOrder()
- func (b *Zr) InvModP(p driver.Zr)
- func (b *Zr) IsOne() bool
- func (b *Zr) IsZero() bool
- func (b *Zr) Minus(a driver.Zr) driver.Zr
- func (b *Zr) Mod(a driver.Zr)
- func (b *Zr) Mul(x driver.Zr) driver.Zr
- func (b *Zr) Neg()
- func (b *Zr) Plus(a driver.Zr) driver.Zr
- func (b *Zr) PowMod(x driver.Zr) driver.Zr
- func (b *Zr) String() string
Constants ¶
This section is empty.
Variables ¶
View Source
var G1Jacs g1JacPool
G1Jacs is a shared *bls12381.G1Jac{} memory pool
Functions ¶
Types ¶
type BBSCurve ¶
type BBSCurve struct {
Curve
}
func NewBBSCurve ¶
func NewBBSCurve() *BBSCurve
func (*BBSCurve) HashToG1WithDomain ¶
type Curve ¶
func (*Curve) CompressedG1ByteSize ¶
func (*Curve) CompressedG2ByteSize ¶
func (*Curve) CoordinateByteSize ¶
func (*Curve) G1ByteSize ¶
func (*Curve) G2ByteSize ¶
func (*Curve) GroupOrder ¶
func (*Curve) HashToG1WithDomain ¶
func (*Curve) HashToG2WithDomain ¶
func (*Curve) ModAddMul2 ¶
func (*Curve) ModAddMul2InPlace ¶
func (*Curve) ModAddMul3 ¶
func (*Curve) ModAddMul3InPlace ¶
func (*Curve) ModMulInPlace ¶
func (*Curve) MultiScalarMul ¶
func (*Curve) ScalarByteSize ¶
type G2 ¶
func (*G2) Compressed ¶
type Zr ¶
type Zr struct {
// contains filtered or unexported fields
}
Zr represents a scalar field element backed by fr.Element ([4]uint64). The rawBigInt field is non-nil only for special values like GroupOrder (which equals p and is 0 in the field but needs its actual big.Int value for operations like Mod and InvModP).
func (*Zr) InvModOrder ¶
func (b *Zr) InvModOrder()
Click to show internal directories.
Click to hide internal directories.