Conversation
3811162 to
1f57321
Compare
CBMC Results (ML-DSA-87)Full Results (176 proofs)
|
CBMC Results (ML-DSA-44)Full Results (176 proofs)
|
CBMC Results (ML-DSA-65)Full Results (176 proofs)
|
2458351 to
8185ec7
Compare
hanno-becker
left a comment
There was a problem hiding this comment.
Looks good, @jakemas, thank you! Can you please to the CBMC spec+proof at the same time? You can express in C that the output is a permutation of the input.
fe524e0 to
44afe49
Compare
Signed-off-by: Jake Massimo <jakemas@amazon.com>
cca5edc to
99ba911
Compare
Thanks! Added CBMC contract. |
| let nttunpack_order = new_definition | ||
| `nttunpack_order i = | ||
| let block = i DIV 64 in | ||
| let pos = i MOD 64 in | ||
| let lane = pos DIV 8 in | ||
| let offset = pos MOD 8 in | ||
| 64 * block + 8 * offset + lane`;; | ||
|
|
||
| let nttunpack_unorder = new_definition | ||
| `nttunpack_unorder i = | ||
| let block = i DIV 64 in | ||
| let pos = i MOD 64 in | ||
| let lane = pos MOD 8 in | ||
| let offset = pos DIV 8 in | ||
| 64 * block + 8 * lane + offset`;; |
There was a problem hiding this comment.
This reordering is the same as used for the specification of the [inv]NTT, or not? It determines how the custom NTT domain differs from the normal bitreversed one.
If I understand that correctly, we should reuse the same definition(s) as for the [inv]NTT proofs.
hanno-becker
left a comment
There was a problem hiding this comment.
As I understand, the permutation here should be the same as for the [inv]NTT, so we should have only one set of HOL definition for those in mlkem_specs.ml.
nttunpack#913