commit 298a9e4eb8f2149c0e04d1b97ee1f4869be65651
parent 57d23beaa8c350af45ac44baf53466ecdc4ed30c
Author: Jared Tobin <jared@jtobin.io>
Date: Sun, 1 Feb 2026 15:14:33 +0400
lib: update to new sha256, sha512 versions
Diffstat:
4 files changed, 24 insertions(+), 22 deletions(-)
diff --git a/flake.lock b/flake.lock
@@ -105,14 +105,18 @@
]
},
"locked": {
- "lastModified": 1769922202,
- "narHash": "sha256-c4kWgel9W3BBv9R+fwgUGgtfXfE9fJaw9a51zOIOSNY=",
- "path": "/Users/jtobin/src/ppad/sha256",
- "type": "path"
+ "lastModified": 1769942235,
+ "narHash": "sha256-6NlOumhA4BD9Eihfb58mjfueHLM6t3wxpcHAYsntbMg=",
+ "ref": "master",
+ "rev": "40792bf33df4582897000fc331a75cc458db9463",
+ "revCount": 127,
+ "type": "git",
+ "url": "git://git.ppad.tech/sha256.git"
},
"original": {
- "path": "/Users/jtobin/src/ppad/sha256",
- "type": "path"
+ "ref": "master",
+ "type": "git",
+ "url": "git://git.ppad.tech/sha256.git"
}
},
"ppad-sha512": {
@@ -135,11 +139,11 @@
]
},
"locked": {
- "lastModified": 1768122380,
- "narHash": "sha256-edXb64mZPIIsmgZtX2d98QhR6FmXLDh4emThfoufgz0=",
+ "lastModified": 1769944296,
+ "narHash": "sha256-uw4EgnM5yQF6LmkkxHY0PJLNko8Wad9aq7GEtacEM3g=",
"ref": "master",
- "rev": "fd2a1341627c4eaf048613474d4f8e97477f6d09",
- "revCount": 44,
+ "rev": "8fa68ca2fcfc589e7716be9162e2fef52293516a",
+ "revCount": 48,
"type": "git",
"url": "git://git.ppad.tech/sha512.git"
},
diff --git a/flake.nix b/flake.nix
@@ -14,11 +14,9 @@
inputs.ppad-nixpkgs.follows = "ppad-nixpkgs";
};
ppad-sha256 = {
- # XX for development
- url = "path:/Users/jtobin/src/ppad/sha256";
- # type = "git";
- # url = "git://git.ppad.tech/sha256.git";
- # ref = "master";
+ type = "git";
+ url = "git://git.ppad.tech/sha256.git";
+ ref = "master";
inputs.ppad-base16.follows = "ppad-base16";
inputs.ppad-nixpkgs.follows = "ppad-nixpkgs";
};
diff --git a/lib/Crypto/DRBG/HMAC/SHA256.hs b/lib/Crypto/DRBG/HMAC/SHA256.hs
@@ -220,7 +220,7 @@ gen_loop drbg k0 v0 bytes = loop mempty v0 0 where
write_v drbg v
pure acc
| otherwise = do
- Prim.unsafeIOToPrim $ SHA256.hmac_rr_unsafe vp sp k0 v
+ Prim.unsafeIOToPrim $ SHA256._hmac_rr vp sp k0 v
!(GHC.Word.W32# nv0) <- PA.readPrimArray drbg 10
!(GHC.Word.W32# nv1) <- PA.readPrimArray drbg 11
!(GHC.Word.W32# nv2) <- PA.readPrimArray drbg 12
@@ -262,7 +262,7 @@ update drbg provided_data@(BI.PS _ _ l) = do
!kp = PA.mutablePrimArrayContents drbg `FP.plusPtr` 08 -- 2 * 4
!vp = PA.mutablePrimArrayContents drbg `FP.plusPtr` 40 -- 10 * 4
!sp = PA.mutablePrimArrayContents drbg `FP.plusPtr` 72 -- 18 * 4
- Prim.unsafeIOToPrim $ SHA256.hmac_rsb_unsafe kp sp k0 v0 0x00 provided_data
+ Prim.unsafeIOToPrim $ SHA256._hmac_rsb kp sp k0 v0 0x00 provided_data
!(GHC.Word.W32# k10) <- PA.readPrimArray drbg 02
!(GHC.Word.W32# k11) <- PA.readPrimArray drbg 03
!(GHC.Word.W32# k12) <- PA.readPrimArray drbg 04
@@ -272,7 +272,7 @@ update drbg provided_data@(BI.PS _ _ l) = do
!(GHC.Word.W32# k16) <- PA.readPrimArray drbg 08
!(GHC.Word.W32# k17) <- PA.readPrimArray drbg 09
let !k1 = Registers (# k10, k11, k12, k13, k14, k15, k16, k17 #)
- Prim.unsafeIOToPrim $ SHA256.hmac_rr_unsafe vp sp k1 v0
+ Prim.unsafeIOToPrim $ SHA256._hmac_rr vp sp k1 v0
if l == 0
then pure ()
else do
@@ -285,7 +285,7 @@ update drbg provided_data@(BI.PS _ _ l) = do
!(GHC.Word.W32# v16) <- PA.readPrimArray drbg 16
!(GHC.Word.W32# v17) <- PA.readPrimArray drbg 17
let !v1 = Registers (# v10, v11, v12, v13, v14, v15, v16, v17 #)
- Prim.unsafeIOToPrim $ SHA256.hmac_rsb_unsafe kp sp k1 v1 0x01 provided_data
+ Prim.unsafeIOToPrim $ SHA256._hmac_rsb kp sp k1 v1 0x01 provided_data
!(GHC.Word.W32# k20) <- PA.readPrimArray drbg 02
!(GHC.Word.W32# k21) <- PA.readPrimArray drbg 03
!(GHC.Word.W32# k22) <- PA.readPrimArray drbg 04
@@ -295,7 +295,7 @@ update drbg provided_data@(BI.PS _ _ l) = do
!(GHC.Word.W32# k26) <- PA.readPrimArray drbg 08
!(GHC.Word.W32# k27) <- PA.readPrimArray drbg 09
let !k2 = Registers (# k20, k21, k22, k23, k24, k25, k26, k27 #)
- Prim.unsafeIOToPrim $ SHA256.hmac_rr_unsafe vp sp k2 v1
+ Prim.unsafeIOToPrim $ SHA256._hmac_rr vp sp k2 v1
{-# INLINABLE update #-}
init_counter
diff --git a/ppad-hmac-drbg.cabal b/ppad-hmac-drbg.cabal
@@ -36,8 +36,8 @@ library
build-depends:
base >= 4.9 && < 5
, bytestring >= 0.9 && < 0.13
- , ppad-sha256 >= 0.3 && < 0.4
- , ppad-sha512 >= 0.2 && < 0.4
+ , ppad-sha256 >= 0.3.2 && < 0.4
+ , ppad-sha512 >= 0.2.2 && < 0.4
, primitive >= 0.8 && < 0.10
test-suite hmac-drbg-tests