saltine-0.2.0.1: Cryptography that's easy to digest (NaCl/libsodium bindings).
Copyright(c) Max Amanshauser 2021
LicenseMIT
Maintainermax@lambdalifting.org
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Crypto.Saltine.Internal.SecretBox

Description

 
Synopsis

Documentation

secretbox_keybytes :: Int Source #

Size of a crypto_secretbox secret key

secretbox_noncebytes :: Int Source #

Size of a crypto_secretbox nonce

secretbox_macbytes :: Int Source #

Size of a crypto_secretbox mac

secretbox_zerobytes :: Int Source #

Size of 0-padding prepended to messages before using crypto_secretbox or after using crypto_secretbox_open

secretbox_boxzerobytes :: Int Source #

Size of 0-padding prepended to ciphertext before using crypto_secretbox_open or after using crypto_secretbox

c_secretbox Source #

Arguments

:: Ptr CChar

Cipher 0-padded output buffer

-> Ptr CChar

Constant 0-padded message input buffer

-> CULLong

Length of message input buffer (incl. 0s)

-> Ptr CChar

Constant nonce buffer

-> Ptr CChar

Constant key buffer

-> IO CInt 

The secretbox C API uses 0-padded C strings. Always returns 0.

c_secretbox_detached Source #

Arguments

:: Ptr CChar

Ciphertext output buffer

-> Ptr CChar

Authentication tag output buffer

-> Ptr CChar

Constant message input buffer

-> CULLong

Length of message input buffer (incl. 0s)

-> Ptr CChar

Constant nonce buffer

-> Ptr CChar

Constant key buffer

-> IO CInt 

The secretbox_detached C API uses C strings. Always returns 0.

c_secretbox_open Source #

Arguments

:: Ptr CChar

Message 0-padded output buffer

-> Ptr CChar

Constant 0-padded message input buffer

-> CULLong

Length of message input buffer (incl. 0s)

-> Ptr CChar

Constant nonce buffer

-> Ptr CChar

Constant key buffer

-> IO CInt 

The secretbox C API uses 0-padded C strings. Returns 0 if successful or -1 if verification failed.

c_secretbox_open_detached Source #

Arguments

:: Ptr CChar

Message output buffer

-> Ptr CChar

Constant ciphertext input buffer

-> Ptr CChar

Constant auth tag input buffer

-> CULLong

Length of ciphertext input buffer

-> Ptr CChar

Constant nonce buffer

-> Ptr CChar

Constant key buffer

-> IO CInt 

The secretbox C API uses C strings. Returns 0 if successful or -1 if verification failed.

newtype Key Source #

An opaque secretbox cryptographic key.

Constructors

Key 

Fields

Instances

Instances details
Eq Key Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Methods

(==) :: Key -> Key -> Bool #

(/=) :: Key -> Key -> Bool #

Data Key Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Key -> c Key #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Key #

toConstr :: Key -> Constr #

dataTypeOf :: Key -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Key) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Key) #

gmapT :: (forall b. Data b => b -> b) -> Key -> Key #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Key -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Key -> r #

gmapQ :: (forall d. Data d => d -> u) -> Key -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Key -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Key -> m Key #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Key -> m Key #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Key -> m Key #

Ord Key Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Methods

compare :: Key -> Key -> Ordering #

(<) :: Key -> Key -> Bool #

(<=) :: Key -> Key -> Bool #

(>) :: Key -> Key -> Bool #

(>=) :: Key -> Key -> Bool #

max :: Key -> Key -> Key #

min :: Key -> Key -> Key #

Show Key Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Methods

showsPrec :: Int -> Key -> ShowS #

show :: Key -> String #

showList :: [Key] -> ShowS #

Generic Key Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Associated Types

type Rep Key :: Type -> Type #

Methods

from :: Key -> Rep Key x #

to :: Rep Key x -> Key #

NFData Key Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Methods

