-- | This sets up the recommended implementation of various AES cipher
-- modes.

{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE DataKinds            #-}
{-# LANGUAGE FlexibleInstances    #-}
--
-- The orphan instance declaration separates the implementation and
-- setting the recommended instances. Therefore, we ignore the warning.
--

module Raaz.Cipher.AES.Recommendation where

import           Raaz.Core
import           Raaz.Cipher.Internal
import           Raaz.Cipher.AES.Internal
import qualified Raaz.Cipher.AES.CBC.Implementation.CPortable as CPCBC

instance Recommendation (AES 128 CBC) where
         recommended _ = CPCBC.aes128cbcI

instance Recommendation (AES 192 CBC) where
         recommended _ = CPCBC.aes192cbcI

instance Recommendation (AES 256 CBC) where
         recommended _ = CPCBC.aes256cbcI