From 0bb8daa7da52240a971a4ce83d97cfb62971ea78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sun, 18 Oct 2026 16:52:41 +0200 Subject: Add crypto backend using various reference libraries --- src/crypto/reflibs/Crypto/MAC/Poly1305.hs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/crypto/reflibs/Crypto/MAC/Poly1305.hs (limited to 'src/crypto/reflibs/Crypto/MAC/Poly1305.hs') 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 -- cgit v1.2.3