feat(crypto): add Orchard primitives and compact AES tables - #1
Closed
BitHighlander wants to merge 8 commits into
Closed
feat(crypto): add Orchard primitives and compact AES tables#1BitHighlander wants to merge 8 commits into
BitHighlander wants to merge 8 commits into
Conversation
Add Zcash Orchard cryptographic primitives: - pallas.c/h: Pallas curve arithmetic (field ops, scalar ops, point mult) - redpallas.c/h: RedPallas spend authorization signing (ZIP-244) Required for Zcash Orchard shielded transaction signing on KeepKey.
…M-constrained builds The five Gladman AES lookup tables (t_fn, t_fl, t_in, t_il, t_im) are 4096 bytes each in the default FOUR_TABLES mode — 20,480 bytes of flash. Defining AES_SMALL_TABLES at compile time selects the library's existing ONE_TABLE mode for every round function instead, shrinking each table to 1024 bytes and reclaiming 15,360 bytes of ROM for a modest per-round cycle cost. Default behavior is unchanged: without the define, FOUR_TABLES is selected exactly as before, so existing builds are byte-identical. Motivation: the keepkey-firmware KK_ZCASH_PRIVACY variant (full coin set plus the Orchard shielded engine) overflowed its 640KB ROM region by 2,400 bytes once 7.15 clear-signing landed; the variant had only 1,520 bytes of headroom to begin with.
13 tasks
Owner
Author
|
Opened against the personal fork in error while formalizing the RC18 dependency pin. The firmware submodule points to the canonical KeepKey organization repository, and the review lane is now keepkey#4. Closing this duplicate without merging. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Makes the trezor-crypto dependency used by KeepKey firmware 7.15.0 RC18 independently reviewable instead of pinning an otherwise untracked fork branch.
The RC18 firmware candidate pins this branch at
56f404e452bc7738cd3b3e14454dfecb25c083bf.Contents
AES_SMALL_TABLESsupport for ROM-constrained firmware buildsWithout
AES_SMALL_TABLES, the existing four-table AES behavior remains unchanged.Validation
Review gates
keepkeybranchDo not merge until the corrected firmware candidate is green and this dependency has human approval.