aead

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

commit 1439c6cd98ea52035f7bb3f54e62a55090543066
parent 00b03f80d8d71f802061a8af9d041c6891b87660
Author: Jared Tobin <jared@jtobin.io>
Date:   Sat, 31 Oct 2026 11:44:10 +0400

release: v0.3.7

Diffstat:
MCHANGELOG | 8++++++++
Mflake.lock | 16++++++++--------
Mppad-aead.cabal | 10++++++++--
3 files changed, 24 insertions(+), 10 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG @@ -1,5 +1,13 @@ # Changelog +- 0.3.7 (2026-10-31) + * Bumps the ppad-poly1305 dependency to 0.4.7, which picks up + ppad-fixed 0.2.1. Under the llvm flag on x86_64, both are compiled + with LLVM's x86 cmov converter off + (-optlc=-x86-cmov-converter=false). This library is compiled + likewise, as ppad-fixed's constant-time arithmetic can be inlined + into it. + - 0.3.6 (2026-09-06) * Merely bumps the ppad-chacha dependency. diff --git a/flake.lock b/flake.lock @@ -119,11 +119,11 @@ ] }, "locked": { - "lastModified": 1785603497, - "narHash": "sha256-rF8KdVJ+VwUT2bEfCLZMPc05rUclr0wN2uOTYvd3z7g=", + "lastModified": 1793121974, + "narHash": "sha256-kw5niq662nriUKNS71Opf+pe8E1NjfbcRX7Jpq/7fSQ=", "ref": "master", - "rev": "e303bda7578385f488c2f23baa2e1a6a2b0b2aaf", - "revCount": 305, + "rev": "cc87b097fdf31b2cab66104e9e09dcfe21e82678", + "revCount": 308, "type": "git", "url": "git://git.ppad.tech/fixed.git" }, @@ -174,11 +174,11 @@ ] }, "locked": { - "lastModified": 1785621286, - "narHash": "sha256-5Ft6ejGg9kIXGtgWzvq+YXh0r7sQBwA7hPnwDqvjKbo=", + "lastModified": 1793432316, + "narHash": "sha256-MNbcsGH5gSGepFSQisa6NgnVCCSjolRnQQr637PXUsc=", "ref": "master", - "rev": "173e478290ecf9d639f0c85ae625da474a62a6b2", - "revCount": 48, + "rev": "541e883fc36426224a149b058fa20b70e195aa13", + "revCount": 50, "type": "git", "url": "git://git.ppad.tech/poly1305.git" }, diff --git a/ppad-aead.cabal b/ppad-aead.cabal @@ -1,6 +1,6 @@ cabal-version: 3.0 name: ppad-aead -version: 0.3.6 +version: 0.3.7 synopsis: A pure AEAD-ChaCha20-Poly1305 construction license: MIT license-file: LICENSE @@ -31,6 +31,12 @@ library -Wall if flag(llvm) ghc-options: -fllvm -O2 + -- LLVM's x86 backend rewrites a cmov whose operand is a load as a + -- branch (its cmov converter), which would make the borrow-masked + -- correction of ppad-fixed's sub_mod# (inlinable here) a branch on + -- the borrow; keep the cmov. + if flag(llvm) && arch(x86_64) + ghc-options: -optlc=-x86-cmov-converter=false exposed-modules: Crypto.AEAD.ChaCha20Poly1305 other-modules: @@ -39,7 +45,7 @@ library base >= 4.9 && < 5 , bytestring >= 0.9 && < 0.13 , ppad-chacha >= 0.3 && < 0.4 - , ppad-poly1305 >= 0.4.6 && < 0.5 + , ppad-poly1305 >= 0.4.7 && < 0.5 test-suite aead-tests type: exitcode-stdio-1.0