Skip to content

Argon2 on x86-64: prove dependent random-word selection - #498

Closed
reaperhulk wants to merge 1 commit into
argon2-fill-matrixfrom
argon2-random-source
Closed

reaperhulk wants to merge 1 commit into
argon2-fill-matrixfrom
argon2-random-source

Conversation

@reaperhulk

Copy link
Copy Markdown
Member

Read the cyclic previous cell's first word for Argon2d and the data-dependent phase of Argon2id. Compute its address from the public loop position and matrix base, then return the secret word in rdi for the filling step.

Prove exact agreement with the random word selected by the reviewed filling spec, read permissions and matrix bounds, unchanged memory/permissions/MXCSR, retained loop/allocation invariants, and equal traces for public layout and positions without requiring equal cell contents. Add a checked pointer literal and reuse the existing column and block-address proofs.

Builds on #497. Inline source layer only; no specification, TCB, public API or generated assembly changes. Combining the independent and dependent sources follows.

Validation: targeted Lean correctness/trace/state builds and checked literal, standard-axiom and compiler-override audits, specification-origin audit, Lean import/proof-speed checks, and git diff --check. Full checks run in CI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant