Skip to content

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

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

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

Conversation

@kashbrti
Copy link
Contributor

@kashbrti kashbrti commented Mar 4, 2026

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
Copy link
Contributor

@ledwards2225 ledwards2225 left a comment

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