Skip to content

Commit

Permalink
Merge pull request #679 from pq-code-package/oqs-meta
Browse files Browse the repository at this point in the history
Integration: Add liboqs META files
  • Loading branch information
hanno-becker authored Jan 22, 2025
2 parents 1a0879d + 7b22b87 commit e219d47
Show file tree
Hide file tree
Showing 6 changed files with 290 additions and 0 deletions.
22 changes: 22 additions & 0 deletions .github/workflows/integration-liboqs.yml
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
65 changes: 65 additions & 0 deletions integration/liboqs/ML-KEM-1024_META.yml
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
65 changes: 65 additions & 0 deletions integration/liboqs/ML-KEM-512_META.yml
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
65 changes: 65 additions & 0 deletions integration/liboqs/ML-KEM-768_META.yml
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
72 changes: 72 additions & 0 deletions integration/liboqs/liboqs-check-filelist.py
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()
1 change: 1 addition & 0 deletions nix/util.nix
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ rec {
native-gcc
]
++ builtins.attrValues {
inherit (pkgs.python3Packages) pyyaml;
inherit (pkgs)
python3
qemu; # 8.2.4
Expand Down

18 comments on commit e219d47

@oqs-bot
Copy link

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

Benchmark suite Current: e219d47 Previous: 1a0879d Ratio
ML-KEM-512 keypair 29051 cycles 29083 cycles 1.00
ML-KEM-512 encaps 35398 cycles 35435 cycles 1.00
ML-KEM-512 decaps 45874 cycles 45905 cycles 1.00
ML-KEM-768 keypair 49320 cycles 49299 cycles 1.00
ML-KEM-768 encaps 55570 cycles 55642 cycles 1.00
ML-KEM-768 decaps 70354 cycles 70422 cycles 1.00
ML-KEM-1024 keypair 72062 cycles 72101 cycles 1.00
ML-KEM-1024 encaps 80855 cycles 80822 cycles 1.00
ML-KEM-1024 decaps 100755 cycles 100696 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot
Copy link

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)

Benchmark suite Current: e219d47 Previous: 1a0879d Ratio
ML-KEM-512 keypair 13805 cycles 13811 cycles 1.00
ML-KEM-512 encaps 17540 cycles 17572 cycles 1.00
ML-KEM-512 decaps 23323 cycles 23281 cycles 1.00
ML-KEM-768 keypair 23215 cycles 23281 cycles 1.00
ML-KEM-768 encaps 25148 cycles 25103 cycles 1.00
ML-KEM-768 decaps 33716 cycles 33712 cycles 1.00
ML-KEM-1024 keypair 32108 cycles 32099 cycles 1.00
ML-KEM-1024 encaps 35635 cycles 35589 cycles 1.00
ML-KEM-1024 decaps 47101 cycles 47152 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot
Copy link

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)

Benchmark suite Current: e219d47 Previous: 1a0879d Ratio
ML-KEM-512 keypair 33035 cycles 33024 cycles 1.00
ML-KEM-512 encaps 38694 cycles 38700 cycles 1.00
ML-KEM-512 decaps 50273 cycles 50268 cycles 1.00
ML-KEM-768 keypair 55277 cycles 55207 cycles 1.00
ML-KEM-768 encaps 62229 cycles 62222 cycles 1.00
ML-KEM-768 decaps 77140 cycles 77065 cycles 1.00
ML-KEM-1024 keypair 82839 cycles 82912 cycles 1.00
ML-KEM-1024 encaps 93692 cycles 93701 cycles 1.00
ML-KEM-1024 decaps 114162 cycles 114211 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot
Copy link

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)

