pairing-1.1.0: Bilinear pairings

Safe HaskellNone
LanguageHaskell2010

Data.Pairing.BLS12381

Contents

Synopsis

Documentation

BLS12381 curve

data BLS12381 #

BLS12381 curve.

Instances
Pairing BLS12381 Source # 
Instance details

Defined in Data.Pairing.BLS12381

Associated Types

type G1 BLS12381 = (g :: Type) Source #

type G2 BLS12381 = (g :: Type) Source #

type GT BLS12381 = (g :: Type) Source #

WACurve BLS12381 Fq2 Fr 
Instance details

Defined in Data.Curve.Weierstrass.BLS12381T

WACurve BLS12381 Fq Fr 
Instance details

Defined in Data.Curve.Weierstrass.BLS12381

WJCurve BLS12381 Fq2 Fr 
Instance details

Defined in Data.Curve.Weierstrass.BLS12381T

WJCurve BLS12381 Fq Fr 
Instance details

Defined in Data.Curve.Weierstrass.BLS12381

WPCurve BLS12381 Fq2 Fr 
Instance details

Defined in Data.Curve.Weierstrass.BLS12381T

WPCurve BLS12381 Fq Fr 
Instance details

Defined in Data.Curve.Weierstrass.BLS12381

Curve Weierstrass c BLS12381 Fq2 Fr => WCurve c BLS12381 Fq2 Fr 
Instance details

Defined in Data.Curve.Weierstrass.BLS12381T

Curve Weierstrass c BLS12381 Fq Fr => WCurve c BLS12381 Fq Fr 
Instance details

Defined in Data.Curve.Weierstrass.BLS12381

type G1 BLS12381 Source # 
Instance details

Defined in Data.Pairing.BLS12381

type G1 BLS12381 = G1'
type G2 BLS12381 Source # 
Instance details

Defined in Data.Pairing.BLS12381

type G2 BLS12381 = G2'
type GT BLS12381 Source # 
Instance details

Defined in Data.Pairing.BLS12381

type GT BLS12381 = GT'

parameterBin :: [Int8] Source #

BLS12381 curve parameter s = t in signed binary.

parameterHex :: Integer Source #

BLS12381 curve parameter t in hexadecimal.

Fields

type Fq = Prime Q #

Field of points of BLS12381 curve.

type Fq2 = Extension U Fq #

Field of points of BLS12381 curve over Fq2.

type Fq6 = Extension V Fq2 Source #

Field of points of BLS12381 curve over Fq6.

type Fq12 = Extension W Fq6 Source #

Field of points of BLS12381 curve over Fq12.

type Fr = Prime R #

Field of coefficients of BLS12381 curve.

Groups

type G1' = PA Source #

BLS12381 curve left group G1 = E(Fq).

type G2' = PA Source #

BLS12381 curve right group G2 = E'(Fq2).

type GT' = RootsOfUnity R Fq12 Source #

Fq12 multiplicative target group GT.

Roots of unity

getRootOfUnity :: Int -> Fr Source #

Precompute primitive roots of unity for binary powers that divide r - 1.

Orphan instances

Pairing BLS12381 Source # 
Instance details

Associated Types

type G1 BLS12381 = (g :: Type) Source #

type G2 BLS12381 = (g :: Type) Source #

type GT BLS12381 = (g :: Type) Source #