Skip to content

Argon2 on x86-64: prove complete independent-address generation - #494

Closed
reaperhulk wants to merge 1 commit into
argon2-independent-addressesfrom
argon2-address-generation
Closed

reaperhulk wants to merge 1 commit into
argon2-independent-addressesfrom
argon2-address-generation

Conversation

@reaperhulk

Copy link
Copy Markdown
Member

Generate the complete independent-address block used by Argon2i and Argon2id. Clear the input and zero blocks, write the seven public address words, and call the verified G compression twice to produce exactly Spec.Argon2.addressBlock.

Prove the whole operation from arbitrary initial scratch contents, including memory permissions and separation, frames, callee-saved registers, MXCSR preservation, and equal traces for public frame, stack and scratch pointers. Compose short argument/clear/header proofs with the existing verified compression call boundary; no new contracts or trusted assumptions.

Builds on #490. This remains an inline layer for the forthcoming filling loops. No specification, TCB, public API or generated assembly changes.

Validation: targeted Lean builds of the correctness and trace modules, 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