Benchmark suite Current: e219d47 Previous: 1a0879d Ratio
ML-KEM-512 keypair 14982 cycles 14979 cycles 1.00
ML-KEM-512 encaps 19702 cycles 19697 cycles 1.00
ML-KEM-512 decaps 26567 cycles 26314 cycles 1.01
ML-KEM-768 keypair 25510 cycles 25502 cycles 1.00
ML-KEM-768 encaps 27986 cycles 28005 cycles 1.00
ML-KEM-768 decaps 37700 cycles 37679 cycles 1.00
ML-KEM-1024 keypair 35516 cycles 35521 cycles 1.00
ML-KEM-1024 encaps 40380 cycles 40346 cycles 1.00
ML-KEM-1024 decaps 53776 cycles 53741 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot
Copy link

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)

Benchmark suite Current: e219d47 Previous: 1a0879d Ratio
ML-KEM-512 keypair 20398 cycles 20402 cycles 1.00
ML-KEM-512 encaps 27060 cycles 27074 cycles 1.00
ML-KEM-512 decaps 36318 cycles 35944 cycles 1.01
ML-KEM-768 keypair 34918 cycles 34929 cycles 1.00
ML-KEM-768 encaps 38137 cycles 38179 cycles 1.00
ML-KEM-768 decaps 50963 cycles 50952 cycles 1.00
ML-KEM-1024 keypair 48021 cycles 47976 cycles 1.00
ML-KEM-1024 encaps 54107 cycles 54064 cycles 1.00
ML-KEM-1024 decaps 71526 cycles 71518 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot
Copy link

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)

Benchmark suite Current: e219d47 Previous: 1a0879d Ratio
ML-KEM-512 keypair 18047 cycles 18053 cycles 1.00
ML-KEM-512 encaps 22847 cycles 22857 cycles 1.00
ML-KEM-512 decaps 30136 cycles 30138 cycles 1.00
ML-KEM-768 keypair 30983 cycles 30970 cycles 1.00
ML-KEM-768 encaps 34035 cycles 34059 cycles 1.00
ML-KEM-768 decaps 44487 cycles 44566 cycles 1.00
ML-KEM-1024 keypair 43643 cycles 44196 cycles 0.99
ML-KEM-1024 encaps 48928 cycles 49484 cycles 0.99
ML-KEM-1024 decaps 63496 cycles 64188 cycles 0.99

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot
Copy link

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)

Benchmark suite Current: e219d47 Previous: 1a0879d Ratio
ML-KEM-512 keypair 39391 cycles 39415 cycles 1.00
ML-KEM-512 encaps 45540 cycles 45542 cycles 1.00
ML-KEM-512 decaps 58973 cycles 58970 cycles 1.00
ML-KEM-768 keypair 64937 cycles 64912 cycles 1.00
ML-KEM-768 encaps 73238 cycles 73191 cycles 1.00
ML-KEM-768 decaps 91531 cycles 91399 cycles 1.00
ML-KEM-1024 keypair 96756 cycles 96673 cycles 1.00
ML-KEM-1024 encaps 107927 cycles 107838 cycles 1.00
ML-KEM-1024 decaps 131317 cycles 131295 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton2

Benchmark suite Current: e219d47 Previous: 1a0879d Ratio
ML-KEM-512 keypair 29066 cycles 29080 cycles 1.00
ML-KEM-512 encaps 35420 cycles 35457 cycles 1.00
ML-KEM-512 decaps 45890 cycles 45898 cycles 1.00
ML-KEM-768 keypair 49484 cycles 49311 cycles 1.00
ML-KEM-768 encaps 55798 cycles 55642 cycles 1.00
ML-KEM-768 decaps 70676 cycles 70442 cycles 1.00
ML-KEM-1024 keypair 72068 cycles 72098 cycles 1.00
ML-KEM-1024 encaps 80870 cycles 80844 cycles 1.00
ML-KEM-1024 decaps 100790 cycles 100723 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot
Copy link

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)