rnf :: Key -> () #

Hashable Key Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Methods

hashWithSalt :: Int -> Key -> Int #

hash :: Key -> Int #

IsEncoding Key Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

type Rep Key Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

type Rep Key = D1 ('MetaData "Key" "Crypto.Saltine.Internal.SecretBox" "saltine-0.2.0.1-inplace" 'True) (C1 ('MetaCons "Key" 'PrefixI 'True) (S1 ('MetaSel ('Just "unKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

newtype Nonce Source #

An opaque secretbox nonce.

Constructors

Nonce 

Fields

Instances

Instances details
Eq Nonce Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Methods

(==) :: Nonce -> Nonce -> Bool #

(/=) :: Nonce -> Nonce -> Bool #

Data Nonce Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Nonce -> c Nonce #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Nonce #

toConstr :: Nonce -> Constr #

dataTypeOf :: Nonce -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Nonce) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Nonce) #

gmapT :: (forall b. Data b => b -> b) -> Nonce -> Nonce #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Nonce -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Nonce -> r #

gmapQ :: (forall d. Data d => d -> u) -> Nonce -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Nonce -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Nonce -> m Nonce #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Nonce -> m Nonce #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Nonce -> m Nonce #

Ord Nonce Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Methods

compare :: Nonce -> Nonce -> Ordering #

(<) :: Nonce -> Nonce -> Bool #

(<=) :: Nonce -> Nonce -> Bool #

(>) :: Nonce -> Nonce -> Bool #

(>=) :: Nonce -> Nonce -> Bool #

max :: Nonce -> Nonce -> Nonce #

min :: Nonce -> Nonce -> Nonce #

Show Nonce Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Methods

showsPrec :: Int -> Nonce -> ShowS #

show :: Nonce -> String #

showList :: [Nonce] -> ShowS #

Generic Nonce Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Associated Types

type Rep Nonce :: Type -> Type #

Methods

from :: Nonce -> Rep Nonce x #

to :: Rep Nonce x -> Nonce #

NFData Nonce Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Methods

rnf :: Nonce -> () #

Hashable Nonce Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Methods

hashWithSalt :: Int -> Nonce -> Int #

hash :: Nonce -> Int #

IsNonce Nonce Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

IsEncoding Nonce Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

type Rep Nonce Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

type Rep Nonce = D1 ('MetaData "Nonce" "Crypto.Saltine.Internal.SecretBox" "saltine-0.2.0.1-inplace" 'True) (C1 ('MetaCons "Nonce" 'PrefixI 'True) (S1 ('MetaSel ('Just "unNonce") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

newtype Authenticator Source #

An Authenticator for a Message

Constructors

Au 

Fields

Instances

Instances details
Eq Authenticator Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Data Authenticator Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Authenticator -> c Authenticator #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Authenticator #

toConstr :: Authenticator -> Constr #

dataTypeOf :: Authenticator -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Authenticator) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Authenticator) #

gmapT :: (forall b. Data b => b -> b) -> Authenticator -> Authenticator #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Authenticator -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Authenticator -> r #

gmapQ :: (forall d. Data d => d -> u) -> Authenticator -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Authenticator -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Authenticator -> m Authenticator #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Authenticator -> m Authenticator #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Authenticator -> m Authenticator #

Ord Authenticator Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Show Authenticator Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Generic Authenticator Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Associated Types

type Rep Authenticator :: Type -> Type #

NFData Authenticator Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

Methods

rnf :: Authenticator -> () #

Hashable Authenticator Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

IsEncoding Authenticator Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

type Rep Authenticator Source # 
Instance details

Defined in Crypto.Saltine.Internal.SecretBox

type Rep Authenticator = D1 ('MetaData "Authenticator" "Crypto.Saltine.Internal.SecretBox" "saltine-0.2.0.1-inplace" 'True) (C1 ('MetaCons "Au" 'PrefixI 'True) (S1 ('MetaSel ('Just "unAu") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))