HOL Light: Prove correctness of AVX2 poly_decompress_d{4,5,10,11}#1543
HOL Light: Prove correctness of AVX2 poly_decompress_d{4,5,10,11}#1543hanno-becker merged 19 commits intomainfrom
poly_decompress_d{4,5,10,11}#1543Conversation
poly_decompress_d11
CBMC Results (ML-KEM-768)Full Results (169 proofs)
|
CBMC Results (ML-KEM-512)Full Results (169 proofs)
|
CBMC Results (ML-KEM-1024)Full Results (169 proofs)
|
There was a problem hiding this comment.
Mac Mini (M1, 2020) benchmarks
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
12328 cycles |
12326 cycles |
1.00 |
ML-KEM-512 encaps |
15031 cycles |
15032 cycles |
1.00 |
ML-KEM-512 decaps |
19610 cycles |
19610 cycles |
1 |
ML-KEM-768 keypair |
21091 cycles |
21091 cycles |
1 |
ML-KEM-768 encaps |
23870 cycles |
23864 cycles |
1.00 |
ML-KEM-768 decaps |
30444 cycles |
30441 cycles |
1.00 |
ML-KEM-1024 keypair |
30376 cycles |
30375 cycles |
1.00 |
ML-KEM-1024 encaps |
34641 cycles |
34643 cycles |
1.00 |
ML-KEM-1024 decaps |
44266 cycles |
44269 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
ppc64le (POWER10) benchmarks
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
59563 cycles |
59601 cycles |
1.00 |
ML-KEM-512 encaps |
72400 cycles |
72269 cycles |
1.00 |
ML-KEM-512 decaps |
92292 cycles |
92043 cycles |
1.00 |
ML-KEM-768 keypair |
99096 cycles |
98222 cycles |
1.01 |
ML-KEM-768 encaps |
115134 cycles |
114587 cycles |
1.00 |
ML-KEM-768 decaps |
140908 cycles |
140493 cycles |
1.00 |
ML-KEM-1024 keypair |
148577 cycles |
150521 cycles |
0.99 |
ML-KEM-1024 encaps |
167329 cycles |
170000 cycles |
0.98 |
ML-KEM-1024 decaps |
198290 cycles |
201569 cycles |
0.98 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Intel Xeon 4th gen (c7i)
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
9637 cycles |
9655 cycles |
1.00 |
ML-KEM-512 encaps |
11477 cycles |
11461 cycles |
1.00 |
ML-KEM-512 decaps |
15397 cycles |
15380 cycles |
1.00 |
ML-KEM-768 keypair |
16385 cycles |
16412 cycles |
1.00 |
ML-KEM-768 encaps |
17859 cycles |
17875 cycles |
1.00 |
ML-KEM-768 decaps |
23553 cycles |
23514 cycles |
1.00 |
ML-KEM-1024 keypair |
22214 cycles |
22320 cycles |
1.00 |
ML-KEM-1024 encaps |
24666 cycles |
24603 cycles |
1.00 |
ML-KEM-1024 decaps |
32174 cycles |
32287 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
AMD EPYC 3rd gen (c6a)
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
16850 cycles |
16892 cycles |
1.00 |
ML-KEM-512 encaps |
18564 cycles |
18612 cycles |
1.00 |
ML-KEM-512 decaps |
23885 cycles |
24010 cycles |
0.99 |
ML-KEM-768 keypair |
28522 cycles |
28467 cycles |
1.00 |
ML-KEM-768 encaps |
29842 cycles |
29791 cycles |
1.00 |
ML-KEM-768 decaps |
37748 cycles |
37640 cycles |
1.00 |
ML-KEM-1024 keypair |
41071 cycles |
41279 cycles |
0.99 |
ML-KEM-1024 encaps |
43340 cycles |
43477 cycles |
1.00 |
ML-KEM-1024 decaps |
53674 cycles |
53973 cycles |
0.99 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Intel Xeon 4th gen (c7i) (no-opt)
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
28448 cycles |
28489 cycles |
1.00 |
ML-KEM-512 encaps |
35802 cycles |
35778 cycles |
1.00 |
ML-KEM-512 decaps |
45412 cycles |
45439 cycles |
1.00 |
ML-KEM-768 keypair |
45970 cycles |
45959 cycles |
1.00 |
ML-KEM-768 encaps |
56290 cycles |
56309 cycles |
1.00 |
ML-KEM-768 decaps |
69460 cycles |
69447 cycles |
1.00 |
ML-KEM-1024 keypair |
71624 cycles |
71608 cycles |
1.00 |
ML-KEM-1024 encaps |
84491 cycles |
84550 cycles |
1.00 |
ML-KEM-1024 decaps |
101600 cycles |
101570 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
AMD EPYC 4th gen (c7a)
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
11730 cycles |
11995 cycles |
0.98 |
ML-KEM-512 encaps |
13450 cycles |
13179 cycles |
1.02 |
ML-KEM-512 decaps |
18363 cycles |
18036 cycles |
1.02 |
ML-KEM-768 keypair |
20527 cycles |
20303 cycles |
1.01 |
ML-KEM-768 encaps |
21536 cycles |
21505 cycles |
1.00 |
ML-KEM-768 decaps |
28652 cycles |
28642 cycles |
1.00 |
ML-KEM-1024 keypair |
28052 cycles |
27797 cycles |
1.01 |
ML-KEM-1024 encaps |
30152 cycles |
29923 cycles |
1.01 |
ML-KEM-1024 decaps |
39449 cycles |
39325 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Intel Xeon 3rd gen (c6i)
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
16292 cycles |
16362 cycles |
1.00 |
ML-KEM-512 encaps |
18510 cycles |
18692 cycles |
0.99 |
ML-KEM-512 decaps |
25005 cycles |
25287 cycles |
0.99 |
ML-KEM-768 keypair |
29269 cycles |
28835 cycles |
1.02 |
ML-KEM-768 encaps |
29746 cycles |
30050 cycles |
0.99 |
ML-KEM-768 decaps |
39257 cycles |
39303 cycles |
1.00 |
ML-KEM-1024 keypair |
37577 cycles |
37694 cycles |
1.00 |
ML-KEM-1024 encaps |
40671 cycles |
40688 cycles |
1.00 |
ML-KEM-1024 decaps |
52833 cycles |
54420 cycles |
0.97 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Arm Cortex-A72 (Raspberry Pi 4) benchmarks
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
51009 cycles |
51107 cycles |
1.00 |
ML-KEM-512 encaps |
59040 cycles |
58880 cycles |
1.00 |
ML-KEM-512 decaps |
74787 cycles |
76137 cycles |
0.98 |
ML-KEM-768 keypair |
86810 cycles |
86183 cycles |
1.01 |
ML-KEM-768 encaps |
95747 cycles |
94505 cycles |
1.01 |
ML-KEM-768 decaps |
118305 cycles |
117235 cycles |
1.01 |
ML-KEM-1024 keypair |
130506 cycles |
130915 cycles |
1.00 |
ML-KEM-1024 encaps |
142328 cycles |
142579 cycles |
1.00 |
ML-KEM-1024 decaps |
173545 cycles |
174605 cycles |
0.99 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Graviton4
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
17686 cycles |
17703 cycles |
1.00 |
ML-KEM-512 encaps |
20697 cycles |
20701 cycles |
1.00 |
ML-KEM-512 decaps |
27110 cycles |
27136 cycles |
1.00 |
ML-KEM-768 keypair |
30019 cycles |
29999 cycles |
1.00 |
ML-KEM-768 encaps |
32857 cycles |
32786 cycles |
1.00 |
ML-KEM-768 decaps |
42078 cycles |
42065 cycles |
1.00 |
ML-KEM-1024 keypair |
43866 cycles |
43916 cycles |
1.00 |
ML-KEM-1024 encaps |
48871 cycles |
48929 cycles |
1.00 |
ML-KEM-1024 decaps |
61524 cycles |
61497 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
AMD EPYC 3rd gen (c6a) (no-opt)
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
40251 cycles |
40432 cycles |
1.00 |
ML-KEM-512 encaps |
48322 cycles |
48281 cycles |
1.00 |
ML-KEM-512 decaps |
62412 cycles |
62397 cycles |
1.00 |
ML-KEM-768 keypair |
63698 cycles |
63581 cycles |
1.00 |
ML-KEM-768 encaps |
75031 cycles |
75186 cycles |
1.00 |
ML-KEM-768 decaps |
93404 cycles |
93134 cycles |
1.00 |
ML-KEM-1024 keypair |
95699 cycles |
94912 cycles |
1.01 |
ML-KEM-1024 encaps |
109738 cycles |
109125 cycles |
1.01 |
ML-KEM-1024 decaps |
132681 cycles |
131848 cycles |
1.01 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
AMD EPYC 4th gen (c7a) (no-opt)
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
36508 cycles |
36488 cycles |
1.00 |
ML-KEM-512 encaps |
42989 cycles |
42975 cycles |
1.00 |
ML-KEM-512 decaps |
55669 cycles |
55626 cycles |
1.00 |
ML-KEM-768 keypair |
58439 cycles |
58432 cycles |
1.00 |
ML-KEM-768 encaps |
67381 cycles |
67478 cycles |
1.00 |
ML-KEM-768 decaps |
84353 cycles |
84349 cycles |
1.00 |
ML-KEM-1024 keypair |
88604 cycles |
88593 cycles |
1.00 |
ML-KEM-1024 encaps |
98930 cycles |
98928 cycles |
1.00 |
ML-KEM-1024 decaps |
120517 cycles |
120398 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Graviton3
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
18741 cycles |
18765 cycles |
1.00 |
ML-KEM-512 encaps |
22031 cycles |
22038 cycles |
1.00 |
ML-KEM-512 decaps |
29006 cycles |
29046 cycles |
1.00 |
ML-KEM-768 keypair |
31806 cycles |
31797 cycles |
1.00 |
ML-KEM-768 encaps |
35010 cycles |
34950 cycles |
1.00 |
ML-KEM-768 decaps |
45036 cycles |
45043 cycles |
1.00 |
ML-KEM-1024 keypair |
46346 cycles |
46353 cycles |
1.00 |
ML-KEM-1024 encaps |
51695 cycles |
51755 cycles |
1.00 |
ML-KEM-1024 decaps |
65260 cycles |
65265 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Intel Xeon 3rd gen (c6i) (no-opt)
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
45805 cycles |
45858 cycles |
1.00 |
ML-KEM-512 encaps |
54750 cycles |
54826 cycles |
1.00 |
ML-KEM-512 decaps |
70291 cycles |
70350 cycles |
1.00 |
ML-KEM-768 keypair |
73835 cycles |
73878 cycles |
1.00 |
ML-KEM-768 encaps |
85212 cycles |
85411 cycles |
1.00 |
ML-KEM-768 decaps |
106292 cycles |
106322 cycles |
1.00 |
ML-KEM-1024 keypair |
111746 cycles |
111833 cycles |
1.00 |
ML-KEM-1024 encaps |
125932 cycles |
125999 cycles |
1.00 |
ML-KEM-1024 decaps |
151756 cycles |
151810 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Graviton4 (no-opt)
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
35487 cycles |
35503 cycles |
1.00 |
ML-KEM-512 encaps |
40236 cycles |
40236 cycles |
1 |
ML-KEM-512 decaps |
51240 cycles |
51242 cycles |
1.00 |
ML-KEM-768 keypair |
56780 cycles |
56811 cycles |
1.00 |
ML-KEM-768 encaps |
64651 cycles |
64717 cycles |
1.00 |
ML-KEM-768 decaps |
78978 cycles |
79032 cycles |
1.00 |
ML-KEM-1024 keypair |
88040 cycles |
88026 cycles |
1.00 |
ML-KEM-1024 encaps |
97182 cycles |
97179 cycles |
1.00 |
ML-KEM-1024 decaps |
116090 cycles |
116093 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
SpacemiT K1 8 (Banana Pi F3) benchmarks
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
155097 cycles |
155137 cycles |
1.00 |
ML-KEM-512 encaps |
163256 cycles |
163334 cycles |
1.00 |
ML-KEM-512 decaps |
206454 cycles |
206576 cycles |
1.00 |
ML-KEM-768 keypair |
249487 cycles |
249554 cycles |
1.00 |
ML-KEM-768 encaps |
270228 cycles |
270312 cycles |
1.00 |
ML-KEM-768 decaps |
332042 cycles |
332138 cycles |
1.00 |
ML-KEM-1024 keypair |
395121 cycles |
395117 cycles |
1.00 |
ML-KEM-1024 encaps |
422154 cycles |
423801 cycles |
1.00 |
ML-KEM-1024 decaps |
506827 cycles |
505575 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Graviton2
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
28338 cycles |
28315 cycles |
1.00 |
ML-KEM-512 encaps |
34249 cycles |
34298 cycles |
1.00 |
ML-KEM-512 decaps |
44488 cycles |
44533 cycles |
1.00 |
ML-KEM-768 keypair |
47890 cycles |
47843 cycles |
1.00 |
ML-KEM-768 encaps |
54222 cycles |
54176 cycles |
1.00 |
ML-KEM-768 decaps |
68733 cycles |
68665 cycles |
1.00 |
ML-KEM-1024 keypair |
70489 cycles |
70571 cycles |
1.00 |
ML-KEM-1024 encaps |
78996 cycles |
79163 cycles |
1.00 |
ML-KEM-1024 decaps |
98759 cycles |
98878 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Graviton3 (no-opt)
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
39033 cycles |
39061 cycles |
1.00 |
ML-KEM-512 encaps |
44635 cycles |
44643 cycles |
1.00 |
ML-KEM-512 decaps |
56731 cycles |
56721 cycles |
1.00 |
ML-KEM-768 keypair |
62391 cycles |
62438 cycles |
1.00 |
ML-KEM-768 encaps |
70933 cycles |
70938 cycles |
1.00 |
ML-KEM-768 decaps |
86871 cycles |
86876 cycles |
1.00 |
ML-KEM-1024 keypair |
96267 cycles |
96262 cycles |
1.00 |
ML-KEM-1024 encaps |
106332 cycles |
106323 cycles |
1.00 |
ML-KEM-1024 decaps |
126780 cycles |
126791 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Arm Cortex-A76 (Raspberry Pi 5) benchmarks
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
28330 cycles |
28401 cycles |
1.00 |
ML-KEM-512 encaps |
34303 cycles |
34333 cycles |
1.00 |
ML-KEM-512 decaps |
44527 cycles |
44596 cycles |
1.00 |
ML-KEM-768 keypair |
47855 cycles |
47798 cycles |
1.00 |
ML-KEM-768 encaps |
54128 cycles |
54106 cycles |
1.00 |
ML-KEM-768 decaps |
68680 cycles |
68613 cycles |
1.00 |
ML-KEM-1024 keypair |
70561 cycles |
70519 cycles |
1.00 |
ML-KEM-1024 encaps |
79121 cycles |
79084 cycles |
1.00 |
ML-KEM-1024 decaps |
98819 cycles |
98772 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Graviton2 (no-opt)
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
59195 cycles |
59161 cycles |
1.00 |
ML-KEM-512 encaps |
68697 cycles |
68645 cycles |
1.00 |
ML-KEM-512 decaps |
87493 cycles |
87401 cycles |
1.00 |
ML-KEM-768 keypair |
95500 cycles |
95753 cycles |
1.00 |
ML-KEM-768 encaps |
109173 cycles |
109549 cycles |
1.00 |
ML-KEM-768 decaps |
134016 cycles |
134449 cycles |
1.00 |
ML-KEM-1024 keypair |
148464 cycles |
147712 cycles |
1.01 |
ML-KEM-1024 encaps |
164469 cycles |
163618 cycles |
1.01 |
ML-KEM-1024 decaps |
195768 cycles |
194696 cycles |
1.01 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Arm Cortex-A55 (Snapdragon 888) benchmarks
Details
| Benchmark suite | Current: 09de6a8 | Previous: 0f1eef1 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
59487 cycles |
59475 cycles |
1.00 |
ML-KEM-512 encaps |
67159 cycles |
67256 cycles |
1.00 |
ML-KEM-512 decaps |
85749 cycles |
85777 cycles |
1.00 |
ML-KEM-768 keypair |
97027 cycles |
96990 cycles |
1.00 |
ML-KEM-768 encaps |
110384 cycles |
110495 cycles |
1.00 |
ML-KEM-768 decaps |
137459 cycles |
137617 cycles |
1.00 |
ML-KEM-1024 keypair |
154203 cycles |
154227 cycles |
1.00 |
ML-KEM-1024 encaps |
171921 cycles |
170446 cycles |
1.01 |
ML-KEM-1024 decaps |
208359 cycles |
207852 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
3392df6 to
c873e3f
Compare
poly_decompress_d11poly_compress_d{4,5,10,11}
poly_compress_d{4,5,10,11}poly_decompress_d{4,5,10,11}
c873e3f to
e5c4c29
Compare
Add HOL Light assembly, bytecode, constants, and proof skeleton for poly_decompress_d4_avx2. Update autogen, Makefile, and dump_bytecode accordingly. Proof itself is left a TODO. Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
Cherry-picked from #1499. Autogen is adjusted to generate the required constants in compress_consts.c. Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
Add HOL Light assembly, bytecode, constants, and proof skeleton for poly_decompress_d5_avx2. Update autogen, Makefile, and dump_bytecode accordingly. Switch to s2n-bignum fork adding support for vpinsrw, see https://github.com/mkannwischer/s2n-bignum/tree/3ab626a8d78ff6e1cbdee5efaa030b09af847a7c Proof itself is left a TODO. Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
Signed-off-by: Hanno Becker <beckphan@amazon.co.uk>
Signed-off-by: Hanno Becker <beckphan@amazon.co.uk>
Cherry-picked from #1499. Autogen is adjusted to generate the required constants in compress_consts.c. Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
Add HOL Light assembly, bytecode, constants, and proof skeleton for poly_decompress_d10_avx2. Update autogen, Makefile, and dump_bytecode accordingly. Switch to s2n-bignum fork adding support for vpsllvd, see https://github.com/mkannwischer/s2n-bignum/tree/9b0153c7b6fb7320942967f56e14fb5a7333a0b3 Proof itself is left a TODO. Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
Signed-off-by: Hanno Becker <beckphan@amazon.co.uk>
Cherry-picked from #1499. Autogen is adjusted to generate the required constants in compress_consts.c. Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
Add HOL Light assembly, bytecode, constants, and proof skeleton for poly_decompress_d11_avx2. Update autogen, Makefile, and dump_bytecode accordingly. Switch to s2n-bignum fork adding support for vpsrlvd and vpsrlvq, see https://github.com/mkannwischer/s2n-bignum/tree/13cb1dd13989db8b94a98e74cba26dda2a71d7de Proof itself is left a TODO. Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
Signed-off-by: Hanno Becker <beckphan@amazon.co.uk>
Signed-off-by: Hanno Becker <beckphan@amazon.co.uk>
Previously, we only had CBMC proofs for the K-dependent
poly_decompress_du and poly_decompress_du, not the underlying
poly_decompress_d{4,5,10,11}_c functions.
This commit adds CBMC proofs for ...
- ... poly_decompress_d{4,5,10,11}_c
- ... poly_decompress_d{4,5,10,11}
- ... poly_decompress_d{4,5,10,11}_native
- ... AVX2 backend implementations of poly_decompress_d{4,5,10,11}.
Signed-off-by: Hanno Becker <beckphan@amazon.co.uk>
Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
Add NOIBT_SUBROUTINE_SAFE and SUBROUTINE_SAFE proofs for all four decompression functions. Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
0d01d4e to
2095ebd
Compare
hanno-becker
left a comment
There was a problem hiding this comment.
I have reviewed the last 5 commits and LGTM. Thank you @mkannwischer.
It is difficult with the plethora of changes regarding the CT proofs to oversee whether we're fully consistent in the way the different variants are specified. I suggest that we do another review pass once all CT proofs are done.
Add functional correctness proofs for polyz_unpack_17 and polyz_unpack_19. Closely following the decompress proofs from mlkem-native: pq-code-package/mlkem-native#1543 Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
Add functional correctness proofs for polyz_unpack_17 and polyz_unpack_19. Closely following the decompress proofs from mlkem-native: pq-code-package/mlkem-native#1543 Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
Add functional correctness proofs for polyz_unpack_17 and polyz_unpack_19. Closely following the decompress proofs from mlkem-native: pq-code-package/mlkem-native#1543 Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
Add functional correctness proofs for polyz_unpack_17 and polyz_unpack_19. Closely following the decompress proofs from mlkem-native: pq-code-package/mlkem-native#1543 Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
Add functional correctness proofs for polyz_unpack_17 and polyz_unpack_19. Closely following the decompress proofs from mlkem-native: pq-code-package/mlkem-native#1543 Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
No description provided.