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
# Changelog

All notable changes to this project are documented here. The format is based on
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.1.0]

### Added

- The BitLocker **Elephant Diffuser** as a standalone, dependency-free primitive,
  extracted from `bitlocker-core`:
  - `decrypt(sector, sector_key)` — Diffuser B, then Diffuser A, then XOR the
    32-byte sector key (the method-`0x8000` diffuser order).
  - `encrypt(sector, sector_key)` — the exact inverse: XOR, then Diffuser A, then
    Diffuser B.
  - Rotation constants `Ra = {9,0,13,0}`, `Rb = {0,10,0,25}` and the five- /
    three-cycle counts follow the `dislocker` (`diffuser.c`) / `libbde` reference.
  - `#![forbid(unsafe_code)]`, panic-free on any input length (underflow-free
    modular indexing), no `unwrap`/`expect` in production, zero dependencies.
  - Tier-1 validated **in situ** by `bitlocker-core`'s `bdetogo.raw`-vs-`pybde`
    oracle; a `cargo-fuzz` `decrypt`/`encrypt` target enforces "must not panic."