cryptonite-0.29: Cryptography Primitives sink
LicenseBSD-style
MaintainerVincent Hanquez <vincent@snarc.org>
Stabilityexperimental
Portabilityunknown
Safe HaskellNone
LanguageHaskell2010

Crypto.PubKey.Ed25519

Description

Ed25519 support

Synopsis

Documentation

data SecretKey #

An Ed25519 Secret key

Instances

Instances details
Eq SecretKey # 
Instance details

Defined in Crypto.PubKey.Ed25519

Show SecretKey # 
Instance details

Defined in Crypto.PubKey.Ed25519

NFData SecretKey # 
Instance details

Defined in Crypto.PubKey.Ed25519

Methods

rnf :: SecretKey -> () #

ByteArrayAccess SecretKey # 
Instance details

Defined in Crypto.PubKey.Ed25519

Methods

length :: SecretKey -> Int #

withByteArray :: SecretKey -> (Ptr p -> IO a) -> IO a #

copyByteArrayToPtr :: SecretKey -> Ptr p -> IO () #

data PublicKey #

An Ed25519 public key

Instances

Instances details
Eq PublicKey # 
Instance details

Defined in Crypto.PubKey.Ed25519

Show PublicKey # 
Instance details

Defined in Crypto.PubKey.Ed25519

NFData PublicKey # 
Instance details

Defined in Crypto.PubKey.Ed25519

Methods

rnf :: PublicKey -> () #

ByteArrayAccess PublicKey # 
Instance details

Defined in Crypto.PubKey.Ed25519

Methods

length :: PublicKey -> Int #

withByteArray :: PublicKey -> (Ptr p -> IO a) -> IO a #

copyByteArrayToPtr :: PublicKey -> Ptr p -> IO () #

data Signature #

An Ed25519 signature

Instances

Instances details
Eq Signature # 
Instance details

Defined in Crypto.PubKey.Ed25519

Show Signature # 
Instance details

Defined in Crypto.PubKey.Ed25519

NFData Signature # 
Instance details

Defined in Crypto.PubKey.Ed25519

Methods

rnf :: Signature -> () #

ByteArrayAccess Signature # 
Instance details

Defined in Crypto.PubKey.Ed25519

Methods

length :: Signature -> Int #

withByteArray :: Signature -> (Ptr p -> IO a) -> IO a #

copyByteArrayToPtr :: Signature -> Ptr p -> IO () #

Size constants

publicKeySize :: Int #

A public key is 32 bytes

secretKeySize :: Int #

A secret key is 32 bytes

signatureSize :: Int #

A signature is 64 bytes

Smart constructors

signature :: ByteArrayAccess ba => ba -> CryptoFailable Signature #

Try to build a signature from a bytearray

publicKey :: ByteArrayAccess ba => ba -> CryptoFailable PublicKey #

Try to build a public key from a bytearray

secretKey :: ByteArrayAccess ba => ba -> CryptoFailable SecretKey #

Try to build a secret key from a bytearray

Methods

toPublic :: SecretKey -> PublicKey #

Create a public key from a secret key

sign :: ByteArrayAccess ba => SecretKey -> PublicKey -> ba -> Signature #

Sign a message using the key pair

verify :: ByteArrayAccess ba => PublicKey -> ba -> Signature -> Bool #

Verify a message

generateSecretKey :: MonadRandom m => m SecretKey #

Generate a secret key