Safe Haskell | None |
---|---|
Language | Haskell98 |
- data Curve :: *
- type PublicPoint = Point
- type PrivateNumber = Integer
- newtype SharedKey :: * = SharedKey Integer
- generatePrivate :: CPRG g => g -> Curve -> (PrivateNumber, g)
- calculatePublic :: Curve -> PrivateNumber -> PublicPoint
- getShared :: Curve -> PrivateNumber -> PublicPoint -> SharedKey
Documentation
data Curve :: *
Define either a binary curve or a prime curve.
type PublicPoint = Point
ECC Public Point
type PrivateNumber = Integer
ECC Private Number
generatePrivate :: CPRG g => g -> Curve -> (PrivateNumber, g) Source
Generating a private number d.
calculatePublic :: Curve -> PrivateNumber -> PublicPoint Source
Generating a public point Q.
getShared :: Curve -> PrivateNumber -> PublicPoint -> SharedKey Source
Generating a shared key using our private number and the other party public point.