Benchmark suite Current: e219d47 Previous: 1a0879d Ratio
ML-KEM-512 keypair 43517 cycles 43713 cycles 1.00
ML-KEM-512 encaps 52034 cycles 52148 cycles 1.00
ML-KEM-512 decaps 67306 cycles 67342 cycles 1.00
ML-KEM-768 keypair 71477 cycles 71537 cycles 1.00
ML-KEM-768 encaps 82973 cycles 83012 cycles 1.00
ML-KEM-768 decaps 103051 cycles 103283 cycles 1.00
ML-KEM-1024 keypair 106760 cycles 106693 cycles 1.00
ML-KEM-1024 encaps 121656 cycles 121729 cycles 1.00
ML-KEM-1024 decaps 147462 cycles 147622 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot
Copy link

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)

Benchmark suite Current: e219d47 Previous: 1a0879d Ratio
ML-KEM-512 keypair 51740 cycles 51798 cycles 1.00
ML-KEM-512 encaps 59986 cycles 60026 cycles 1.00
ML-KEM-512 decaps 76859 cycles 76917 cycles 1.00
ML-KEM-768 keypair 84395 cycles 84455 cycles 1.00
ML-KEM-768 encaps 95807 cycles 95844 cycles 1.00
ML-KEM-768 decaps 118209 cycles 118276 cycles 1.00
ML-KEM-1024 keypair 125297 cycles 125352 cycles 1.00
ML-KEM-1024 encaps 139578 cycles 139624 cycles 1.00
ML-KEM-1024 decaps 168539 cycles 168695 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton3

Benchmark suite Current: e219d47 Previous: 1a0879d Ratio
ML-KEM-512 keypair 18938 cycles 18933 cycles 1.00
ML-KEM-512 encaps 23513 cycles 23557 cycles 1.00
ML-KEM-512 decaps 30655 cycles 30670 cycles 1.00
ML-KEM-768 keypair 32286 cycles 32296 cycles 1.00
ML-KEM-768 encaps 35870 cycles 35879 cycles 1.00
ML-KEM-768 decaps 46015 cycles 45999 cycles 1.00
ML-KEM-1024 keypair 46588 cycles 46606 cycles 1.00
ML-KEM-1024 encaps 52432 cycles 52451 cycles 1.00
ML-KEM-1024 decaps 66251 cycles 66235 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton3 (no-opt)

Benchmark suite Current: e219d47 Previous: 1a0879d Ratio
ML-KEM-512 keypair 39332 cycles 39337 cycles 1.00
ML-KEM-512 encaps 45263 cycles 45335 cycles 1.00
ML-KEM-512 decaps 57180 cycles 57359 cycles 1.00
ML-KEM-768 keypair 65953 cycles 65865 cycles 1.00
ML-KEM-768 encaps 73805 cycles 73757 cycles 1.00
ML-KEM-768 decaps 89812 cycles 89807 cycles 1.00
ML-KEM-1024 keypair 99029 cycles 99009 cycles 1.00
ML-KEM-1024 encaps 109971 cycles 109978 cycles 1.00
ML-KEM-1024 decaps 130763 cycles 130781 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton2 (no-opt)

Benchmark suite Current: e219d47 Previous: 1a0879d Ratio
ML-KEM-512 keypair 61336 cycles 60689 cycles 1.01
ML-KEM-512 encaps 69794 cycles 69909 cycles 1.00
ML-KEM-512 decaps 88871 cycles 88880 cycles 1.00
ML-KEM-768 keypair 101933 cycles 101801 cycles 1.00
ML-KEM-768 encaps 114124 cycles 114005 cycles 1.00
ML-KEM-768 decaps 139399 cycles 139516 cycles 1.00
ML-KEM-1024 keypair 154339 cycles 154403 cycles 1.00
ML-KEM-1024 encaps 170197 cycles 170263 cycles 1.00
ML-KEM-1024 decaps 202491 cycles 202583 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton4

