diff options
Diffstat (limited to 'src/crypto/reflibs/Crypto/MAC/Poly1305.hs')
| -rw-r--r-- | src/crypto/reflibs/Crypto/MAC/Poly1305.hs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/crypto/reflibs/Crypto/MAC/Poly1305.hs b/src/crypto/reflibs/Crypto/MAC/Poly1305.hs new file mode 100644 index 0000000..5e8938f --- /dev/null +++ b/src/crypto/reflibs/Crypto/MAC/Poly1305.hs @@ -0,0 +1,20 @@ +module Crypto.MAC.Poly1305 ( + Auth(..), + authTag, +) where + +import Crypto.Error + +import Data.ByteArray as BA +import Data.ByteString (ByteString) + + +newtype Auth = Auth ByteString + deriving (Eq, ByteArrayAccess) + +authTag :: ByteArrayAccess b => b -> CryptoFailable Auth +authTag ba + | BA.length bs /= 16 = CryptoFailed CryptoError + | otherwise = CryptoPassed (Auth bs) + where + bs = convert ba |