-
Notifications
You must be signed in to change notification settings - Fork 15
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 #679 from pq-code-package/oqs-meta
Integration: Add liboqs META files
- Loading branch information
Showing
6 changed files
with
290 additions
and
0 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,22 @@ | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
name: Test liboqs integration | ||
permissions: | ||
contents: read | ||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: ["main"] | ||
pull_request: | ||
branches: ["main"] | ||
|
||
jobs: | ||
check-oqs-source-list: | ||
name: Check META.yml source list | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | ||
- name: Run file check | ||
run: | | ||
cd integration/liboqs | ||
python3 liboqs-check-filelist.py |
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,65 @@ | ||
# Copyright (c) 2024 The mlkem-native project authors | ||
# SPDX-License-Identifier: Apache-2.0 | ||
name: ML-KEM-1024 | ||
type: kem | ||
claimed-nist-level: 5 | ||
claimed-security: IND-CCA2 | ||
length-public-key: 1568 | ||
length-ciphertext: 1568 | ||
length-secret-key: 3168 | ||
length-shared-secret: 32 | ||
nistkat-sha256: f580d851e5fb27e6876e5e203fa18be4cdbfd49e05d48fec3d3992c8f43a13e6 | ||
testvectors-sha256: ff1a854b9b6761a70c65ccae85246fe0596a949e72eae0866a8a2a2d4ea54b10 | ||
principal-submitters: | ||
- Peter Schwabe | ||
auxiliary-submitters: | ||
- Roberto Avanzi | ||
- Joppe Bos | ||
- Léo Ducas | ||
- Eike Kiltz | ||
- Tancrède Lepoint | ||
- Vadim Lyubashevsky | ||
- John M. Schanck | ||
- Gregor Seiler | ||
- Damien Stehlé | ||
implementations: | ||
- name: ref | ||
version: FIPS203 | ||
folder_name: mlkem | ||
compile_opts: -DMLKEM_K=4 -DMLKEM_NAMESPACE_PREFIX=PQCP_MLKEM_NATIVE_MLKEM1024_C | ||
signature_keypair: PQCP_MLKEM_NATIVE_MLKEM1024_C_keypair | ||
signature_enc: PQCP_MLKEM_NATIVE_MLKEM1024_C_enc | ||
signature_dec: PQCP_MLKEM_NATIVE_MLKEM1024_C_dec | ||
sources: LICENSE arith_backend.h cbmc.h common.h compress.c compress.h config.h debug.c debug.h indcpa.c indcpa.h kem.c kem.h mlkem_native.h params.h poly.c poly.h poly_k.c poly_k.h sampling.c sampling.h symmetric.h sys.h verify.c verify.h zetas.c native/api.h native/default.h | ||
- name: x86_64 | ||
version: FIPS203 | ||
folder_name: mlkem | ||
compile_opts: -DMLKEM_K=4 -DFORCE_X86_64 -DMLKEM_NATIVE_ARITH_BACKEND_NAME=X86_64_DEFAULT -DMLKEM_USE_NATIVE -DMLKEM_NAMESPACE_PREFIX=PQCP_MLKEM_NATIVE_MLKEM1024_X86_64_DEFAULT | ||
signature_keypair: PQCP_MLKEM_NATIVE_MLKEM1024_X86_64_DEFAULT_keypair | ||
signature_enc: PQCP_MLKEM_NATIVE_MLKEM1024_X86_64_DEFAULT_enc | ||
signature_dec: PQCP_MLKEM_NATIVE_MLKEM1024_X86_64_DEFAULT_dec | ||
sources: LICENSE arith_backend.h cbmc.h common.h compress.c compress.h config.h debug.c debug.h indcpa.c indcpa.h kem.c kem.h mlkem_native.h params.h poly.c poly.h poly_k.c poly_k.h sampling.c sampling.h symmetric.h sys.h verify.c verify.h zetas.c native/api.h native/default.h native/x86_64 | ||
supported_platforms: | ||
- architecture: x86_64 | ||
operating_systems: | ||
- Linux | ||
- Darwin | ||
required_flags: | ||
- avx2 | ||
- bmi2 | ||
- popcnt | ||
- name: aarch64 | ||
version: FIPS203 | ||
folder_name: mlkem | ||
compile_opts: -DMLKEM_K=4 -DFORCE_AARCH64 -DMLKEM_NATIVE_ARITH_BACKEND_NAME=AARCH64_OPT -DMLKEM_USE_NATIVE -DMLKEM_NAMESPACE_PREFIX=PQCP_MLKEM_NATIVE_MLKEM1024_AARCH64_OPT | ||
signature_keypair: PQCP_MLKEM_NATIVE_MLKEM1024_AARCH64_OPT_keypair | ||
signature_enc: PQCP_MLKEM_NATIVE_MLKEM1024_AARCH64_OPT_enc | ||
signature_dec: PQCP_MLKEM_NATIVE_MLKEM1024_AARCH64_OPT_dec | ||
sources: LICENSE arith_backend.h cbmc.h common.h compress.c compress.h config.h debug.c debug.h indcpa.c indcpa.h kem.c kem.h mlkem_native.h params.h poly.c poly.h poly_k.c poly_k.h sampling.c sampling.h symmetric.h sys.h verify.c verify.h zetas.c native/api.h native/default.h native/aarch64 | ||
supported_platforms: | ||
- architecture: arm_8 | ||
operating_systems: | ||
- Linux | ||
- Darwin | ||
required_flags: | ||
- asimd |
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,65 @@ | ||
# Copyright (c) 2024 The mlkem-native project authors | ||
# SPDX-License-Identifier: Apache-2.0 | ||
name: ML-KEM-512 | ||
type: kem | ||
claimed-nist-level: 1 | ||
claimed-security: IND-CCA2 | ||
length-public-key: 800 | ||
length-ciphertext: 768 | ||
length-secret-key: 1632 | ||
length-shared-secret: 32 | ||
nistkat-sha256: c70041a761e01cd6426fa60e9fd6a4412c2be817386c8d0f3334898082512782 | ||
testvectors-sha256: 6730bb552c22d9d2176ffb5568e48eb30952cf1f065073ec5f9724f6a3c6ea85 | ||
principal-submitters: | ||
- Peter Schwabe | ||
auxiliary-submitters: | ||
- Roberto Avanzi | ||
- Joppe Bos | ||
- Léo Ducas | ||
- Eike Kiltz | ||
- Tancrède Lepoint | ||
- Vadim Lyubashevsky | ||
- John M. Schanck | ||
- Gregor Seiler | ||
- Damien Stehlé | ||
implementations: | ||
- name: ref | ||
version: FIPS203 | ||
folder_name: mlkem | ||
compile_opts: -DMLKEM_K=2 -DMLKEM_NAMESPACE_PREFIX=PQCP_MLKEM_NATIVE_MLKEM512_C | ||
signature_keypair: PQCP_MLKEM_NATIVE_MLKEM512_C_keypair | ||
signature_enc: PQCP_MLKEM_NATIVE_MLKEM512_C_enc | ||
signature_dec: PQCP_MLKEM_NATIVE_MLKEM512_C_dec | ||
sources: LICENSE arith_backend.h cbmc.h common.h compress.c compress.h config.h debug.c debug.h indcpa.c indcpa.h kem.c kem.h mlkem_native.h params.h poly.c poly.h poly_k.c poly_k.h sampling.c sampling.h symmetric.h sys.h verify.c verify.h zetas.c native/api.h native/default.h | ||
- name: x86_64 | ||
version: FIPS203 | ||
folder_name: mlkem | ||
compile_opts: -DMLKEM_K=2 -DFORCE_X86_64 -DMLKEM_NATIVE_ARITH_BACKEND_NAME=X86_64_DEFAULT -DMLKEM_USE_NATIVE -DMLKEM_NAMESPACE_PREFIX=PQCP_MLKEM_NATIVE_MLKEM512_X86_64_DEFAULT | ||
signature_keypair: PQCP_MLKEM_NATIVE_MLKEM512_X86_64_DEFAULT_keypair | ||
signature_enc: PQCP_MLKEM_NATIVE_MLKEM512_X86_64_DEFAULT_enc | ||
signature_dec: PQCP_MLKEM_NATIVE_MLKEM512_X86_64_DEFAULT_dec | ||
sources: LICENSE arith_backend.h cbmc.h common.h compress.c compress.h config.h debug.c debug.h indcpa.c indcpa.h kem.c kem.h mlkem_native.h params.h poly.c poly.h poly_k.c poly_k.h sampling.c sampling.h symmetric.h sys.h verify.c verify.h zetas.c native/api.h native/default.h native/x86_64 | ||
supported_platforms: | ||
- architecture: x86_64 | ||
operating_systems: | ||
- Linux | ||
- Darwin | ||
required_flags: | ||
- avx2 | ||
- bmi2 | ||
- popcnt | ||
- name: aarch64 | ||
version: FIPS203 | ||
folder_name: mlkem | ||
compile_opts: -DMLKEM_K=2 -DFORCE_AARCH64 -DMLKEM_NATIVE_ARITH_BACKEND_NAME=AARCH64_OPT -DMLKEM_USE_NATIVE -DMLKEM_NAMESPACE_PREFIX=PQCP_MLKEM_NATIVE_MLKEM512_AARCH64_OPT | ||
signature_keypair: PQCP_MLKEM_NATIVE_MLKEM512_AARCH64_OPT_keypair | ||
signature_enc: PQCP_MLKEM_NATIVE_MLKEM512_AARCH64_OPT_enc | ||
signature_dec: PQCP_MLKEM_NATIVE_MLKEM512_AARCH64_OPT_dec | ||
sources: LICENSE arith_backend.h cbmc.h common.h compress.c compress.h config.h debug.c debug.h indcpa.c indcpa.h kem.c kem.h mlkem_native.h params.h poly.c poly.h poly_k.c poly_k.h sampling.c sampling.h symmetric.h sys.h verify.c verify.h zetas.c native/api.h native/default.h native/aarch64 | ||
supported_platforms: | ||
- architecture: arm_8 | ||
operating_systems: | ||
- Linux | ||
- Darwin | ||
required_flags: | ||
- asimd |
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,65 @@ | ||
# Copyright (c) 2024 The mlkem-native project authors | ||
# SPDX-License-Identifier: Apache-2.0 | ||
name: ML-KEM-768 | ||
type: kem | ||
claimed-nist-level: 3 | ||
claimed-security: IND-CCA2 | ||
length-public-key: 1184 | ||
length-ciphertext: 1088 | ||
length-secret-key: 2400 | ||
length-shared-secret: 32 | ||
nistkat-sha256: 5352539586b6c3df58be6158a6250aeff402bd73060b0a3de68850ac074c17c3 | ||
testvectors-sha256: 667c8ca2ca93729c0df6ff24588460bad1bbdbfb64ece0fe8563852a7ff348c6 | ||
principal-submitters: | ||
- Peter Schwabe | ||
auxiliary-submitters: | ||
- Roberto Avanzi | ||
- Joppe Bos | ||
- Léo Ducas | ||
- Eike Kiltz | ||
- Tancrède Lepoint | ||
- Vadim Lyubashevsky | ||
- John M. Schanck | ||
- Gregor Seiler | ||
- Damien Stehlé | ||
implementations: | ||
- name: ref | ||
version: FIPS203 | ||
folder_name: mlkem | ||
compile_opts: -DMLKEM_K=3 -DMLKEM_NAMESPACE_PREFIX=PQCP_MLKEM_NATIVE_MLKEM768_C | ||
signature_keypair: PQCP_MLKEM_NATIVE_MLKEM768_C_keypair | ||
signature_enc: PQCP_MLKEM_NATIVE_MLKEM768_C_enc | ||
signature_dec: PQCP_MLKEM_NATIVE_MLKEM768_C_dec | ||
sources: LICENSE arith_backend.h cbmc.h common.h compress.c compress.h config.h debug.c debug.h indcpa.c indcpa.h kem.c kem.h mlkem_native.h params.h poly.c poly.h poly_k.c poly_k.h sampling.c sampling.h symmetric.h sys.h verify.c verify.h zetas.c native/api.h native/default.h | ||
- name: x86_64 | ||
version: FIPS203 | ||
folder_name: mlkem | ||
compile_opts: -DMLKEM_K=3 -DFORCE_X86_64 -DMLKEM_NATIVE_ARITH_BACKEND_NAME=X86_64_DEFAULT -DMLKEM_USE_NATIVE -DMLKEM_NAMESPACE_PREFIX=PQCP_MLKEM_NATIVE_MLKEM768_X86_64_DEFAULT | ||
signature_keypair: PQCP_MLKEM_NATIVE_MLKEM768_X86_64_DEFAULT_keypair | ||
signature_enc: PQCP_MLKEM_NATIVE_MLKEM768_X86_64_DEFAULT_enc | ||
signature_dec: PQCP_MLKEM_NATIVE_MLKEM768_X86_64_DEFAULT_dec | ||
sources: LICENSE arith_backend.h cbmc.h common.h compress.c compress.h config.h debug.c debug.h indcpa.c indcpa.h kem.c kem.h mlkem_native.h params.h poly.c poly.h poly_k.c poly_k.h sampling.c sampling.h symmetric.h sys.h verify.c verify.h zetas.c native/api.h native/default.h native/x86_64 | ||
supported_platforms: | ||
- architecture: x86_64 | ||
operating_systems: | ||
- Linux | ||
- Darwin | ||
required_flags: | ||
- avx2 | ||
- bmi2 | ||
- popcnt | ||
- name: aarch64 | ||
version: FIPS203 | ||
folder_name: mlkem | ||
compile_opts: -DMLKEM_K=3 -DFORCE_AARCH64 -DMLKEM_NATIVE_ARITH_BACKEND_NAME=AARCH64_OPT -DMLKEM_USE_NATIVE -DMLKEM_NAMESPACE_PREFIX=PQCP_MLKEM_NATIVE_MLKEM768_AARCH64_OPT | ||
signature_keypair: PQCP_MLKEM_NATIVE_MLKEM768_AARCH64_OPT_keypair | ||
signature_enc: PQCP_MLKEM_NATIVE_MLKEM768_AARCH64_OPT_enc | ||
signature_dec: PQCP_MLKEM_NATIVE_MLKEM768_AARCH64_OPT_dec | ||
sources: LICENSE arith_backend.h cbmc.h common.h compress.c compress.h config.h debug.c debug.h indcpa.c indcpa.h kem.c kem.h mlkem_native.h params.h poly.c poly.h poly_k.c poly_k.h sampling.c sampling.h symmetric.h sys.h verify.c verify.h zetas.c native/api.h native/default.h native/aarch64 | ||
supported_platforms: | ||
- architecture: arm_8 | ||
operating_systems: | ||
- Linux | ||
- Darwin | ||
required_flags: | ||
- asimd |
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,72 @@ | ||
#!/usr/bin/env python3 | ||
# Copyright (c) 2024 The mlkem-native project authors | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
# This script makes sure that the sources in the liboqs meta files | ||
# are kept up to date. | ||
|
||
|
||
import yaml | ||
import os | ||
|
||
MLKEM_DIR = "../../mlkem" | ||
|
||
|
||
def load(fname): | ||
with open(fname) as f: | ||
return yaml.safe_load(f) | ||
|
||
|
||
def get_shared_sources(): | ||
# add files mlkem/* | ||
sources = [f for f in os.listdir(MLKEM_DIR) if os.path.isfile(f"{MLKEM_DIR}/{f}")] | ||
# add files mlkem/native/* (API definitions) | ||
sources += [ | ||
f"native/{f}" | ||
for f in os.listdir(f"{MLKEM_DIR}/native") | ||
if os.path.isfile(f"{MLKEM_DIR}/native/{f}") | ||
] | ||
# randombytes.h is provided by liboqs | ||
sources.remove("randombytes.h") | ||
return sources | ||
|
||
|
||
def get_native_sources(backend): | ||
return [f"native/{backend}"] | ||
|
||
|
||
def check_implementation(impl): | ||
name = impl["name"] | ||
print(f"checking {name}") | ||
ymlsources = impl["sources"] | ||
ymlsources = ymlsources.split(" ") | ||
sources = get_shared_sources() | ||
|
||
if name != "ref": | ||
sources += get_native_sources(name) | ||
|
||
sources.sort() | ||
ymlsources.sort() | ||
|
||
if sources != ymlsources: | ||
print(sources) | ||
print(ymlsources) | ||
raise Exception("mismatch of liboqs file list") | ||
|
||
|
||
def check_file(fname): | ||
print(f"checking {fname}") | ||
yml = load(fname) | ||
implementations = yml["implementations"] | ||
for implementation in implementations: | ||
check_implementation(implementation) | ||
|
||
|
||
def check(): | ||
check_file("ML-KEM-512_META.yml") | ||
check_file("ML-KEM-768_META.yml") | ||
check_file("ML-KEM-1024_META.yml") | ||
|
||
|
||
if __name__ == "__main__": | ||
check() |
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
e219d47
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
29051
cycles29083
cycles1.00
ML-KEM-512 encaps
35398
cycles35435
cycles1.00
ML-KEM-512 decaps
45874
cycles45905
cycles1.00
ML-KEM-768 keypair
49320
cycles49299
cycles1.00
ML-KEM-768 encaps
55570
cycles55642
cycles1.00
ML-KEM-768 decaps
70354
cycles70422
cycles1.00
ML-KEM-1024 keypair
72062
cycles72101
cycles1.00
ML-KEM-1024 encaps
80855
cycles80822
cycles1.00
ML-KEM-1024 decaps
100755
cycles100696
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
e219d47
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
13805
cycles13811
cycles1.00
ML-KEM-512 encaps
17540
cycles17572
cycles1.00
ML-KEM-512 decaps
23323
cycles23281
cycles1.00
ML-KEM-768 keypair
23215
cycles23281
cycles1.00
ML-KEM-768 encaps
25148
cycles25103
cycles1.00
ML-KEM-768 decaps
33716
cycles33712
cycles1.00
ML-KEM-1024 keypair
32108
cycles32099
cycles1.00
ML-KEM-1024 encaps
35635
cycles35589
cycles1.00
ML-KEM-1024 decaps
47101
cycles47152
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
e219d47
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
33035
cycles33024
cycles1.00
ML-KEM-512 encaps
38694
cycles38700
cycles1.00
ML-KEM-512 decaps
50273
cycles50268
cycles1.00
ML-KEM-768 keypair
55277
cycles55207
cycles1.00
ML-KEM-768 encaps
62229
cycles62222
cycles1.00
ML-KEM-768 decaps
77140
cycles77065
cycles1.00
ML-KEM-1024 keypair
82839
cycles82912
cycles1.00
ML-KEM-1024 encaps
93692
cycles93701
cycles1.00
ML-KEM-1024 decaps
114162
cycles114211
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
e219d47
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
14982
cycles14979
cycles1.00
ML-KEM-512 encaps
19702
cycles19697
cycles1.00
ML-KEM-512 decaps
26567
cycles26314
cycles1.01
ML-KEM-768 keypair
25510
cycles25502
cycles1.00
ML-KEM-768 encaps
27986
cycles28005
cycles1.00
ML-KEM-768 decaps
37700
cycles37679
cycles1.00
ML-KEM-1024 keypair
35516
cycles35521
cycles1.00
ML-KEM-1024 encaps
40380
cycles40346
cycles1.00
ML-KEM-1024 decaps
53776
cycles53741
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
e219d47
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
20398
cycles20402
cycles1.00
ML-KEM-512 encaps
27060
cycles27074
cycles1.00
ML-KEM-512 decaps
36318
cycles35944
cycles1.01
ML-KEM-768 keypair
34918
cycles34929
cycles1.00
ML-KEM-768 encaps
38137
cycles38179
cycles1.00
ML-KEM-768 decaps
50963
cycles50952
cycles1.00
ML-KEM-1024 keypair
48021
cycles47976
cycles1.00
ML-KEM-1024 encaps
54107
cycles54064
cycles1.00
ML-KEM-1024 decaps
71526
cycles71518
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
e219d47
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
18047
cycles18053
cycles1.00
ML-KEM-512 encaps
22847
cycles22857
cycles1.00
ML-KEM-512 decaps
30136
cycles30138
cycles1.00
ML-KEM-768 keypair
30983
cycles30970
cycles1.00
ML-KEM-768 encaps
34035
cycles34059
cycles1.00
ML-KEM-768 decaps
44487
cycles44566
cycles1.00
ML-KEM-1024 keypair
43643
cycles44196
cycles0.99
ML-KEM-1024 encaps
48928
cycles49484
cycles0.99
ML-KEM-1024 decaps
63496
cycles64188
cycles0.99
This comment was automatically generated by workflow using github-action-benchmark.
e219d47
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
39391
cycles39415
cycles1.00
ML-KEM-512 encaps
45540
cycles45542
cycles1.00
ML-KEM-512 decaps
58973
cycles58970
cycles1.00
ML-KEM-768 keypair
64937
cycles64912
cycles1.00
ML-KEM-768 encaps
73238
cycles73191
cycles1.00
ML-KEM-768 decaps
91531
cycles91399
cycles1.00
ML-KEM-1024 keypair
96756
cycles96673
cycles1.00
ML-KEM-1024 encaps
107927
cycles107838
cycles1.00
ML-KEM-1024 decaps
131317
cycles131295
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
e219d47
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
29066
cycles29080
cycles1.00
ML-KEM-512 encaps
35420
cycles35457
cycles1.00
ML-KEM-512 decaps
45890
cycles45898
cycles1.00
ML-KEM-768 keypair
49484
cycles49311
cycles1.00
ML-KEM-768 encaps
55798
cycles55642
cycles1.00
ML-KEM-768 decaps
70676
cycles70442
cycles1.00
ML-KEM-1024 keypair
72068
cycles72098
cycles1.00
ML-KEM-1024 encaps
80870
cycles80844
cycles1.00
ML-KEM-1024 decaps
100790
cycles100723
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
e219d47
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
43517
cycles43713
cycles1.00
ML-KEM-512 encaps
52034
cycles52148
cycles1.00
ML-KEM-512 decaps
67306
cycles67342
cycles1.00
ML-KEM-768 keypair
71477
cycles71537
cycles1.00
ML-KEM-768 encaps
82973
cycles83012
cycles1.00
ML-KEM-768 decaps
103051
cycles103283
cycles1.00
ML-KEM-1024 keypair
106760
cycles106693
cycles1.00
ML-KEM-1024 encaps
121656
cycles121729
cycles1.00
ML-KEM-1024 decaps
147462
cycles147622
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
e219d47
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
51740
cycles51798
cycles1.00
ML-KEM-512 encaps
59986
cycles60026
cycles1.00
ML-KEM-512 decaps
76859
cycles76917
cycles1.00
ML-KEM-768 keypair
84395
cycles84455
cycles1.00
ML-KEM-768 encaps
95807
cycles95844
cycles1.00
ML-KEM-768 decaps
118209
cycles118276
cycles1.00
ML-KEM-1024 keypair
125297
cycles125352
cycles1.00
ML-KEM-1024 encaps
139578
cycles139624
cycles1.00
ML-KEM-1024 decaps
168539
cycles168695
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
e219d47
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
18938
cycles18933
cycles1.00
ML-KEM-512 encaps
23513
cycles23557
cycles1.00
ML-KEM-512 decaps
30655
cycles30670
cycles1.00
ML-KEM-768 keypair
32286
cycles32296
cycles1.00
ML-KEM-768 encaps
35870
cycles35879
cycles1.00
ML-KEM-768 decaps
46015
cycles45999
cycles1.00
ML-KEM-1024 keypair
46588
cycles46606
cycles1.00
ML-KEM-1024 encaps
52432
cycles52451
cycles1.00
ML-KEM-1024 decaps
66251
cycles66235
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
e219d47
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
39332
cycles39337
cycles1.00
ML-KEM-512 encaps
45263
cycles45335
cycles1.00
ML-KEM-512 decaps
57180
cycles57359
cycles1.00
ML-KEM-768 keypair
65953
cycles65865
cycles1.00
ML-KEM-768 encaps
73805
cycles73757
cycles1.00
ML-KEM-768 decaps
89812
cycles89807
cycles1.00
ML-KEM-1024 keypair
99029
cycles99009
cycles1.00
ML-KEM-1024 encaps
109971
cycles109978
cycles1.00
ML-KEM-1024 decaps
130763
cycles130781
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
e219d47
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
61336
cycles60689
cycles1.01
ML-KEM-512 encaps
69794
cycles69909
cycles1.00
ML-KEM-512 decaps
88871
cycles88880
cycles1.00
ML-KEM-768 keypair
101933
cycles101801
cycles1.00
ML-KEM-768 encaps
114124
cycles114005
cycles1.00
ML-KEM-768 decaps
139399
cycles139516
cycles1.00
ML-KEM-1024 keypair
154339
cycles154403
cycles1.00
ML-KEM-1024 encaps
170197
cycles170263
cycles1.00
ML-KEM-1024 decaps
202491
cycles202583
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
e219d47
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
18134
cycles18131
cycles1.00
ML-KEM-512 encaps
22156
cycles22176
cycles1.00
ML-KEM-512 decaps
28799
cycles28838
cycles1.00
ML-KEM-768 keypair
30544
cycles30538
cycles1.00
ML-KEM-768 encaps
33626
cycles33631
cycles1.00
ML-KEM-768 decaps
43146
cycles43156
cycles1.00
ML-KEM-1024 keypair
44187
cycles44172
cycles1.00
ML-KEM-1024 encaps
49645
cycles49637
cycles1.00
ML-KEM-1024 decaps
62623
cycles62646
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
e219d47
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
37914
cycles38048
cycles1.00
ML-KEM-512 encaps
43325
cycles43391
cycles1.00
ML-KEM-512 decaps
55512
cycles55566
cycles1.00
ML-KEM-768 keypair
63056
cycles63038
cycles1.00
ML-KEM-768 encaps
70589
cycles70433
cycles1.00
ML-KEM-768 decaps
86996
cycles86889
cycles1.00
ML-KEM-1024 keypair
94557
cycles94509
cycles1.00
ML-KEM-1024 encaps
105347
cycles105292
cycles1.00
ML-KEM-1024 decaps
126641
cycles126938
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
e219d47
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.
Bananapi bpi-f3 benchmarks
ML-KEM-512 keypair
332311
cycles332430
cycles1.00
ML-KEM-512 encaps
441699
cycles441791
cycles1.00
ML-KEM-512 decaps
590476
cycles590770
cycles1.00
ML-KEM-768 keypair
550554
cycles550629
cycles1.00
ML-KEM-768 encaps
690018
cycles690119
cycles1.00
ML-KEM-768 decaps
882381
cycles882174
cycles1.00
ML-KEM-1024 keypair
811621
cycles811753
cycles1.00
ML-KEM-1024 encaps
984443
cycles984722
cycles1.00
ML-KEM-1024 decaps
1218687
cycles1218730
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
e219d47
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
58271
cycles58275
cycles1.00
ML-KEM-512 encaps
65729
cycles65717
cycles1.00
ML-KEM-512 decaps
84481
cycles84503
cycles1.00
ML-KEM-768 keypair
98969
cycles98984
cycles1.00
ML-KEM-768 encaps
110486
cycles110631
cycles1.00
ML-KEM-768 decaps
136736
cycles136781
cycles1.00
ML-KEM-1024 keypair
150338
cycles150062
cycles1.00
ML-KEM-1024 encaps
166247
cycles166576
cycles1.00
ML-KEM-1024 decaps
201937
cycles202905
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.
e219d47
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
51876
cycles52048
cycles1.00
ML-KEM-512 encaps
58484
cycles58384
cycles1.00
ML-KEM-512 decaps
76394
cycles74516
cycles1.03
ML-KEM-768 keypair
87520
cycles88025
cycles0.99
ML-KEM-768 encaps
96261
cycles96949
cycles0.99
ML-KEM-768 decaps
119422
cycles120453
cycles0.99
ML-KEM-1024 keypair
131488
cycles131784
cycles1.00
ML-KEM-1024 encaps
144110
cycles144900
cycles0.99
ML-KEM-1024 decaps
177440
cycles176865
cycles1.00
This comment was automatically generated by workflow using github-action-benchmark.