cryptonite-0.3: 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 Source

Define either a binary curve or a prime curve.

type PublicPoint = Point Source

ECC Public Point

type PrivateNumber = Integer Source

ECC Private Number

newtype SharedKey Source

Represent Diffie Hellman shared secret.

Constructors

SharedKey Integer 

generatePrivate :: MonadRandom m => Curve -> m PrivateNumber 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.