| Maintainer | Marcel Fourné (hecc@bitrot.dyndns.org) |
|---|---|
| Safe Haskell | None |
Codec.Crypto.ECC.Base
Description
ECC Base algorithms & point formats
- data EC a where
- getBitLength :: EC a -> Int
- geta :: EC a -> a
- getb :: EC a -> a
- getp :: EC a -> a
- getr :: EC a -> a
- data ECPF a where
- ECPa :: (EC Integer, Integer, Integer) -> ECPF Integer
- ECPp :: (EC Integer, Integer, Integer, Integer) -> ECPF Integer
- ECPj :: (EC Integer, Integer, Integer, Integer) -> ECPF Integer
- ECPmj :: (EC Integer, Integer, Integer, Integer, Integer) -> ECPF Integer
- ECPaF2 :: (EC F2, F2, F2) -> ECPF F2
- ECPpF2 :: (EC F2, F2, F2, F2) -> ECPF F2
- ECPInfI :: EC Integer -> ECPF Integer
- ECPInfF2 :: EC F2 -> ECPF F2
- getCurve :: ECPF a -> EC a
- getx :: ECPF a -> a
- gety :: ECPF a -> a
- getz :: ECPF a -> a
- getaz4 :: ECPF a -> a
- getxA :: ECPF a -> a
- getyA :: ECPF a -> a
- padd :: ECPF a -> ECPF a -> ECPF a
- pdouble :: ECPF a -> ECPF a
- modinv :: Integral a => a -> a -> a
- pmul :: ECPF a -> Integer -> ECPF a
- ison :: ECPF a -> Bool
- binary :: Integer -> String
Documentation
all Elliptic Curves, the parameters being the BitLength L, A, B and P
getBitLength :: EC a -> IntSource
get bitlength
data of all Elliptic Curve Points
Constructors
| ECPa :: (EC Integer, Integer, Integer) -> ECPF Integer | |
| ECPp :: (EC Integer, Integer, Integer, Integer) -> ECPF Integer | |
| ECPj :: (EC Integer, Integer, Integer, Integer) -> ECPF Integer | |
| ECPmj :: (EC Integer, Integer, Integer, Integer, Integer) -> ECPF Integer | |
| ECPaF2 :: (EC F2, F2, F2) -> ECPF F2 | |
| ECPpF2 :: (EC F2, F2, F2, F2) -> ECPF F2 | |
| ECPInfI :: EC Integer -> ECPF Integer | |
| ECPInfF2 :: EC F2 -> ECPF F2 |
Arguments
| :: Integral a | |
| => a | the number to invert |
| -> a | the modulus |
| -> a | the inverted value |
computing the modular inverse of a mod m