libfreemkv 0.31.9: ~3x fewer AES ops in the subset-difference PK walk

calc_pk_from_dk derived all three children (left/pk/right) at every tree
level but used only the one it descended into; the Processing Key only
matters at the final node. Derive just the descended child per level + the
PK once at the end. Bit-for-bit identical; speeds every DK->MK derivation
(disc decryption + unpositioned-DK recovery). 60.8s -> 22.9s on a UHD
worst-case recovery scan.
This commit is contained in:
Matthew Jackson
2026-06-17 15:43:39 -07:00
parent dc87962e50
commit 9c80ef8245
3 changed files with 23 additions and 13 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "libfreemkv"
version = "0.31.8"
version = "0.31.9"
edition = "2024"
rust-version = "1.86"
license = "AGPL-3.0-only"