All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.1.0 - 2026-07-14
Added
ExFPEfacade over the FFX family, withnew/2,3,encrypt/3,decrypt/3and raising!variants.- FF1 mode (SP 800-38Gr1 2pd), the default and only NIST-approved mode. Variable-length tweak; verified against the official NIST sample vectors.
- FF3-1 mode (SP 800-38G Rev. 1 first draft), fixed 7-byte tweak. Provided for interoperability only — NIST removed the FF3 family and it is not approved.
- Alphabets: a built-in radix 2–36 alphabet (
0-9a-z, case-insensitive) and custom Unicode alphabets up to radix 65535, plus a symbol-less raw integer mode ({:raw_only, radix}withExFPE.raw_encrypt/4/raw_decrypt/4). use ExFPEfor keeping a context under a supervision tree- Structured
{:error, reason}tuples and an exception hierarchy (ExFPE.ArgumentError,ExFPE.InputError,ExFPE.NotStartedError).