diff options
Diffstat (limited to 'docs/PERFORMANCE.md')
| -rw-r--r-- | docs/PERFORMANCE.md | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/docs/PERFORMANCE.md b/docs/PERFORMANCE.md index 0433457..d261125 100644 --- a/docs/PERFORMANCE.md +++ b/docs/PERFORMANCE.md @@ -44,6 +44,22 @@ Other timings reported from the same session: settings saved on the phone reach What this means: unlocking stays at about 1 s because 2,000 iterations is also the minimum the app accepts. An attacker who copies the watch's storage still has to run those 2,000 iterations per guess, but on a PC that is microseconds, so the PIN protects mainly against someone holding the watch (lockout and the optional erase after 10 wrong PINs), not against an offline attack on a copied file system (docs/SECURITY.md). +### Review of 0.9.0, 2026-10-26 (unreleased) + +`make watchdog` on the Forerunner 70 (240,000 bytecodes per event), two steps of work per event: + +| Case | 0.9.0 | Now | +| --- | --- | --- | +| After the PIN: 16 waiting "Require PIN" | trips even at one pass | passes, 70 steps | +| After the PIN: 134 pending entries and 16 "Require PIN" | trips | passes, 159 steps | +| Counting the queue with a 1 KB replacement waiting (list title) | trips at two passes | passes (no decryption) | +| Reading 16 changes with the longest names ("Phone changes") | trips at two passes | passes, as a job behind "Reading…" | +| Replacing a code with 4 KB of contents, queued / direct | not tested | passes, 735 / 727 steps | +| A 4 KB replacement queued by 0.9.0, read, kept at the PIN and confirmed | not tested | passes, 757 steps | +| A 1,024-character secret replacement / 4,096 spaces as code contents | not tested | passes, 10 / 12 steps | + +Not covered yet: opening a 4 KB code (`toUtf8` in one event, about 100,000 bytecodes) and the Add OTP form's secret decoding without a length limit; both are near the Forerunner 255S's limit, not the 70's. + ### M8, 2026-10-21 (polish and release candidate, version 0.8.0) - **Memory, Forerunner 255S (512 KB):** |
