pairing-0.2: Optimal ate pairing over Barreto-Naehrig curves

Safe HaskellNone
LanguageHaskell2010

Pairing.Fq6

Description

Cubic extension of the tower:

  • Fq
  • Fq2 := Fq[u]/u^2 + 1
  • Fq6 := Fq2[v]/v^3 - (9 + u)
  • Fq12 := Fq6[w]/w^2 - v

Implementation follows "Multiplication and Squaring on Pairing-Friendly Fields" by Devigili, hEigeartaigh, Scott and Dahab.

Synopsis

Documentation

data Fq6 Source #

Field extension defined as Fq2[v]/v^3 - (9 + u)

Constructors

Fq6 

Fields

Instances
Eq Fq6 Source # 
Instance details

Defined in Pairing.Fq6

Methods

(==) :: Fq6 -> Fq6 -> Bool #

(/=) :: Fq6 -> Fq6 -> Bool #

Fractional Fq6 Source # 
Instance details

Defined in Pairing.Fq6

Methods

(/) :: Fq6 -> Fq6 -> Fq6 #

recip :: Fq6 -> Fq6 #

fromRational :: Rational -> Fq6 #

Num Fq6 Source # 
Instance details

Defined in Pairing.Fq6

Methods

(+) :: Fq6 -> Fq6 -> Fq6 #

(-) :: Fq6 -> Fq6 -> Fq6 #

(*) :: Fq6 -> Fq6 -> Fq6 #

negate :: Fq6 -> Fq6 #

abs :: Fq6 -> Fq6 #

signum :: Fq6 -> Fq6 #

fromInteger :: Integer -> Fq6 #

Show Fq6 Source # 
Instance details

Defined in Pairing.Fq6

Methods

showsPrec :: Int -> Fq6 -> ShowS #

show :: Fq6 -> String #

showList :: [Fq6] -> ShowS #

new :: Fq2 -> Fq2 -> Fq2 -> Fq6 Source #

Create a new value in Fq6, should be used instead of the Fq6 constructor.

fq6inv :: Fq6 -> Fq6 Source #

Multiplicative inverse

fq6one :: Fq6 Source #

Multiplicative identity

fq6zero :: Fq6 Source #

Additive identity

fq6sqr :: Fq6 -> Fq6 Source #

Squaring operation

mulXi :: Fq6 -> Fq6 Source #

Multiply by xi (cubic nonresidue in Fq2) and reorder coefficients