cryptonite-0.15: Cryptography Primitives sink

LicenseBSD-style
MaintainerVincent Hanquez <vincent@snarc.org>
Stabilityexperimental
Portabilityunknown
Safe HaskellNone
LanguageHaskell2010

Crypto.PubKey.ECC.DH

Description

Elliptic curve Diffie Hellman

Synopsis

Documentation

data Curve

Define either a binary curve or a prime curve.

type PublicPoint = Point

ECC Public Point

type PrivateNumber = Integer

ECC Private Number

newtype SharedKey

Represent Diffie Hellman shared secret.

Constructors

SharedKey ScrubbedBytes 

generatePrivate :: MonadRandom m => Curve -> m PrivateNumber

Generating a private number d.

calculatePublic :: Curve -> PrivateNumber -> PublicPoint

Generating a public point Q.

getShared :: Curve -> PrivateNumber -> PublicPoint -> SharedKey

Generating a shared key using our private number and the other party public point.