elliptic-curve-0.3.0: Elliptic curve library

Safe HaskellNone
LanguageHaskell2010

Data.Curve.Montgomery

Contents

Synopsis

Documentation

module Data.Curve

Montgomery curves

class (GaloisField q, PrimeField r, Curve Montgomery c e q r) => MCurve c e q r where Source #

Montgomery curves.

Methods

a_ Source #

Arguments

:: MPoint c e q r 
-> q

Coefficient A.

b_ Source #

Arguments

:: MPoint c e q r 
-> q

Coefficient B.

h_ Source #

Arguments

:: MPoint c e q r 
-> Natural

Curve cofactor.

q_ Source #

Arguments

:: MPoint c e q r 
-> Natural

Curve characteristic.

r_ Source #

Arguments

:: MPoint c e q r 
-> Natural

Curve order.

Instances
Curve Montgomery c Curve25519 Fq Fr => MCurve c Curve25519 Fq Fr Source # 
Instance details

Defined in Data.Curve.Montgomery.Curve25519

Curve Montgomery c Curve383187 Fq Fr => MCurve c Curve383187 Fq Fr Source # 
Instance details

Defined in Data.Curve.Montgomery.Curve383187

Curve Montgomery c Curve448 Fq Fr => MCurve c Curve448 Fq Fr Source # 
Instance details

Defined in Data.Curve.Montgomery.Curve448

Curve Montgomery c M221 Fq Fr => MCurve c M221 Fq Fr Source # 
Instance details

Defined in Data.Curve.Montgomery.M221

Curve Montgomery c M383 Fq Fr => MCurve c M383 Fq Fr Source # 
Instance details

Defined in Data.Curve.Montgomery.M383

Curve Montgomery c M511 Fq Fr => MCurve c M511 Fq Fr Source # 
Instance details

Defined in Data.Curve.Montgomery.M511

type MPoint = Point Montgomery Source #

Montgomery points.

Montgomery affine curves

class MCurve Affine e q r => MACurve e q r where Source #

Montgomery affine curves By^2 = x^3 + Ax^2 + x.

Methods

gA_ Source #

Arguments

:: MAPoint e q r

Curve generator.

type MAPoint = MPoint Affine Source #

Montgomery affine points.

Orphan instances

MACurve e q r => Curve Montgomery Affine (e :: k) q r Source # 
Instance details

Associated Types

data Point Montgomery Affine e q r :: Type Source #

MACurve e q r => Pretty (MAPoint e q r) Source # 
Instance details

Methods

pretty :: MAPoint e q r -> Doc #

prettyList :: [MAPoint e q r] -> Doc #

Eq q => Eq (Point Montgomery Affine e q r) Source # 
Instance details

Read q => Read (Point Montgomery Affine e q r) Source # 
Instance details

Show q => Show (Point Montgomery Affine e q r) Source # 
Instance details

Generic (Point Montgomery Affine e q r) Source # 
Instance details

Associated Types

type Rep (Point Montgomery Affine e q r) :: Type -> Type #

Methods

from :: Point Montgomery Affine e q r -> Rep (Point Montgomery Affine e q r) x #

to :: Rep (Point Montgomery Affine e q r) x -> Point Montgomery Affine e q r #

NFData q => NFData (Point Montgomery Affine e q r) Source # 
Instance details

Methods

rnf :: Point Montgomery Affine e q r -> () #