aead

Pure Haskell AEAD-ChaCha20-Poly1305 (docs.ppad.tech/aead).
git clone git://git.ppad.tech/aead.git
Log | Files | Refs | README | LICENSE

CHANGELOG (1122B)


      1 # Changelog
      2 
      3 - 0.3.4 (2026-07-17)
      4   * Adds an optimization-opaque barrier to MAC equality comparison
      5     to prevent LLVM from introducing variable-time instructions when
      6     compiling with the LLVM backend.
      7 
      8 - 0.3.3 (2026-07-17)
      9   * Uses a different algorithm for constant-time MAC comparison.
     10     This version seems to produce less microarchitectural variance on
     11     aarch64/darwin.
     12 
     13 - 0.3.2 (2026-05-16)
     14   * Bumps the poly1305 dependency to a version that returns its MAC in a
     15     custom type having a constant-time Eq instance.
     16 
     17 - 0.3.1 (2025-12-28)
     18   * Tests with GHC 9.10.3.
     19 
     20 - 0.3.0 (2025-12-27)
     21   * Updates the poly1305 dependency to a version that uses ppad-fixed for
     22     fixed-width words and constant-time primitives internally. Also swaps
     23     a naïve ByteString equality check out for a constant-time version.
     24 
     25 - 0.2.0 (2025-06-21)
     26   * The 'encrypt' and 'decrypt' functions are now total, returning 'Left
     27     InvalidKey', 'Left InvalidNonce', or 'Left InvalidMAC' values when
     28     passed the corresponding bad inputs.
     29 
     30 - 0.1.0 (2025-03-09)
     31   * Initial release, supporting the ChaCha20-Poly1305 configuration.
     32 
     33