License | BSD-style |
---|---|
Maintainer | Vincent Hanquez <vincent@snarc.org> |
Stability | experimental |
Portability | unknown |
Safe Haskell | None |
Language | Haskell2010 |
Crypto.PubKey.Curve25519
Contents
Description
Curve25519 support
Synopsis
- data SecretKey
- data PublicKey
- data DhSecret
- dhSecret :: ByteArrayAccess b => b -> CryptoFailable DhSecret
- publicKey :: ByteArrayAccess bs => bs -> CryptoFailable PublicKey
- secretKey :: ByteArrayAccess bs => bs -> CryptoFailable SecretKey
- dh :: PublicKey -> SecretKey -> DhSecret
- toPublic :: SecretKey -> PublicKey
- generateSecretKey :: MonadRandom m => m SecretKey
Documentation
A Curve25519 Secret key
Instances
Show SecretKey Source # | |
NFData SecretKey Source # | |
Defined in Crypto.PubKey.Curve25519 | |
Eq SecretKey Source # | |
ByteArrayAccess SecretKey Source # | |
Defined in Crypto.PubKey.Curve25519 Methods withByteArray :: SecretKey -> (Ptr p -> IO a) -> IO a copyByteArrayToPtr :: SecretKey -> Ptr p -> IO () |
A Curve25519 public key
Instances
Show PublicKey Source # | |
NFData PublicKey Source # | |
Defined in Crypto.PubKey.Curve25519 | |
Eq PublicKey Source # | |
ByteArrayAccess PublicKey Source # | |
Defined in Crypto.PubKey.Curve25519 Methods withByteArray :: PublicKey -> (Ptr p -> IO a) -> IO a copyByteArrayToPtr :: PublicKey -> Ptr p -> IO () |
A Curve25519 Diffie Hellman secret related to a public key and a secret key.
Instances
Show DhSecret Source # | |
NFData DhSecret Source # | |
Defined in Crypto.PubKey.Curve25519 | |
Eq DhSecret Source # | |
ByteArrayAccess DhSecret Source # | |
Defined in Crypto.PubKey.Curve25519 Methods withByteArray :: DhSecret -> (Ptr p -> IO a) -> IO a copyByteArrayToPtr :: DhSecret -> Ptr p -> IO () |
Smart constructors
dhSecret :: ByteArrayAccess b => b -> CryptoFailable DhSecret Source #
Create a DhSecret from a bytearray object
publicKey :: ByteArrayAccess bs => bs -> CryptoFailable PublicKey Source #
Try to build a public key from a bytearray
secretKey :: ByteArrayAccess bs => bs -> CryptoFailable SecretKey Source #
Try to build a secret key from a bytearray
Methods
dh :: PublicKey -> SecretKey -> DhSecret Source #
Compute the Diffie Hellman secret from a public key and a secret key.
This implementation may return an all-zero value as it does not check for the condition.
generateSecretKey :: MonadRandom m => m SecretKey Source #
Generate a secret key.