poly1305

The Poly1305 message authentication code (docs.ppad.tech/poly1305).
git clone git://git.ppad.tech/poly1305.git
Log | Files | Refs | README | LICENSE

commit 9ef50aa0a50470cae5dd6ffa0cc4cd72e086a366
parent bd98c53ac3d468dcd01acf4f3f42a3a3daef1342
Author: Jared Tobin <jared@jtobin.io>
Date:   Mon,  6 Jul 2026 09:03:47 -0230

bench: MAC comparison cases

Bench the constant-time 'Eq' instance on equal and unequal tags,
mirroring the MAC-comparison groups in ppad-sha256/ppad-sha512.

Diffstat:
Mbench/Main.hs | 21++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/bench/Main.hs b/bench/Main.hs @@ -43,11 +43,18 @@ msg_4k = BS.replicate 4096 0x42 suite :: Benchmark suite = - bgroup "ppad-poly1305" [ - bench "mac (small key)" $ nf (Poly1305.mac key_small) msg - , bench "mac (mid key)" $ nf (Poly1305.mac key_mid) msg - , bench "mac (big key)" $ nf (Poly1305.mac key_big) msg - , bench "mac (1024B msg)" $ nf (Poly1305.mac key_big) msg_1k - , bench "mac (4096B msg)" $ nf (Poly1305.mac key_big) msg_4k - ] + let !mac0 = fromJust (Poly1305.mac key_big msg) + !mac1 = fromJust (Poly1305.mac key_big msg_1k) + !mac2 = fromJust (Poly1305.mac key_big msg) + in bgroup "ppad-poly1305" [ + bench "mac (small key)" $ nf (Poly1305.mac key_small) msg + , bench "mac (mid key)" $ nf (Poly1305.mac key_mid) msg + , bench "mac (big key)" $ nf (Poly1305.mac key_big) msg + , bench "mac (1024B msg)" $ nf (Poly1305.mac key_big) msg_1k + , bench "mac (4096B msg)" $ nf (Poly1305.mac key_big) msg_4k + , bgroup "MAC comparison" [ + bench "mac, unequal" $ whnf (mac0 ==) mac1 + , bench "mac, equal" $ whnf (mac0 ==) mac2 + ] + ]