Add ML-DSA rejection acceptance foundation - #1382
Conversation
Signed-off-by: Ben Knill <20302911+BenKnill@users.noreply.github.com>
39b3da1 to
3fc2994
Compare
| let MLDSA_REJ_ACCEPTANCE_BITMAP = define | ||
| `MLDSA_REJ_ACCEPTANCE_BITMAP bound ([]:byte list) = [] /\ | ||
| MLDSA_REJ_ACCEPTANCE_BITMAP bound (CONS (b:byte) t) = | ||
| CONS (val b MOD 16 < bound) | ||
| (CONS (val b DIV 16 < bound) | ||
| (MLDSA_REJ_ACCEPTANCE_BITMAP bound t))`;; |
There was a problem hiding this comment.
The above bitmap definition seems to replicate logic that's already there: In the MLDSA_REJ_UNIFORM_ETA2_SUBROUTINE_CORRECT specification we already unpack the byte input into a list of nibbles of the right length (in that case, for example, it's inlist : 4 word list), so the bitmap in question is just a map applied on that inlist.
My expectation here is that we can largely follow the existing constant-time specification, but that instead of passing inlist to the event-generating function, we just pass the bitmap. Please note also that I believe @jakemas was looking into this issue in particular. You should either consult with him on the respective issue or pick a different one for a first contribution.
hanno-becker
left a comment
There was a problem hiding this comment.
Thank you @BenKnill for your interest and contribution! We don't currently accept contributions from people we don't know. If you are interested in contributing, would you kindly reach out on Discord or via mail to introduce yourself? Thank you!
Summary
./...paths.This materially advances issue #1160, but it does not complete either
*_SUBROUTINE_SAFEresult. The remaining work is to connect the proved public acceptance/event skeleton to the concrete machine-event trace and then discharge the subroutine wrappers.Proof evidence and boundary
1b0bcc7154c98740d8e09a048d1539f14a942205a43c4d88e153e36701a79384).SIGKILL(signal 9 / exit 137, approximately 5.45 GB resident memory). It produced no proof claim.mldsa_rej_uniform_eta4_body_events.mltheorem is deliberately excluded from this PR.Issue #1160 therefore remains open.
Packaging checks
41c00dac3f3ce4f578f16aee9f9cd25e6bc05add;git diff --checkpassed;.grok*artifacts included;