Skip to content

Conversation

@aqjune-aws
Copy link
Collaborator

This patch adds the safety properties of x86 mlkem_reduce for 4 variants: whether it has IBT or not, and whether it has Windows ABI or not.

This also has a lot of changes that affect safety proofs other than x86 mlkem_reduce:

  • The name of PROVE_SAFETY_SPEC is changed to PROVE_SAFETY_SPEC_TAC
  • The theorem for weakly_valid_component of bytes256 was wrong; I fixed it.
  • The mk_safety_spec takes an extra argument for keeping the MAYCHANGE part of ensures. This is needed if the spec is going to be used for compositional reasoning.

Issue #, if available:

Description of changes:

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@aqjune-aws aqjune-aws force-pushed the consttime-x86-fnstack branch 2 times, most recently from 44349f5 to b31bb02 Compare December 6, 2025 00:22
…indows)

This patch adds the safety properties of x86 mlkem_reduce for 4 variants: whether it has IBT or not, and whether it has Windows ABI or not.

This also has a lot of changes that affect safety proofs other than x86 mlkem_reduce:

- The name of PROVE_SAFETY_SPEC is changed to PROVE_SAFETY_SPEC_TAC
- The theorem for weakly_valid_component of bytes256 was wrong; I fixed it.
- The `mk_safety_spec` takes an extra argument for keeping the MAYCHANGE part of ensures. This is needed if the spec is going to be used for compositional reasoning.
@aqjune-aws aqjune-aws force-pushed the consttime-x86-fnstack branch from b31bb02 to 2a0240c Compare December 6, 2025 04:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant