module Botan.PubKey.KeyEncapsulation
(
kemEncrypt
, kemDecrypt
, KEMSharedKey(..)
, KEMEncapsulatedKey(..)
, kemSharedKeyLength
, kemEncapsulatedKeyLength
, KEMEncrypt(..)
, destroyKEMEncrypt
, newKEMEncrypt
, kemEncryptSharedKeyLength
, kemEncryptEncapsulatedKeyLength
, kemEncryptCreateSharedKey
, KEMDecrypt(..)
, destroyKEMDecrypt
, newKEMDecrypt
, kemDecryptSharedKeyLength
, kemDecryptSharedKey
) where
import qualified Data.ByteString as ByteString
import qualified Botan.Low.PubKey.KeyEncapsulation as Low
import Botan.Error
import Botan.Prelude
import Botan.KDF
import Botan.RNG
import Botan.PubKey
kemEncrypt :: a
kemEncrypt = a
forall a. HasCallStack => a
undefined
kemDecrypt :: a
kemDecrypt = a
forall a. HasCallStack => a
undefined
type KEMSharedKey = Low.KEMSharedKey
type KEMEncapsulatedKey = Low.KEMEncapsulatedKey
kemSharedKeyLength :: a
kemSharedKeyLength = a
forall a. HasCallStack => a
undefined
kemEncapsulatedKeyLength :: a
kemEncapsulatedKeyLength = a
forall a. HasCallStack => a
undefined
data KEMEncrypt
destroyKEMEncrypt :: (MonadIO m) => KEMEncrypt -> m ()
destroyKEMEncrypt :: forall (m :: * -> *). MonadIO m => KEMEncrypt -> m ()
destroyKEMEncrypt = KEMEncrypt -> m ()
forall a. HasCallStack => a
undefined
newKEMEncrypt :: (MonadIO m) => PubKey -> KDF -> m KEMEncrypt
newKEMEncrypt :: forall (m :: * -> *). MonadIO m => PubKey -> KDF -> m KEMEncrypt
newKEMEncrypt = PubKey -> KDF -> m KEMEncrypt
forall a. HasCallStack => a
undefined
kemEncryptEncapsulatedKeyLength :: (MonadIO m) => KEMEncrypt -> m Int
kemEncryptEncapsulatedKeyLength :: forall (m :: * -> *). MonadIO m => KEMEncrypt -> m Int
kemEncryptEncapsulatedKeyLength = KEMEncrypt -> m Int
forall a. HasCallStack => a
undefined
kemEncryptSharedKeyLength :: (MonadIO m) => KEMEncrypt -> Int -> m Int
kemEncryptSharedKeyLength :: forall (m :: * -> *). MonadIO m => KEMEncrypt -> Int -> m Int
kemEncryptSharedKeyLength = KEMEncrypt -> Int -> m Int
forall a. HasCallStack => a
undefined
kemEncryptCreateSharedKey :: (MonadRandomIO m) => KEMEncrypt -> ByteString -> Int -> m (KEMSharedKey,KEMEncapsulatedKey)
kemEncryptCreateSharedKey :: forall (m :: * -> *).
MonadRandomIO m =>
KEMEncrypt -> ByteString -> Int -> m (ByteString, ByteString)
kemEncryptCreateSharedKey = KEMEncrypt -> ByteString -> Int -> m (ByteString, ByteString)
forall a. HasCallStack => a
undefined
data KEMDecrypt
destroyKEMDecrypt :: (MonadIO m) => KEMDecrypt -> m ()
destroyKEMDecrypt :: forall (m :: * -> *). MonadIO m => KEMDecrypt -> m ()
destroyKEMDecrypt = KEMDecrypt -> m ()
forall a. HasCallStack => a
undefined
newKEMDecrypt :: (MonadIO m) => PrivKey -> KDF -> m KEMDecrypt
newKEMDecrypt :: forall (m :: * -> *). MonadIO m => PrivKey -> KDF -> m KEMDecrypt
newKEMDecrypt = PrivKey -> KDF -> m KEMDecrypt
forall a. HasCallStack => a
undefined
kemDecryptSharedKeyLength :: (MonadIO m) => KEMDecrypt -> Int -> m Int
kemDecryptSharedKeyLength :: forall (m :: * -> *). MonadIO m => KEMDecrypt -> Int -> m Int
kemDecryptSharedKeyLength = KEMDecrypt -> Int -> m Int
forall a. HasCallStack => a
undefined
kemDecryptSharedKey :: (MonadIO m) => KEMDecrypt -> ByteString -> KEMEncapsulatedKey -> Int -> m KEMSharedKey
kemDecryptSharedKey :: forall (m :: * -> *).
MonadIO m =>
KEMDecrypt -> ByteString -> ByteString -> Int -> m ByteString
kemDecryptSharedKey = KEMDecrypt -> ByteString -> ByteString -> Int -> m ByteString
forall a. HasCallStack => a
undefined