Maintainer | Marcel Fourn (hecc@bitrot.dyndns.org |
---|
ECC Base algorithms & point formats
Documentation
class of all Elliptic Curve Points
function returning the appropriate INF in the specific ECP-Format, for generic higher-level-algorithms
getx :: a -> EC -> IntegerSource
generic getter, returning the affine x-value
gety :: a -> EC -> IntegerSource
generic getters, returning the affine y-value
add an elliptic point onto itself, base for padd a a c
padd :: a -> a -> EC -> aSource
add 2 elliptic points
class of all Elliptic Curves, has the form y^2=x^3+A*x+B mod P, the parameters being A, B and P
computing the modular inverse of a
mod
m
:: ECP a | |
=> a | the point to multiply |
-> Integer | times to multiply the point |
-> EC | the curve to operate on |
-> a | the result-point |
this is a generic handle for Point Multiplication. The implementation may change.
:: ECP a | |
=> a | the elliptic curve point which we check |
-> EC | the curve to test on |
-> Bool | is the point on the curve? |
generic verify, if generic ECP is on EC via getx and gety
:: ECP a | |
=> a | a generator (a point on the curve which multiplied gets to be every other point on the curve) |
-> EC | the curve |
-> IO a | the random point which will be the key |
given a generator and a curve, generate a point randomly
Elliptic Point Affine coordinates, two parameters x and y
Elliptic Point Projective coordinates, three parameters x, y and z, like affine (xz,yz)
Elliptic Point Jacobian coordinates, three parameter x, y and z, like affine (xz^2,yz^3)