{-# LANGUAGE DeriveDataTypeable #-} -- | -- Module : Crypto.Types.PubKey.ECDSA -- License : BSD-style -- Maintainer : Vincent Hanquez -- Stability : Experimental -- Portability : Excellent -- module Crypto.Types.PubKey.ECDSA ( PrivateNumber , PrivateKey(..) , PublicKey(..) ) where import qualified Crypto.Types.PubKey.ECC as ECC import Data.Data -- | ECDSA Private Number, usually embedded in ECDSA Private Key type PrivateNumber = Integer -- | ECDSA Private Key data PrivateKey = PrivateKey { private_params :: ECC.Curve , private_d :: PrivateNumber } deriving (Show,Read,Eq,Data,Typeable) -- | ECDSA Public Key data PublicKey = PublicKey { public_params :: ECC.Curve , public_q :: ECC.Point } deriving (Show,Read,Eq,Data,Typeable)