From 94181d58cf66c5b7b263fd435a344f1cd8872cff Mon Sep 17 00:00:00 2001 From: cirakg Date: Sun, 18 Oct 2026 23:44:18 +0200 Subject: docs: record M2 results and bump version to 0.2.0 CHANGELOG 0.2.0; PERFORMANCE (simulator benchmarks and what they mean for the watch); TESTING (vector sources, M2 results, watchdog caveat); FEASIBILITY (verified: no native HMAC-SHA1, AES-256 works, Long semantics); README status and targets; developer-guide Monkey C facts. Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'CHANGELOG.md') diff --git a/CHANGELOG.md b/CHANGELOG.md index acc2c9d..0cee853 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,36 @@ All notable changes to this project are documented here. The format follows ## [Unreleased] +## [0.2.0] - 2026-10-18 + +Milestones M1 (prepared; your phone test pending) and M2: crypto and OTP core. +Nothing user-visible yet; the home screen still shows only name and version. + +### Added + +- Crypto (`source/crypto/`): SHA-512 in Monkey C (FIPS 180-4), generic HMAC + (RFC 2104) for SHA-1/SHA-256/SHA-512 plus native HMAC-SHA256, resumable + PBKDF2-HMAC-SHA256 with calibration, HKDF-SHA256, AES-CBC with PKCS#7 + (AES-256 chosen), SealedBox encrypt-then-MAC records, and a start-up + self-test. +- OTP (`source/otp/`): Base32 decoding with exact error positions, HOTP, TOTP + (64-bit time, correct after 2038) and Steam Guard codes. +- Utilities: constant-time comparison and wiping (`Bytes`), the 2038-safe clock + and trusted-clock check (`Clock`), resumable jobs with a timer runner (`Jobs`). +- `tools/gen_vectors.py` and `make vectors`: official RFC/FIPS/NIST vectors, + each recomputed with Python's standard library or openssl before use, plus + seeded cases (SHA padding boundaries, 2038, 2100, all digit counts). +- 31 Monkey C unit tests and a benchmark, passing on all four test devices. +- M1 settings spike: a separate test app (`spike/settings/`), `make spike`, + `make spike-sim`, test strings and `docs/SETTINGS_SPIKE.md`. + +### Changed + +- Screenshot checks are now strict: at most 0.01 % of pixels may differ (one + changed character used to pass under the old 0.5 % tolerance). +- SHA-512 and PBKDF2 inner loops optimised (37 % and 42 % faster in the + simulator) without changing results. + ## [0.1.0] - 2026-10-18 Milestone M0: scaffolding. Not useful on a watch yet; the app shows only its -- cgit v1.2.3