License | BSD-style |
---|---|
Maintainer | Vincent Hanquez <vincent@snarc.org> |
Stability | experimental |
Portability | unknown |
Safe Haskell | None |
Language | Haskell2010 |
Crypto.PubKey.Ed25519
Description
Ed25519 support
Synopsis
- data SecretKey
- data PublicKey
- data Signature
- publicKeySize :: Int
- secretKeySize :: Int
- signatureSize :: Int
- signature :: ByteArrayAccess ba => ba -> CryptoFailable Signature
- publicKey :: ByteArrayAccess ba => ba -> CryptoFailable PublicKey
- secretKey :: ByteArrayAccess ba => ba -> CryptoFailable SecretKey
- toPublic :: SecretKey -> PublicKey
- sign :: ByteArrayAccess ba => SecretKey -> PublicKey -> ba -> Signature
- verify :: ByteArrayAccess ba => PublicKey -> ba -> Signature -> Bool
- generateSecretKey :: MonadRandom m => m SecretKey
Documentation
An Ed25519 Secret key
Instances
Show SecretKey Source # | |
NFData SecretKey Source # | |
Defined in Crypto.PubKey.Ed25519 | |
Eq SecretKey Source # | |
ByteArrayAccess SecretKey Source # | |
Defined in Crypto.PubKey.Ed25519 Methods withByteArray :: SecretKey -> (Ptr p -> IO a) -> IO a copyByteArrayToPtr :: SecretKey -> Ptr p -> IO () |
An Ed25519 public key
Instances
Show PublicKey Source # | |
NFData PublicKey Source # | |
Defined in Crypto.PubKey.Ed25519 | |
Eq PublicKey Source # | |
ByteArrayAccess PublicKey Source # | |
Defined in Crypto.PubKey.Ed25519 Methods withByteArray :: PublicKey -> (Ptr p -> IO a) -> IO a copyByteArrayToPtr :: PublicKey -> Ptr p -> IO () |
An Ed25519 signature
Instances
Show Signature Source # | |
NFData Signature Source # | |
Defined in Crypto.PubKey.Ed25519 | |
Eq Signature Source # | |
ByteArrayAccess Signature Source # | |
Defined in Crypto.PubKey.Ed25519 Methods withByteArray :: Signature -> (Ptr p -> IO a) -> IO a copyByteArrayToPtr :: Signature -> Ptr p -> IO () |
Size constants
publicKeySize :: Int Source #
A public key is 32 bytes
secretKeySize :: Int Source #
A secret key is 32 bytes
signatureSize :: Int Source #
A signature is 64 bytes
Smart constructors
signature :: ByteArrayAccess ba => ba -> CryptoFailable Signature Source #
Try to build a signature from a bytearray
publicKey :: ByteArrayAccess ba => ba -> CryptoFailable PublicKey Source #
Try to build a public key from a bytearray
secretKey :: ByteArrayAccess ba => ba -> CryptoFailable SecretKey Source #
Try to build a secret key from a bytearray
Methods
sign :: ByteArrayAccess ba => SecretKey -> PublicKey -> ba -> Signature Source #
Sign a message using the key pair
generateSecretKey :: MonadRandom m => m SecretKey Source #
Generate a secret key