crypto-pubkey-0.2.8: Public Key cryptography

Safe HaskellNone
LanguageHaskell98

Crypto.PubKey.ECC.DH

Synopsis

Documentation

data Curve Source #

Define either a binary curve or a prime curve.

Instances
Eq Curve 
Instance details

Defined in Crypto.Types.PubKey.ECC

Methods

(==) :: Curve -> Curve -> Bool Source #

(/=) :: Curve -> Curve -> Bool Source #

Data Curve 
Instance details

Defined in Crypto.Types.PubKey.ECC

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Curve -> c Curve Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Curve Source #

toConstr :: Curve -> Constr Source #

dataTypeOf :: Curve -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Curve) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Curve) Source #

gmapT :: (forall b. Data b => b -> b) -> Curve -> Curve Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Curve -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Curve -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Curve -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Curve -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Curve -> m Curve Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Curve -> m Curve Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Curve -> m Curve Source #

Read Curve 
Instance details

Defined in Crypto.Types.PubKey.ECC

Show Curve 
Instance details

Defined in Crypto.Types.PubKey.ECC

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 
Instances
Enum SharedKey 
Instance details

Defined in Crypto.Types.PubKey.DH

Eq SharedKey 
Instance details

Defined in Crypto.Types.PubKey.DH

Num SharedKey 
Instance details

Defined in Crypto.Types.PubKey.DH

Ord SharedKey 
Instance details

Defined in Crypto.Types.PubKey.DH

Read SharedKey 
Instance details

Defined in Crypto.Types.PubKey.DH

Real SharedKey 
Instance details

Defined in Crypto.Types.PubKey.DH

Show SharedKey 
Instance details

Defined in Crypto.Types.PubKey.DH

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.