elephant-diffuser 0.1.0

The BitLocker Elephant Diffuser (Diffuser A + Diffuser B + sector-key XOR) — the pure format primitive with no ecosystem crate, validated in-situ against libbde
Documentation
[package]
name         = "elephant-diffuser"
version      = "0.1.0"
edition      = "2021"
rust-version = "1.81"
license      = "Apache-2.0"
authors      = ["Albert Hui <albert@securityronin.com>"]
repository   = "https://github.com/SecurityRonin/elephant-diffuser"
description  = "The BitLocker Elephant Diffuser (Diffuser A + Diffuser B + sector-key XOR) — the pure format primitive with no ecosystem crate, validated in-situ against libbde"
keywords     = ["bitlocker", "diffuser", "forensics", "cryptography", "dfir"]
categories   = ["cryptography", "no-std::no-alloc"]
readme       = "README.md"
exclude      = ["/fuzz", "/.github", "/docs"]

[dependencies]

# ---------------------------------------------------------------------------
# Paranoid Gatekeeper: the diffuser transforms attacker-controllable sector
# bytes. Never panic, never read out of bounds. Tests opt out via the
# crate-level `#![cfg_attr(test, allow(...))]`.
# ---------------------------------------------------------------------------
[lints.rust]
unsafe_code = "forbid"

[lints.clippy]
all                      = { level = "warn",  priority = -1 }
pedantic                 = { level = "warn",  priority = -1 }
correctness              = { level = "deny",  priority = -1 }
suspicious               = { level = "deny",  priority = -1 }
unwrap_used              = { level = "deny",  priority = 0  }
expect_used              = { level = "deny",  priority = 0  }
module_name_repetitions  = { level = "allow", priority = 1  }
must_use_candidate       = { level = "allow", priority = 1  }
missing_errors_doc       = { level = "allow", priority = 1  }
missing_panics_doc       = { level = "allow", priority = 1  }
cast_possible_truncation = { level = "allow", priority = 1  }
cast_possible_wrap       = { level = "allow", priority = 1  }
cast_sign_loss           = { level = "allow", priority = 1  }
cast_precision_loss      = { level = "allow", priority = 1  }

[profile.release]
lto           = "thin"
codegen-units = 1