poly1305

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

CHANGELOG (1316B)


      1 # Changelog
      2 
      3 - 0.4.4 (2026-07-06)
      4   * Reverts the unrolled MAC comparison introduced in 0.4.3, which was
      5     found to introduce timing variation on both aarch64 and x86-64 when
      6     compiled via the LLVM backend (the NCG backend was unaffected).
      7 
      8 - 0.4.3 (2026-07-06)
      9   * The constant-time 'Eq' on 'MAC' now folds over the two buffers
     10     directly, rather than materialising an intermediate ByteString
     11     holding their XOR on the heap. Semantics are unchanged.
     12 
     13   * Improves the performance of constant-time MAC comparison.
     14 
     15 - 0.4.2 (2026-05-16)
     16   * Features order-of-magnitude performance improvements, especially
     17     on ARM platforms where NEON intrinsics are available.
     18 
     19 - 0.4.1 (2025-12-28)
     20   * Bumps the ppad-fixed lower-bound version and tests with GHC 9.10.3.
     21 
     22 - 0.4.0 (2025-12-27)
     23   * Switches from variable-size 'Integer' to fixed-width words and
     24     constant-time primitives supplied by ppad-fixed. The implementation now
     25     runs about 25x faster and in time constant with respect to secrets.
     26 
     27 - 0.3.0 (2025-06-21)
     28   * The 'mac' function is now total, returning 'Nothing' when supplied
     29     with an invalid-length one-time key.
     30 
     31 - 0.2.0 (2025-03-10)
     32   * Fix a bug in which small produced MAC's were not being padded to 128
     33     bits.
     34 
     35 - 0.1.0 (2025-03-09)
     36   * Initial release, supporting the Poly1305 MAC.
     37