Skip to content

chore: erase ephemeral secrets from memory in schnorr and aes#21106

Merged
kashbrti merged 15 commits into
merge-train/barretenbergfrom
kb/erase_secrets
Mar 5, 2026
Merged

chore: erase ephemeral secrets from memory in schnorr and aes#21106
kashbrti merged 15 commits into
merge-train/barretenbergfrom
kb/erase_secrets

Conversation

@kashbrti

@kashbrti kashbrti commented Mar 4, 2026

Copy link
Copy Markdown
Contributor

similar to how it's done in hmac, we should make sure we remove secret randomness that are no longer from memory.
resolves: AztecProtocol/barretenberg#895

iakovenkos and others added 11 commits February 2, 2026 21:37
added md explaining the flow + a bit of renaming
Primary changes:
- Replace methods of the form `get_*_gate_connected_component` with
`GatePattern` structs that specify the conditions under which each wire
is constrained for each gate type
- Test correctness of `GatePattern`'s by perturbing relation inputs to
empirically check which wires are constrained (`gate_patterns.test.cpp`)
- Resolves a few bugs/errors identified by the aforementioned tests (see
PR comments)
- Use `update_used_witnesses` in `fix_witness` to avoid need for ad-hoc
handling in the tooling

Cleanup:
- Replace use of `block_idx` with reference to `block` in several places
for improved clarity

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
@kashbrti kashbrti changed the title Kb/erase secrets chore: erase ephemeral secrets from memory in schnorr and aes Mar 4, 2026
@kashbrti kashbrti requested a review from ledwards2225 March 4, 2026 13:36

@ledwards2225 ledwards2225 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ledwards2225 ledwards2225 marked this pull request as ready for review March 4, 2026 18:27
@ledwards2225 ledwards2225 added the ci-full Run all master checks. label Mar 4, 2026
@kashbrti kashbrti enabled auto-merge (squash) March 5, 2026 11:33
@kashbrti kashbrti merged commit 455177b into merge-train/barretenberg Mar 5, 2026
10 checks passed
@kashbrti kashbrti deleted the kb/erase_secrets branch March 5, 2026 14:51
github-merge-queue Bot pushed a commit that referenced this pull request Mar 6, 2026
BEGIN_COMMIT_OVERRIDE
fix: add -g0 to zig presets to eliminate 11GB debug info bloat (#21071)
fix: resolve flaky p2p_client test race condition on ARM64 (#21088)
chore: remove domain iteration macros and address backing memory race
(#20988)
fix: [ECCVM] added domain separation for the multiset equality check.
(#20352)
feat: hybrid CRS hash verification — 8MB chunks, parallel, span-based
(#21113)
chore: unify splitting scalars interface (#20805)
chore: add a unique id to each origin tag (#20924)
chore: Native curve audit (#20936)
chore: Update bootstrap in test vk haven't changed script (#21153)
fix: use reduced form in WASM FromMontgomeryForm test (#21164)
chore: erase ephemeral secrets from memory in schnorr and aes (#21106)
chore: suppress clangd target triple version diagnostic (#21180)
feat: Optimise new claim calculation (#21179)
docs: add Quick Start build instructions to barretenberg README (#20951)
feat: batched chonk verification (#21083)
fix: link libc++ instead of libstdc++ for Rust FFI on Linux (#21203)
fix: [ECCVM] in the transcript table, no-ops force the next accumulator
to be 0. (#20849)
fix: resolve merge-train conflict with next (zig wrapper scripts + -g0)
(#21201)
fix: [ECCVM] rare edge case completeness issue when `z1 == 0` but `z2 !=
0` (#20858)
fix: use actual data extent for CommitmentKey in HypernovaDeciderProver
(#21206)
END_COMMIT_OVERRIDE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-full Run all master checks.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants