Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Meta: Improve Specs and Reduce Annotations for ML-DSA Proofs #777

Open
6 tasks
karthikbhargavan opened this issue Jan 30, 2025 · 0 comments
Open
6 tasks

Comments

@karthikbhargavan
Copy link
Contributor

karthikbhargavan commented Jan 30, 2025

While the first goal for ML-DSA verification is to get robust proofs in place, we would like to investigate and implement improvements in the style and follow them as we go forward. This issue collects such improvements, which can then be broken into separate sub-issues.

  • Use &mut inputs rather than returning tuples in inner encoding functions
    • evaluate verification performance and document if doing this change would hurt perf
  • Write serialization annotations (pre-/post-conditions, invariants) in Rust (not in F*)
    • Reflect bit-vector functions in Rust to make writing annotations in Rust possible
  • Unroll loops in hax or in F*
    • Remove calc proofs to get more automation
  • Investigate the use of SMT for these proofs
    • Are we already getting enough automation from F*->SMT?
  • Use ghost state #783
  • Mutable arrays cannot change length, but we still need preconditions saying that the length did not change. Fix.
@karthikbhargavan karthikbhargavan changed the title Meta: Improve Specs and Reduce Annotations for ML-DSA Serialization Proofs Meta: Improve Specs and Reduce Annotations for ML-DSA Proofs Jan 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants