-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #493 from pq-code-package/cbmc-sym
CBMC: Prove `mlkem_shake256_prf` and `mlkem_shake256_rkprf`
- Loading branch information
Showing
8 changed files
with
207 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
include ../Makefile_params.common | ||
|
||
HARNESS_ENTRY = harness | ||
HARNESS_FILE = mlkem_shake256_prf_harness | ||
|
||
# This should be a unique identifier for this proof, and will appear on the | ||
# Litani dashboard. It can be human-readable and contain spaces if you wish. | ||
PROOF_UID = mlkem_shake256_prf | ||
|
||
DEFINES += | ||
INCLUDES += | ||
|
||
REMOVE_FUNCTION_BODY += | ||
UNWINDSET += | ||
|
||
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c | ||
PROJECT_SOURCES += $(SRCDIR)/mlkem/symmetric-shake.c | ||
|
||
CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)mlkem_shake256_prf | ||
USE_FUNCTION_CONTRACTS=$(FIPS202_NAMESPACE)shake256 | ||
APPLY_LOOP_CONTRACTS=on | ||
USE_DYNAMIC_FRAMES=1 | ||
|
||
# Disable any setting of EXTERNAL_SAT_SOLVER, and choose SMT backend instead | ||
EXTERNAL_SAT_SOLVER= | ||
CBMCFLAGS=--bitwuzla | ||
|
||
FUNCTION_NAME = $(MLKEM_NAMESPACE)mlkem_shake256_prf | ||
|
||
# If this proof is found to consume huge amounts of RAM, you can set the | ||
# EXPENSIVE variable. With new enough versions of the proof tools, this will | ||
# restrict the number of EXPENSIVE CBMC jobs running at once. See the | ||
# documentation in Makefile.common under the "Job Pools" heading for details. | ||
# EXPENSIVE = true | ||
|
||
# This function is large enough to need... | ||
CBMC_OBJECT_BITS = 8 | ||
|
||
# If you require access to a file-local ("static") function or object to conduct | ||
# your proof, set the following (and do not include the original source file | ||
# ("mlkem/poly.c") in PROJECT_SOURCES). | ||
# REWRITTEN_SOURCES = $(PROOFDIR)/<__SOURCE_FILE_BASENAME__>.i | ||
# include ../Makefile.common | ||
# $(PROOFDIR)/<__SOURCE_FILE_BASENAME__>.i_SOURCE = $(SRCDIR)/mlkem/poly.c | ||
# $(PROOFDIR)/<__SOURCE_FILE_BASENAME__>.i_FUNCTIONS = foo bar | ||
# $(PROOFDIR)/<__SOURCE_FILE_BASENAME__>.i_OBJECTS = baz | ||
# Care is required with variables on the left-hand side: REWRITTEN_SOURCES must | ||
# be set before including Makefile.common, but any use of variables on the | ||
# left-hand side requires those variables to be defined. Hence, _SOURCE, | ||
# _FUNCTIONS, _OBJECTS is set after including Makefile.common. | ||
|
||
include ../Makefile.common |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
# This file marks this directory as containing a CBMC proof. |
29 changes: 29 additions & 0 deletions
29
cbmc/proofs/mlkem_shake256_prf/mlkem_shake256_prf_harness.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
// Copyright (c) 2024 The mlkem-native project authors | ||
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. | ||
// SPDX-License-Identifier: MIT-0 | ||
|
||
/* | ||
* Insert copyright notice | ||
*/ | ||
|
||
|
||
/* | ||
* Insert project header files that | ||
* - include the declaration of the function | ||
* - include the types needed to declare function arguments | ||
*/ | ||
#include <stdint.h> | ||
#include "symmetric.h" | ||
|
||
/** | ||
* @brief Starting point for formal analysis | ||
* | ||
*/ | ||
void harness(void) | ||
{ | ||
uint8_t *out; | ||
size_t outlen; | ||
uint8_t *key; | ||
uint8_t nonce; | ||
mlkem_shake256_prf(out, outlen, key, nonce); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
include ../Makefile_params.common | ||
|
||
HARNESS_ENTRY = harness | ||
HARNESS_FILE = mlkem_shake256_rkprf_harness | ||
|
||
# This should be a unique identifier for this proof, and will appear on the | ||
# Litani dashboard. It can be human-readable and contain spaces if you wish. | ||
PROOF_UID = mlkem_shake256_rkprf | ||
|
||
DEFINES += | ||
INCLUDES += | ||
|
||
REMOVE_FUNCTION_BODY += | ||
UNWINDSET += | ||
|
||
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c | ||
PROJECT_SOURCES += $(SRCDIR)/mlkem/symmetric-shake.c $(SRCDIR)/fips202/fips202.c | ||
|
||
CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)mlkem_shake256_rkprf | ||
USE_FUNCTION_CONTRACTS=$(FIPS202_NAMESPACE)shake256_inc_absorb $(FIPS202_NAMESPACE)shake256_inc_finalize $(FIPS202_NAMESPACE)shake256_inc_squeeze $(FIPS202_NAMESPACE)shake256_inc_init | ||
APPLY_LOOP_CONTRACTS=on | ||
USE_DYNAMIC_FRAMES=1 | ||
|
||
# Disable any setting of EXTERNAL_SAT_SOLVER, and choose SMT backend instead | ||
EXTERNAL_SAT_SOLVER= | ||
CBMCFLAGS=--bitwuzla | ||
|
||
FUNCTION_NAME = $(MLKEM_NAMESPACE)mlkem_shake256_rkprf | ||
|
||
# If this proof is found to consume huge amounts of RAM, you can set the | ||
# EXPENSIVE variable. With new enough versions of the proof tools, this will | ||
# restrict the number of EXPENSIVE CBMC jobs running at once. See the | ||
# documentation in Makefile.common under the "Job Pools" heading for details. | ||
# EXPENSIVE = true | ||
|
||
# This function is large enough to need... | ||
CBMC_OBJECT_BITS = 8 | ||
|
||
# If you require access to a file-local ("static") function or object to conduct | ||
# your proof, set the following (and do not include the original source file | ||
# ("mlkem/poly.c") in PROJECT_SOURCES). | ||
# REWRITTEN_SOURCES = $(PROOFDIR)/<__SOURCE_FILE_BASENAME__>.i | ||
# include ../Makefile.common | ||
# $(PROOFDIR)/<__SOURCE_FILE_BASENAME__>.i_SOURCE = $(SRCDIR)/mlkem/poly.c | ||
# $(PROOFDIR)/<__SOURCE_FILE_BASENAME__>.i_FUNCTIONS = foo bar | ||
# $(PROOFDIR)/<__SOURCE_FILE_BASENAME__>.i_OBJECTS = baz | ||
# Care is required with variables on the left-hand side: REWRITTEN_SOURCES must | ||
# be set before including Makefile.common, but any use of variables on the | ||
# left-hand side requires those variables to be defined. Hence, _SOURCE, | ||
# _FUNCTIONS, _OBJECTS is set after including Makefile.common. | ||
|
||
include ../Makefile.common |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
# This file marks this directory as containing a CBMC proof. |
28 changes: 28 additions & 0 deletions
28
cbmc/proofs/mlkem_shake256_rkprf/mlkem_shake256_rkprf_harness.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
// Copyright (c) 2024 The mlkem-native project authors | ||
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. | ||
// SPDX-License-Identifier: MIT-0 | ||
|
||
/* | ||
* Insert copyright notice | ||
*/ | ||
|
||
|
||
/* | ||
* Insert project header files that | ||
* - include the declaration of the function | ||
* - include the types needed to declare function arguments | ||
*/ | ||
#include <stdint.h> | ||
#include "symmetric.h" | ||
|
||
/** | ||
* @brief Starting point for formal analysis | ||
* | ||
*/ | ||
void harness(void) | ||
{ | ||
uint8_t *out; | ||
uint8_t *key; | ||
uint8_t *input; | ||
mlkem_shake256_rkprf(out, key, input); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
f875b7f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Arm Cortex-A76 (Raspberry Pi 5) benchmarks
ML-KEM-512 keypair
29176
cycles29175
cycles1.00
ML-KEM-512 encaps
35851
cycles35851
cycles1
ML-KEM-512 decaps
46652
cycles46654
cycles1.00
ML-KEM-768 keypair
49175
cycles49175
cycles1
ML-KEM-768 encaps
55841
cycles55842
cycles1.00
ML-KEM-768 decaps
71007
cycles71008
cycles1.00
ML-KEM-1024 keypair
72212
cycles72213
cycles1.00
ML-KEM-1024 encaps
81519
cycles81522
cycles1.00
ML-KEM-1024 decaps
102034
cycles102032
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
f875b7f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Intel Xeon 4th gen (c7i)
ML-KEM-512 keypair
13888
cycles13826
cycles1.00
ML-KEM-512 encaps
18214
cycles18206
cycles1.00
ML-KEM-512 decaps
24098
cycles24136
cycles1.00
ML-KEM-768 keypair
22457
cycles22449
cycles1.00
ML-KEM-768 encaps
24537
cycles24530
cycles1.00
ML-KEM-768 decaps
32556
cycles32562
cycles1.00
ML-KEM-1024 keypair
32065
cycles32068
cycles1.00
ML-KEM-1024 encaps
35693
cycles35768
cycles1.00
ML-KEM-1024 decaps
47173
cycles47196
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
f875b7f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Intel Xeon 3rd gen (c6i)
ML-KEM-512 keypair
20323
cycles20333
cycles1.00
ML-KEM-512 encaps
27096
cycles27122
cycles1.00
ML-KEM-512 decaps
36212
cycles36246
cycles1.00
ML-KEM-768 keypair
34888
cycles34874
cycles1.00
ML-KEM-768 encaps
38241
cycles38228
cycles1.00
ML-KEM-768 decaps
51401
cycles51442
cycles1.00
ML-KEM-1024 keypair
47930
cycles48095
cycles1.00
ML-KEM-1024 encaps
54126
cycles54307
cycles1.00
ML-KEM-1024 decaps
72068
cycles72272
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
f875b7f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AMD EPYC 3rd gen (c6a)
ML-KEM-512 keypair
18109
cycles18105
cycles1.00
ML-KEM-512 encaps
23084
cycles23049
cycles1.00
ML-KEM-512 decaps
30397
cycles30365
cycles1.00
ML-KEM-768 keypair
31016
cycles31040
cycles1.00
ML-KEM-768 encaps
33970
cycles33992
cycles1.00
ML-KEM-768 decaps
44785
cycles44795
cycles1.00
ML-KEM-1024 keypair
44515
cycles44475
cycles1.00
ML-KEM-1024 encaps
50033
cycles49934
cycles1.00
ML-KEM-1024 decaps
64316
cycles64410
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
f875b7f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Intel Xeon 4th gen (c7i) (no-opt)
ML-KEM-512 keypair
36221
cycles36274
cycles1.00
ML-KEM-512 encaps
46462
cycles46425
cycles1.00
ML-KEM-512 decaps
61957
cycles61794
cycles1.00
ML-KEM-768 keypair
59001
cycles59022
cycles1.00
ML-KEM-768 encaps
73079
cycles73136
cycles1.00
ML-KEM-768 decaps
91877
cycles91674
cycles1.00
ML-KEM-1024 keypair
88481
cycles88422
cycles1.00
ML-KEM-1024 encaps
109310
cycles109490
cycles1.00
ML-KEM-1024 decaps
133641
cycles133800
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
f875b7f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AMD EPYC 4th gen (c7a)
ML-KEM-512 keypair
15090
cycles15095
cycles1.00
ML-KEM-512 encaps
19751
cycles19759
cycles1.00
ML-KEM-512 decaps
26385
cycles26399
cycles1.00
ML-KEM-768 keypair
25737
cycles25602
cycles1.01
ML-KEM-768 encaps
28202
cycles28206
cycles1.00
ML-KEM-768 decaps
38214
cycles38237
cycles1.00
ML-KEM-1024 keypair
35507
cycles34906
cycles1.02
ML-KEM-1024 encaps
40674
cycles39691
cycles1.02
ML-KEM-1024 decaps
54642
cycles53117
cycles1.03
This comment was automatically generated by workflow using github-action-benchmark.
f875b7f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Intel Xeon 3rd gen (c6i) (no-opt)
ML-KEM-512 keypair
56727
cycles56794
cycles1.00
ML-KEM-512 encaps
71804
cycles71874
cycles1.00
ML-KEM-512 decaps
96365
cycles96458
cycles1.00
ML-KEM-768 keypair
91904
cycles91852
cycles1.00
ML-KEM-768 encaps
111518
cycles111509
cycles1.00
ML-KEM-768 decaps
144547
cycles144573
cycles1.00
ML-KEM-1024 keypair
134749
cycles134776
cycles1.00
ML-KEM-1024 encaps
160160
cycles160403
cycles1.00
ML-KEM-1024 decaps
201556
cycles201536
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
f875b7f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AMD EPYC 3rd gen (c6a) (no-opt)
ML-KEM-512 keypair
52310
cycles52283
cycles1.00
ML-KEM-512 encaps
67744
cycles67755
cycles1.00
ML-KEM-512 decaps
92563
cycles92689
cycles1.00
ML-KEM-768 keypair
84628
cycles84632
cycles1.00
ML-KEM-768 encaps
104797
cycles104807
cycles1.00
ML-KEM-768 decaps
138104
cycles137726
cycles1.00
ML-KEM-1024 keypair
125419
cycles125447
cycles1.00
ML-KEM-1024 encaps
149648
cycles149691
cycles1.00
ML-KEM-1024 decaps
192189
cycles192820
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
f875b7f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Arm Cortex-A72 (Raspberry Pi 4) benchmarks
ML-KEM-512 keypair
51295
cycles51456
cycles1.00
ML-KEM-512 encaps
58341
cycles59714
cycles0.98
ML-KEM-512 decaps
75202
cycles75476
cycles1.00
ML-KEM-768 keypair
87188
cycles89405
cycles0.98
ML-KEM-768 encaps
96260
cycles97492
cycles0.99
ML-KEM-768 decaps
120407
cycles119923
cycles1.00
ML-KEM-1024 keypair
131465
cycles132345
cycles0.99
ML-KEM-1024 encaps
146288
cycles146025
cycles1.00
ML-KEM-1024 decaps
178004
cycles178032
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
f875b7f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AMD EPYC 4th gen (c7a) (no-opt)
ML-KEM-512 keypair
45701
cycles45972
cycles0.99
ML-KEM-512 encaps
58771
cycles58802
cycles1.00
ML-KEM-512 decaps
80002
cycles80027
cycles1.00
ML-KEM-768 keypair
74611
cycles74656
cycles1.00
ML-KEM-768 encaps
91454
cycles91513
cycles1.00
ML-KEM-768 decaps
120186
cycles120193
cycles1.00
ML-KEM-1024 keypair
109878
cycles110252
cycles1.00
ML-KEM-1024 encaps
131020
cycles131041
cycles1.00
ML-KEM-1024 decaps
167852
cycles167695
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
f875b7f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Graviton3
ML-KEM-512 keypair
19031
cycles19030
cycles1.00
ML-KEM-512 encaps
23843
cycles23843
cycles1
ML-KEM-512 decaps
31227
cycles31229
cycles1.00
ML-KEM-768 keypair
32334
cycles32329
cycles1.00
ML-KEM-768 encaps
36082
cycles36085
cycles1.00
ML-KEM-768 decaps
46487
cycles46487
cycles1
ML-KEM-1024 keypair
46967
cycles46970
cycles1.00
ML-KEM-1024 encaps
53083
cycles53087
cycles1.00
ML-KEM-1024 decaps
67398
cycles67406
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
f875b7f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Graviton4
ML-KEM-512 keypair
18264
cycles18268
cycles1.00
ML-KEM-512 encaps
22477
cycles22479
cycles1.00
ML-KEM-512 decaps
29397
cycles29399
cycles1.00
ML-KEM-768 keypair
30774
cycles30772
cycles1.00
ML-KEM-768 encaps
34058
cycles34059
cycles1.00
ML-KEM-768 decaps
43909
cycles43911
cycles1.00
ML-KEM-1024 keypair
44486
cycles44486
cycles1
ML-KEM-1024 encaps
50208
cycles50209
cycles1.00
ML-KEM-1024 decaps
63635
cycles63641
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
f875b7f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Graviton2
ML-KEM-512 keypair
29177
cycles29225
cycles1.00
ML-KEM-512 encaps
35861
cycles35945
cycles1.00
ML-KEM-512 decaps
46667
cycles46769
cycles1.00
ML-KEM-768 keypair
49191
cycles49356
cycles1.00
ML-KEM-768 encaps
55863
cycles56083
cycles1.00
ML-KEM-768 decaps
70978
cycles71255
cycles1.00
ML-KEM-1024 keypair
72180
cycles72196
cycles1.00
ML-KEM-1024 encaps
81626
cycles81636
cycles1.00
ML-KEM-1024 decaps
102071
cycles102095
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
f875b7f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Graviton3 (no-opt)
ML-KEM-512 keypair
45360
cycles45370
cycles1.00
ML-KEM-512 encaps
56169
cycles56178
cycles1.00
ML-KEM-512 decaps
75087
cycles75101
cycles1.00
ML-KEM-768 keypair
74867
cycles74858
cycles1.00
ML-KEM-768 encaps
89190
cycles89188
cycles1.00
ML-KEM-768 decaps
114549
cycles114545
cycles1.00
ML-KEM-1024 keypair
111084
cycles111077
cycles1.00
ML-KEM-1024 encaps
129926
cycles129993
cycles1.00
ML-KEM-1024 decaps
162491
cycles162569
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
f875b7f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Graviton4 (no-opt)
ML-KEM-512 keypair
41910
cycles41915
cycles1.00
ML-KEM-512 encaps
51761
cycles51762
cycles1.00
ML-KEM-512 decaps
69327
cycles69323
cycles1.00
ML-KEM-768 keypair
69066
cycles69072
cycles1.00
ML-KEM-768 encaps
82684
cycles82685
cycles1.00
ML-KEM-768 decaps
106477
cycles106477
cycles1
ML-KEM-1024 keypair
102241
cycles102447
cycles1.00
ML-KEM-1024 encaps
120658
cycles120644
cycles1.00
ML-KEM-1024 decaps
150670
cycles150597
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
f875b7f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Graviton2 (no-opt)
ML-KEM-512 keypair
71123
cycles71103
cycles1.00
ML-KEM-512 encaps
87833
cycles87949
cycles1.00
ML-KEM-512 decaps
118150
cycles118383
cycles1.00
ML-KEM-768 keypair
117374
cycles117372
cycles1.00
ML-KEM-768 encaps
139258
cycles139304
cycles1.00
ML-KEM-768 decaps
180017
cycles180129
cycles1.00
ML-KEM-1024 keypair
175258
cycles174769
cycles1.00
ML-KEM-1024 encaps
202709
cycles202279
cycles1.00
ML-KEM-1024 decaps
254727
cycles254196
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
f875b7f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Arm Cortex-A55 (Snapdragon 888) benchmarks
ML-KEM-512 keypair
58015
cycles58013
cycles1.00
ML-KEM-512 encaps
65686
cycles65692
cycles1.00
ML-KEM-512 decaps
84357
cycles84336
cycles1.00
ML-KEM-768 keypair
98206
cycles98268
cycles1.00
ML-KEM-768 encaps
111131
cycles110020
cycles1.01
ML-KEM-768 decaps
136396
cycles136916
cycles1.00
ML-KEM-1024 keypair
148760
cycles148986
cycles1.00
ML-KEM-1024 encaps
166100
cycles166299
cycles1.00
ML-KEM-1024 decaps
202266
cycles202470
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.