commit e61072b6f3c7bf134c53dff5e3e659f4802f959c
parent 93af1a1af0ed7731c953ef4c415f05c1401bc094
Author: Jared Tobin <jared@jtobin.io>
Date: Sat, 21 Jun 2025 15:09:03 +0400
release: v0.2.0
Diffstat:
4 files changed, 26 insertions(+), 24 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG
@@ -1,5 +1,9 @@
# Changelog
+- 0.2.0 (2025-06-21)
+ * The 'derive' function is now total, returning 'Nothing' when supplied
+ with bad inputs.
+
- 0.1.1 (2025-02-24)
* Minor Haddock fixes.
diff --git a/README.md b/README.md
@@ -34,23 +34,21 @@ Haddocks (API documentation, etc.) are hosted at
The aim is best-in-class performance for pure, highly-auditable Haskell
code.
-Current benchmark figures on my mid-2020 MacBook Air look like (use
+Current benchmark figures on an M4 Silicon MacBook Air look like (use
`cabal bench` to run the benchmark suite):
```
benchmarking ppad-pbkdf/PBKDF-SHA256/derive (outlen 32)
- time 533.2 μs (490.9 μs .. 579.9 μs)
- 0.967 R² (0.941 R² .. 0.993 R²)
- mean 494.0 μs (480.3 μs .. 518.3 μs)
- std dev 57.73 μs (38.72 μs .. 98.81 μs)
- variance introduced by outliers: 81% (severely inflated)
+ time 216.9 μs (216.3 μs .. 217.3 μs)
+ 1.000 R² (1.000 R² .. 1.000 R²)
+ mean 215.7 μs (215.3 μs .. 216.1 μs)
+ std dev 1.446 μs (1.275 μs .. 1.819 μs)
benchmarking ppad-pbkdf/PBKDF-SHA512/derive (outlen 32)
- time 241.2 μs (233.4 μs .. 249.6 μs)
- 0.991 R² (0.987 R² .. 0.995 R²)
- mean 233.6 μs (227.8 μs .. 240.1 μs)
- std dev 20.22 μs (16.95 μs .. 24.39 μs)
- variance introduced by outliers: 74% (severely inflated)
+ time 113.5 μs (113.3 μs .. 113.6 μs)
+ 1.000 R² (1.000 R² .. 1.000 R²)
+ mean 113.4 μs (113.3 μs .. 113.5 μs)
+ std dev 303.1 ns (256.5 ns .. 398.4 ns)
```
## Security
diff --git a/flake.lock b/flake.lock
@@ -51,11 +51,11 @@
]
},
"locked": {
- "lastModified": 1739979569,
- "narHash": "sha256-omEcmgzRlzIE5Vdty0/SskEcR2f7OtcHzGFE4i1dI60=",
+ "lastModified": 1741625558,
+ "narHash": "sha256-ZBDXRD5fsVqA5bGrAlcnhiu67Eo50q0M9614nR3NBwY=",
"ref": "master",
- "rev": "4439e0efafbb5185bd7d9bfb352a17c2a31b96b4",
- "revCount": 15,
+ "rev": "fb63457f2e894eda28250dfe65d0fcd1d195ac2f",
+ "revCount": 24,
"type": "git",
"url": "git://git.ppad.tech/base16.git"
},
@@ -102,11 +102,11 @@
]
},
"locked": {
- "lastModified": 1737298572,
- "narHash": "sha256-iAo6GFH1FLNi0wt0FczbqPCmVzCm9gfMEjk1oakExt0=",
+ "lastModified": 1740802974,
+ "narHash": "sha256-GTD9UrxwMa5zY7hxzDSXjKXKUwMK4r3FBHLG0nvgapk=",
"ref": "master",
- "rev": "abc984dc65f0df9bd958c0bc8f390c68e660f710",
- "revCount": 87,
+ "rev": "ab0957e305dff0243dcab11e381470585849fd20",
+ "revCount": 94,
"type": "git",
"url": "git://git.ppad.tech/sha256.git"
},
@@ -133,11 +133,11 @@
]
},
"locked": {
- "lastModified": 1737298660,
- "narHash": "sha256-W8wuLHRH7P5oITCXnxKEEnSD2yX1Qo7uypbxpwKvvM8=",
+ "lastModified": 1740802979,
+ "narHash": "sha256-6VAXmA1XiIT/WFcP+eFb6uK3YyfgVqIgDv3ASNIoCMs=",
"ref": "master",
- "rev": "e8ce88cafbf32900556832d3817997642f128242",
- "revCount": 21,
+ "rev": "ff165b29fb21b99749460ae7e3fdca42a85c822b",
+ "revCount": 28,
"type": "git",
"url": "git://git.ppad.tech/sha512.git"
},
diff --git a/ppad-pbkdf.cabal b/ppad-pbkdf.cabal
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: ppad-pbkdf
-version: 0.1.1
+version: 0.2.0
synopsis: A password-based key derivation function
license: MIT
license-file: LICENSE