hecc-0.1: Elliptic Curve Cryptography for Haskell

MaintainerMarcel Fourn (hecc@bitrot.dyndns.org

Codec.Encryption.ECC.Base

Description

ECC Base algorithms & point formats

Synopsis

Documentation

type ECInt = IntegerSource

this may change in the future if the need arises

class ECP a whereSource

class of all Elliptic Curve Points

Methods

inf :: aSource

function returning the appropriate INF in the specific ECP-Format, for generic higher-level-algorithms

getx :: a -> EC -> ECIntSource

generic getters

gety :: a -> EC -> ECIntSource

generic getters

pdouble :: a -> EC -> aSource

add an elliptic point onto itself, base for padd a a c

padd :: a -> a -> EC -> aSource

add 2 elliptic points

Instances

data EC Source

class of all Elliptic Curves

Constructors

EC (ECInt, ECInt, ECInt) 

Instances

modinv :: ECInt -> ECInt -> ECIntSource

computing the modular inverse

pmul :: ECP a => a -> ECInt -> EC -> aSource

this is a generic handle for Point Multiplication. The implementation will likely change.

ison :: ECP a => a -> EC -> BoolSource

generic verify, if generic ECP is on EC via getx and gety

data EPa Source

Elliptic Point Affine coordinates

Constructors

EPa (ECInt, ECInt) 
Infa 

Instances

data EPp Source

Elliptic Point Projective coordinates

Constructors

EPp (ECInt, ECInt, ECInt) 
Infp 

Instances

data EPj Source

Elliptic Point Jacobian coordinates

Constructors

EPj (ECInt, ECInt, ECInt) 
Infj 

Instances

data EPmj Source

Elliptic Point Modified Jacobian coordinates

Constructors

EPmj (ECInt, ECInt, ECInt, ECInt) 
Infmj 

Instances