pairing-1.1.0: Bilinear pairings

Safe HaskellNone
LanguageHaskell2010

Data.Pairing.BN254

Contents

Synopsis

Documentation

BN254 curve

data BN254 #

BN254 curve.

Instances
Pairing BN254 Source # 
Instance details

Defined in Data.Pairing.BN254

Associated Types

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

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

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

Methods

pairing :: G1 BN254 -> G2 BN254 -> GT BN254 Source #

WACurve BN254 Fq2 Fr 
Instance details

Defined in Data.Curve.Weierstrass.BN254T

Methods

gA_ :: WAPoint BN254 Fq2 Fr #

WACurve BN254 Fq Fr 
Instance details

Defined in Data.Curve.Weierstrass.BN254

Methods

gA_ :: WAPoint BN254 Fq Fr #

WJCurve BN254 Fq2 Fr 
Instance details

Defined in Data.Curve.Weierstrass.BN254T

Methods

gJ_ :: WJPoint BN254 Fq2 Fr #

WJCurve BN254 Fq Fr 
Instance details

Defined in Data.Curve.Weierstrass.BN254

Methods

gJ_ :: WJPoint BN254 Fq Fr #

WPCurve BN254 Fq2 Fr 
Instance details

Defined in Data.Curve.Weierstrass.BN254T

Methods

gP_ :: WPPoint BN254 Fq2 Fr #

WPCurve BN254 Fq Fr 
Instance details

Defined in Data.Curve.Weierstrass.BN254

Methods

gP_ :: WPPoint BN254 Fq Fr #

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

Defined in Data.Curve.Weierstrass.BN254T

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

Defined in Data.Curve.Weierstrass.BN254

Methods

a_ :: WPoint c BN254 Fq Fr -> Fq #

b_ :: WPoint c BN254 Fq Fr -> Fq #

h_ :: WPoint c BN254 Fq Fr -> Natural #

q_ :: WPoint c BN254 Fq Fr -> Natural #

r_ :: WPoint c BN254 Fq Fr -> Natural #

type G1 BN254 Source # 
Instance details

Defined in Data.Pairing.BN254

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

Defined in Data.Pairing.BN254

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

Defined in Data.Pairing.BN254

type GT BN254 = GT'

parameterBin :: [Int8] Source #

BN254 curve parameter s = 6t + 2 in signed binary.

parameterHex :: Integer Source #

BN254 curve parameter t in hexadecimal.

Fields

type Fq = Prime Q #

Field of points of BN254 curve.

type Fq2 = Extension U Fq #

Field of points of BN254 curve over Fq2.

type Fq6 = Extension V Fq2 Source #

Field of points of BN254 curve over Fq6.

type Fq12 = Extension W Fq6 Source #

Field of points of BN254 curve over Fq12.

type Fr = Prime R #

Field of coefficients of BN254 curve.

Groups

type G1' = PA Source #

BN254 curve left group G1 = E(Fq).

type G2' = PA Source #

BN254 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 BN254 Source # 
Instance details

Associated Types

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

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

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

Methods

pairing :: G1 BN254 -> G2 BN254 -> GT BN254 Source #