License | BSD-style |
---|---|
Maintainer | Olivier Chéron <olivier.cheron@gmail.com> |
Stability | experimental |
Portability | unknown |
Safe Haskell | None |
Language | Haskell2010 |
Crypto.PubKey.Ed448
Description
Ed448 support
Internally uses Decaf point compression to omit the cofactor and implementation by Mike Hamburg. Externally API and data types are compatible with the encoding specified in RFC 8032.
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 Ed448 Secret key
Instances
Show SecretKey Source # | |
NFData SecretKey Source # | |
Defined in Crypto.PubKey.Ed448 | |
Eq SecretKey Source # | |
ByteArrayAccess SecretKey Source # | |
Defined in Crypto.PubKey.Ed448 Methods withByteArray :: SecretKey -> (Ptr p -> IO a) -> IO a copyByteArrayToPtr :: SecretKey -> Ptr p -> IO () |
An Ed448 public key
Instances
Show PublicKey Source # | |
NFData PublicKey Source # | |
Defined in Crypto.PubKey.Ed448 | |
Eq PublicKey Source # | |
ByteArrayAccess PublicKey Source # | |
Defined in Crypto.PubKey.Ed448 Methods withByteArray :: PublicKey -> (Ptr p -> IO a) -> IO a copyByteArrayToPtr :: PublicKey -> Ptr p -> IO () |
An Ed448 signature
Instances
Show Signature Source # | |
NFData Signature Source # | |
Defined in Crypto.PubKey.Ed448 | |
Eq Signature Source # | |
ByteArrayAccess Signature Source # | |
Defined in Crypto.PubKey.Ed448 Methods withByteArray :: Signature -> (Ptr p -> IO a) -> IO a copyByteArrayToPtr :: Signature -> Ptr p -> IO () |
Size constants
publicKeySize :: Int Source #
A public key is 57 bytes
secretKeySize :: Int Source #
A secret key is 57 bytes
signatureSize :: Int Source #
A signature is 114 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