module Crypto.Curve25519.Exceptions(
PrivateKey
, PublicKey
, importPublic, exportPublic
, generatePrivate
, generatePublic
, generateKeyPair
, makeShared
)
where
import Data.ByteString(ByteString)
import Crypto.Curve25519.Pure(PublicKey, PrivateKey)
import qualified Crypto.Curve25519.Pure as Pure
import Crypto.Random
generatePrivate :: CryptoRandomGen g => g -> (PrivateKey, g)
generatePrivate g = throwLeft (Pure.generatePrivate g)
generatePublic :: PrivateKey -> PublicKey
generatePublic = Pure.generatePublic
importPublic :: ByteString -> Maybe PublicKey
importPublic = Pure.importPublic
exportPublic :: PublicKey -> ByteString
exportPublic = Pure.exportPublic
generateKeyPair :: CryptoRandomGen g => g -> (PrivateKey, PublicKey, g)
generateKeyPair g = throwLeft (Pure.generateKeyPair g)
makeShared :: PrivateKey -> PublicKey -> ByteString
makeShared = Pure.makeShared