Skip to content

Argon2 on x86-64: prove segment addressing-mode selection - #499

Closed
reaperhulk wants to merge 1 commit into
argon2-random-sourcefrom
argon2-address-mode
Closed

reaperhulk wants to merge 1 commit into
argon2-random-sourcefrom
argon2-address-mode

Conversation

@reaperhulk

Copy link
Copy Markdown
Member

Compute the public segment addressing mode: Argon2i always uses independent addressing, Argon2id does so for slices zero and one of pass zero, and Argon2d always uses dependent addressing. Return a zero/one word in r10 for the source dispatcher.

Prove the result equals Spec.Argon2.independent, along with register, memory, permission and MXCSR preservation and a fixed trace for the public frame pointer. Compose short mask proofs and a checked literal; reuse the reviewed variant codes and normalized pass/slice words.

Builds on #498. Inline mode-selection layer only; no specification, TCB, public API or generated assembly changes.

Validation: targeted Lean correctness/trace 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