commit 99d441177240c8814d3526256d1affc047780fd5
parent dfc429f1dc3811b2250bdbbacda375cb987adb11
Author: Jared Tobin <jared@jtobin.io>
Date: Sun, 28 Dec 2025 16:31:12 -0330
release: v0.3.1
Diffstat:
5 files changed, 55 insertions(+), 40 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG
@@ -1,5 +1,8 @@
# Changelog
+- 0.3.1 (2025-12-28)
+ * Tests with GHC 9.10.3.
+
- 0.3.0 (2025-12-27)
* Updates the poly1305 dependency to a version that uses ppad-fixed for
fixed-width words and constant-time primitives internally. Also swaps
diff --git a/README.md b/README.md
@@ -58,16 +58,16 @@ benchmark suite):
```
benchmarking ppad-aead/encrypt
- time 2.589 μs (2.587 μs .. 2.592 μs)
+ time 1.682 μs (1.676 μs .. 1.691 μs)
1.000 R² (1.000 R² .. 1.000 R²)
- mean 2.595 μs (2.594 μs .. 2.597 μs)
- std dev 5.384 ns (4.491 ns .. 6.511 ns)
+ mean 1.684 μs (1.681 μs .. 1.690 μs)
+ std dev 14.25 ns (7.844 ns .. 23.62 ns)
benchmarking ppad-aead/decrypt
- time 2.625 μs (2.618 μs .. 2.636 μs)
+ time 1.692 μs (1.690 μs .. 1.695 μs)
1.000 R² (1.000 R² .. 1.000 R²)
- mean 2.614 μs (2.610 μs .. 2.621 μs)
- std dev 15.99 ns (11.98 ns .. 27.52 ns)
+ mean 1.695 μs (1.693 μs .. 1.696 μs)
+ std dev 4.261 ns (3.463 ns .. 5.420 ns)
```
## Security
diff --git a/flake.lock b/flake.lock
@@ -5,11 +5,11 @@
"systems": "systems"
},
"locked": {
- "lastModified": 1710146030,
- "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
+ "lastModified": 1731533236,
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
- "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
@@ -20,11 +20,11 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1725910328,
- "narHash": "sha256-n9pCtzGZ0httmTwMuEbi5E78UQ4ZbQMr1pzi5N0LAG8=",
+ "lastModified": 1766840161,
+ "narHash": "sha256-Ss/LHpJJsng8vz1Pe33RSGIWUOcqM1fjrehjUkdrWio=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "5775c2583f1801df7b790bf7f7d710a19bac66f4",
+ "rev": "3edc4a30ed3903fdf6f90c837f961fa6b49582d1",
"type": "github"
},
"original": {
@@ -51,11 +51,11 @@
]
},
"locked": {
- "lastModified": 1741625558,
- "narHash": "sha256-ZBDXRD5fsVqA5bGrAlcnhiu67Eo50q0M9614nR3NBwY=",
+ "lastModified": 1766934151,
+ "narHash": "sha256-BUFpuLfrGXE2xi3Wa9TYCEhhRhFp175Ghxnr0JRbG2I=",
"ref": "master",
- "rev": "fb63457f2e894eda28250dfe65d0fcd1d195ac2f",
- "revCount": 24,
+ "rev": "58dfb7922401a60d5de76825fcd5f6ecbcd7afe0",
+ "revCount": 26,
"type": "git",
"url": "git://git.ppad.tech/base16.git"
},
@@ -85,11 +85,11 @@
]
},
"locked": {
- "lastModified": 1766837471,
- "narHash": "sha256-v2LKjKLK6gWWjKA1dzgFVihTrfODorlNfNBhWlia3g0=",
+ "lastModified": 1766951845,
+ "narHash": "sha256-mWnL5bYOeFyos27YmaN2aIxzblf+HgRgYxNA+gVkZ8s=",
"ref": "master",
- "rev": "6752c4336c1b581ae7875b1c9a0eaed115e420a3",
- "revCount": 23,
+ "rev": "6da57b480038c829424daa7fc6d4289159b84a08",
+ "revCount": 24,
"type": "git",
"url": "git://git.ppad.tech/chacha.git"
},
@@ -119,11 +119,11 @@
]
},
"locked": {
- "lastModified": 1766845669,
- "narHash": "sha256-aDfG7HX8zn0L/ZBABimeUHdvHBcYsiksAzN898QUa5I=",
+ "lastModified": 1766933347,
+ "narHash": "sha256-hwBsY4vyefW9qSj0MK0+wr9hIc0OcFuhQD11XGGcO/o=",
"ref": "master",
- "rev": "0213f7350fcda1c8d28bb9dae686205cf5983f88",
- "revCount": 272,
+ "rev": "d7b03362f9d075c505b8c293524f577f7186a647",
+ "revCount": 289,
"type": "git",
"url": "git://git.ppad.tech/fixed.git"
},
@@ -139,11 +139,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
- "lastModified": 1737297101,
- "narHash": "sha256-EnXnq+JLflbWt+DvaGGnY2gfAqsGNOm5vPgHh3hkfwQ=",
+ "lastModified": 1766932084,
+ "narHash": "sha256-GvVsbTfW+B7IQ9K/QP2xcXJAm1lhBin1jYZWNjOzT+o=",
"ref": "master",
- "rev": "f29823875250bc99b3891f7373535ccde9a29a44",
- "revCount": 1,
+ "rev": "353e61763b959b960a55321a85423501e3e9ed7a",
+ "revCount": 2,
"type": "git",
"url": "git://git.ppad.tech/nixpkgs.git"
},
@@ -174,11 +174,11 @@
]
},
"locked": {
- "lastModified": 1766850314,
- "narHash": "sha256-MstxeH3ucjJeR9EJWW7nDPsw+jFW1Apev0twrC3b9/I=",
+ "lastModified": 1766951654,
+ "narHash": "sha256-Q+xcIJCOEZ6UgkY62+MOkxUsxL/4ZeQHVjZqVQRxvVA=",
"ref": "master",
- "rev": "9761d72bf0fd0bda80d48c1b3ce77b83f8c25dc6",
- "revCount": 23,
+ "rev": "1c50a555ab3e4077236aa4d480e4fb3e251e60e0",
+ "revCount": 24,
"type": "git",
"url": "git://git.ppad.tech/poly1305.git"
},
diff --git a/flake.nix b/flake.nix
@@ -41,7 +41,19 @@
pkgs = import nixpkgs { inherit system; };
hlib = pkgs.haskell.lib;
- llvm = pkgs.llvmPackages_15.llvm;
+ llvm = pkgs.llvmPackages_19.llvm;
+
+ base16 = ppad-base16.packages.${system}.default;
+ base16-llvm =
+ hlib.addBuildTools
+ (hlib.enableCabalFlag base16 "llvm")
+ [ llvm ];
+
+ chacha = ppad-chacha.packages.${system}.default;
+ chacha-llvm =
+ hlib.addBuildTools
+ (hlib.enableCabalFlag chacha "llvm")
+ [ llvm ];
poly1305 = ppad-poly1305.packages.${system}.default;
poly1305-llvm =
@@ -49,9 +61,9 @@
(hlib.enableCabalFlag poly1305 "llvm")
[ llvm ];
- hpkgs = pkgs.haskell.packages.ghc981.extend (new: old: {
- ppad-base16 = ppad-base16.packages.${system}.default;
- ppad-chacha = ppad-chacha.packages.${system}.default;
+ hpkgs = pkgs.haskell.packages.ghc910.extend (new: old: {
+ ppad-base16 = base16-llvm;
+ ppad-chacha = chacha-llvm;
ppad-poly1305 = poly1305-llvm;
${lib} = new.callCabal2nixWithOptions lib ./. "--enable-profiling" {
ppad-poly1305 = new.ppad-poly1305;
diff --git a/ppad-aead.cabal b/ppad-aead.cabal
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: ppad-aead
-version: 0.3.0
+version: 0.3.1
synopsis: A pure AEAD-ChaCha20-Poly1305 construction
license: MIT
license-file: LICENSE
@@ -8,7 +8,7 @@ author: Jared Tobin
maintainer: jared@ppad.tech
category: Cryptography
build-type: Simple
-tested-with: GHC == 9.8.1
+tested-with: GHC == 9.10.3
extra-doc-files: CHANGELOG
description:
A pure authenticated encryption with associated data
@@ -29,8 +29,8 @@ library
build-depends:
base >= 4.9 && < 5
, bytestring >= 0.9 && < 0.13
- , ppad-chacha >= 0.2 && < 0.3
- , ppad-poly1305 >= 0.4 && < 0.5
+ , ppad-chacha >= 0.2.1 && < 0.3
+ , ppad-poly1305 >= 0.4.1 && < 0.5
test-suite aead-tests
type: exitcode-stdio-1.0