Safe Haskell | None |
---|---|
Language | Haskell2010 |
Final quadratic 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.
Documentation
Field extension defined as Fq6[w]/w^2 - v
Instances
Eq Fq12 Source # | |
Fractional Fq12 Source # | |
Num Fq12 Source # | |
Show Fq12 Source # | |
Generic Fq12 Source # | |
Semigroup GT Source # | |
Monoid GT Source # | |
NFData Fq12 Source # | |
Defined in Pairing.Fq12 | |
ByteRepr Fq12 Source # | |
Defined in Pairing.Fq12 | |
Validate GT Source # | |
Defined in Pairing.Group isValidElement :: GT -> Bool Source # | |
CyclicGroup GT Source # | |
ToUncompressedForm GT Source # | |
Defined in Pairing.Group | |
type Rep Fq12 Source # | |
Defined in Pairing.Fq12 type Rep Fq12 = D1 (MetaData "Fq12" "Pairing.Fq12" "pairing-0.3.1-JhhvluXyNup3CB27ybng3m" False) (C1 (MetaCons "Fq12" PrefixI True) (S1 (MetaSel (Just "fq12x") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Fq6) :*: S1 (MetaSel (Just "fq12y") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Fq6))) |
Create a new value in Fq12
by providing a list of twelve
coefficients in Fq
, should be used instead of the Fq12
constructor.
deconstruct :: Fq12 -> [Fq] Source #
Deconstruct a value in Fq12
into a list of twelve coefficients in Fq
.
random :: MonadRandom m => m Fq12 Source #