Skip to content

[rehearsal 3] Device robustness: BIP-85, BIP-39 recovery validation, fault-injection hardening#296

Open
BitHighlander wants to merge 10 commits into
pr/rehearsal-2from
pr/rehearsal-3
Open

[rehearsal 3] Device robustness: BIP-85, BIP-39 recovery validation, fault-injection hardening#296
BitHighlander wants to merge 10 commits into
pr/rehearsal-2from
pr/rehearsal-3

Conversation

@BitHighlander

Copy link
Copy Markdown
Owner

Dress-rehearsal PR 3/5 (stacks on #295). Independent robustness features. Local kkemu + firmware-unit green.

(cherry picked from commit 431969d)
1. Per-word rejection: invalid BIP-39 words rejected immediately during
   cipher entry with "Word not found in BIP39 wordlist" + OLED warning
2. Condition flip: !enforce_wordlist -> enforce_wordlist at finalization
3. Previous word display: shows "(N.word)" during cipher entry
4. layout_cipher: added prev_word_info parameter

C31 test should now PASS with OLED screenshot.

(cherry picked from commit da3a62d)
(cherry picked from commit a66e744)
Derive child mnemonics per BIP-85 spec and display them on the
device screen. Mnemonic is NEVER sent over USB — display only,
with explicit user confirmation before showing.

Supports 12/18/24 word outputs with configurable BIP-39 app index.
All sensitive buffers are zeroed on every exit path.

(cherry picked from commit aecdc1d)
(cherry picked from commit 03534e2)
…nstVariablePointer)

Zero-warning policy: cppcheck flagged fsm_msg_bip85.h:65 tok as
declarable pointer-to-const. Read-only use; no codegen change.

(cherry picked from commit bc5f147)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant