Argon2 on x86-64: prove complete active-cell filling step - #496
Closed
reaperhulk wants to merge 1 commit into
Closed
reaperhulk wants to merge 1 commit into
reaperhulk wants to merge 1 commit into
Conversation
Member
|
why are there 900 PRs for different parts of teh argon2 proof... there should be a single PR, per platform, adding the ASM and proofs required for it, not this fucking trash. |
Member
Author
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.
Compose the active-cell filling step on x86-64: reload the lane count, map the secret random word to the reviewed reference coordinates, reload the matrix base, compute current/previous/reference pointers, and run the verified compression and first/later-pass update.
Prove the complete step's result, memory frame, callee-saved registers, permissions and MXCSR from one matrix allocation invariant. Every matrix cell's bounds and separation follow from the parameter/position bounds. Prove equal traces when public layout and position agree and the permitted reference coordinates agree, without requiring equal random words. Factor the predecessor word arithmetic so both pointer proofs reuse it.
Builds on #495. This inline layer is ready for the matrix-state and nested-loop composition. No specification, TCB, public API or generated assembly changes.
Validation: targeted Lean correctness/trace builds, standard-axiom and compiler-override audits, specification-origin audit, Lean import/proof-speed checks, and
git diff --check. Full checks run in CI.