License | BSD-style |
---|---|
Maintainer | Vincent Hanquez <vincent@snarc.org> |
Stability | experimental |
Portability | unknown |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
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
A Curve25519 public key
A Curve25519 Diffie Hellman secret related to a public key and a secret key.
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.