Benchmark suite Current: e219d47 Previous: 1a0879d Ratio
ML-KEM-512 keypair 18134 cycles 18131 cycles 1.00
ML-KEM-512 encaps 22156 cycles 22176 cycles 1.00
ML-KEM-512 decaps 28799 cycles 28838 cycles 1.00
ML-KEM-768 keypair 30544 cycles 30538 cycles 1.00
ML-KEM-768 encaps 33626 cycles 33631 cycles 1.00
ML-KEM-768 decaps 43146 cycles 43156 cycles 1.00
ML-KEM-1024 keypair 44187 cycles 44172 cycles 1.00
ML-KEM-1024 encaps 49645 cycles 49637 cycles 1.00
ML-KEM-1024 decaps 62623 cycles 62646 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton4 (no-opt)

Benchmark suite Current: e219d47 Previous: 1a0879d Ratio
ML-KEM-512 keypair 37914 cycles 38048 cycles 1.00
ML-KEM-512 encaps 43325 cycles 43391 cycles 1.00
ML-KEM-512 decaps 55512 cycles 55566 cycles 1.00
ML-KEM-768 keypair 63056 cycles 63038 cycles 1.00
ML-KEM-768 encaps 70589 cycles 70433 cycles 1.00
ML-KEM-768 decaps 86996 cycles 86889 cycles 1.00
ML-KEM-1024 keypair 94557 cycles 94509 cycles 1.00
ML-KEM-1024 encaps 105347 cycles 105292 cycles 1.00
ML-KEM-1024 decaps 126641 cycles 126938 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bananapi bpi-f3 benchmarks

Benchmark suite Current: e219d47 Previous: 1a0879d Ratio
ML-KEM-512 keypair 332311 cycles 332430 cycles 1.00
ML-KEM-512 encaps 441699 cycles 441791 cycles 1.00
ML-KEM-512 decaps 590476 cycles 590770 cycles 1.00
ML-KEM-768 keypair 550554 cycles 550629 cycles 1.00
ML-KEM-768 encaps 690018 cycles 690119 cycles 1.00
ML-KEM-768 decaps 882381 cycles 882174 cycles 1.00
ML-KEM-1024 keypair 811621 cycles 811753 cycles 1.00
ML-KEM-1024 encaps 984443 cycles 984722 cycles 1.00
ML-KEM-1024 decaps 1218687 cycles 1218730 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot
Copy link

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

Benchmark suite Current: e219d47 Previous: 1a0879d Ratio
ML-KEM-512 keypair 58271 cycles 58275 cycles 1.00
ML-KEM-512 encaps 65729 cycles 65717 cycles 1.00
ML-KEM-512 decaps 84481 cycles 84503 cycles 1.00
ML-KEM-768 keypair 98969 cycles 98984 cycles 1.00
ML-KEM-768 encaps 110486 cycles 110631 cycles 1.00
ML-KEM-768 decaps 136736 cycles 136781 cycles 1.00
ML-KEM-1024 keypair 150338 cycles 150062 cycles 1.00
ML-KEM-1024 encaps 166247 cycles 166576 cycles 1.00
ML-KEM-1024 decaps 201937 cycles 202905 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot
Copy link

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

Benchmark suite Current: e219d47 Previous: 1a0879d Ratio
ML-KEM-512 keypair 51876 cycles 52048 cycles 1.00
ML-KEM-512 encaps 58484 cycles 58384 cycles 1.00
ML-KEM-512 decaps 76394 cycles 74516 cycles 1.03
ML-KEM-768 keypair 87520 cycles 88025 cycles 0.99
ML-KEM-768 encaps 96261 cycles 96949 cycles 0.99
ML-KEM-768 decaps 119422 cycles 120453 cycles 0.99
ML-KEM-1024 keypair 131488 cycles 131784 cycles 1.00
ML-KEM-1024 encaps 144110 cycles 144900 cycles 0.99
ML-KEM-1024 decaps 177440 cycles 176865 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.