Copyright | (c) Max Amanshauser 2021 |
---|---|
License | MIT |
Maintainer | max@lambdalifting.org |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- aead_aes256gcm_keybytes :: Int
- aead_aes256gcm_npubbytes :: Int
- aead_aes256gcm_abytes :: Int
- c_aead_aes256gcm_is_available :: IO CInt
- c_aead :: Ptr CChar -> Ptr CULLong -> Ptr CChar -> CULLong -> Ptr CChar -> CULLong -> Ptr CChar -> Ptr CChar -> Ptr CChar -> IO CInt
- c_aead_open :: Ptr CChar -> Ptr CULLong -> Ptr CChar -> Ptr CChar -> CULLong -> Ptr CChar -> CULLong -> Ptr CChar -> Ptr CChar -> IO CInt
- c_aead_detached :: Ptr CChar -> Ptr CChar -> Ptr CULLong -> Ptr CChar -> CULLong -> Ptr CChar -> CULLong -> Ptr CChar -> Ptr CChar -> Ptr CChar -> IO CInt
- c_aead_open_detached :: Ptr CChar -> Ptr CChar -> Ptr CChar -> CULLong -> Ptr CChar -> Ptr CChar -> CULLong -> Ptr CChar -> Ptr CChar -> IO CInt
- newtype Key = Key {
- unKey :: ByteString
- newtype Nonce = Nonce {}
Documentation
aead_aes256gcm_keybytes :: Int Source #
Size of an AES256 key
aead_aes256gcm_npubbytes :: Int Source #
Size of an AES256 nonce
aead_aes256gcm_abytes :: Int Source #
Size of an AES256 authentication tag
:: Ptr CChar | Cipher output buffer |
-> Ptr CULLong | Cipher output bytes used |
-> Ptr CChar | Constant message input buffer |
-> CULLong | Length of message input buffer |
-> Ptr CChar | Constant aad input buffer |
-> CULLong | Length of aad input buffer |
-> Ptr CChar | Unused |
-> Ptr CChar | Constant nonce buffer |
-> Ptr CChar | Constant key buffer |
-> IO CInt |
The aead C API uses C strings. Always returns 0.
:: Ptr CChar | Message output buffer |
-> Ptr CULLong | Message output bytes used |
-> Ptr CChar | Unused |
-> Ptr CChar | Constant ciphertext input buffer |
-> CULLong | Length of ciphertext input buffer |
-> Ptr CChar | Constant aad input buffer |
-> CULLong | Length of aad input buffer |
-> Ptr CChar | Constant nonce buffer |
-> Ptr CChar | Constant key buffer |
-> IO CInt |
The aead open C API uses C strings. Returns 0 if successful.
:: Ptr CChar | Cipher output buffer |
-> Ptr CChar | Tag output buffer |
-> Ptr CULLong | Tag bytes used |
-> Ptr CChar | Constant message input buffer |
-> CULLong | Length of message input buffer |
-> Ptr CChar | Constant aad input buffer |
-> CULLong | Length of aad input buffer |
-> Ptr CChar | Unused |
-> Ptr CChar | Constant nonce buffer |
-> Ptr CChar | Constant key buffer |
-> IO CInt |
The aead C API uses C strings. Always returns 0.
:: Ptr CChar | Message output buffer |
-> Ptr CChar | Unused |
-> Ptr CChar | Constant ciphertext input buffer |
-> CULLong | Length of ciphertext input buffer |
-> Ptr CChar | Constant tag input buffer |
-> Ptr CChar | Constant aad input buffer |
-> CULLong | Length of aad input buffer |
-> Ptr CChar | Constant nonce buffer |
-> Ptr CChar | Constant key buffer |
-> IO CInt |
The aead open C API uses C strings. Returns 0 if successful.
An opaque AES256GCM
cryptographic key.
Key | |
|
Instances
Eq Key Source # | |
Data Key Source # | |
Defined in Crypto.Saltine.Internal.AEAD.AES256GCM 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 # 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 # | |
Show Key Source # | |
Generic Key Source # | |
NFData Key Source # | |
Defined in Crypto.Saltine.Internal.AEAD.AES256GCM | |
Hashable Key Source # | |
Defined in Crypto.Saltine.Internal.AEAD.AES256GCM | |
IsEncoding Key Source # | |
Defined in Crypto.Saltine.Internal.AEAD.AES256GCM encode :: Key -> ByteString Source # decode :: ByteString -> Maybe Key Source # encoded :: (Choice p, Applicative f) => p Key (f Key) -> p ByteString (f ByteString) Source # | |
type Rep Key Source # | |
Defined in Crypto.Saltine.Internal.AEAD.AES256GCM type Rep Key = D1 ('MetaData "Key" "Crypto.Saltine.Internal.AEAD.AES256GCM" "saltine-0.2.0.1-inplace" 'True) (C1 ('MetaCons "Key" 'PrefixI 'True) (S1 ('MetaSel ('Just "unKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString))) |
An opaque AES256GCM
nonce.
Instances
Eq Nonce Source # | |
Data Nonce Source # | |
Defined in Crypto.Saltine.Internal.AEAD.AES256GCM 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 # 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 # | |
Show Nonce Source # | |
Generic Nonce Source # | |
NFData Nonce Source # | |
Defined in Crypto.Saltine.Internal.AEAD.AES256GCM | |
Hashable Nonce Source # | |
Defined in Crypto.Saltine.Internal.AEAD.AES256GCM | |
IsNonce Nonce Source # | |
IsEncoding Nonce Source # | |
Defined in Crypto.Saltine.Internal.AEAD.AES256GCM encode :: Nonce -> ByteString Source # decode :: ByteString -> Maybe Nonce Source # encoded :: (Choice p, Applicative f) => p Nonce (f Nonce) -> p ByteString (f ByteString) Source # | |
type Rep Nonce Source # | |
Defined in Crypto.Saltine.Internal.AEAD.AES256GCM type Rep Nonce = D1 ('MetaData "Nonce" "Crypto.Saltine.Internal.AEAD.AES256GCM" "saltine-0.2.0.1-inplace" 'True) (C1 ('MetaCons "Nonce" 'PrefixI 'True) (S1 ('MetaSel ('Just "unNonce") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString))) |