{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE DataKinds #-}
module Raaz.Primitive.AEAD.Internal
( AEAD(..), unsafeAEAD
) where
import Data.ByteString
import Raaz.Core
data AEAD c t = AEAD
{ forall c t. AEAD c t -> Nounce c
unsafeToNounce :: Nounce c
, forall c t. AEAD c t -> ByteString
unsafeToCipherText :: ByteString
, forall c t. AEAD c t -> t
unsafeToAuthTag :: t
}
unsafeAEAD :: Nounce c
-> ByteString
-> t
-> AEAD c t
unsafeAEAD :: forall c t. Nounce c -> ByteString -> t -> AEAD c t
unsafeAEAD = Nounce c -> ByteString -> t -> AEAD c t
forall c t. Nounce c -> ByteString -> t -> AEAD c t
AEAD