Skip to content

Commit

Permalink
Merge pull request #473 from pq-code-package/cleanup
Browse files Browse the repository at this point in the history
Minor clean-up
  • Loading branch information
hanno-becker authored Dec 3, 2024
2 parents 3ae93fe + 980cbbe commit c2e20e6
Show file tree
Hide file tree
Showing 31 changed files with 39 additions and 52 deletions.
8 changes: 4 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ buildall: mlkem nistkat kat acvp
$(Q)echo " Everything builds fine!"

quickcheck: buildall
# Run basic functionality checks
# Run basic functionality checks
$(MLKEM512_DIR)/bin/test_mlkem512
$(MLKEM768_DIR)/bin/test_mlkem768
$(MLKEM1024_DIR)/bin/test_mlkem1024
Expand Down Expand Up @@ -47,9 +47,9 @@ nistkat: \
$(MLKEM1024_DIR)/bin/gen_NISTKAT1024

kat: \
$(MLKEM512_DIR)/bin/gen_KAT512 \
$(MLKEM768_DIR)/bin/gen_KAT768 \
$(MLKEM1024_DIR)/bin/gen_KAT1024
$(MLKEM512_DIR)/bin/gen_KAT512 \
$(MLKEM768_DIR)/bin/gen_KAT768 \
$(MLKEM1024_DIR)/bin/gen_KAT1024

# emulate ARM64 binary on x86_64 machine
emulate:
Expand Down
2 changes: 1 addition & 1 deletion cbmc/proofs/crypto_kem_dec/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
PROJECT_SOURCES += $(SRCDIR)/mlkem/kem.c

CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)dec
USE_FUNCTION_CONTRACTS= $(FIPS202_NAMESPACE)sha3_512 $(FIPS202_NAMESPACE)sha3_256 $(MLKEM_NAMESPACE)indcpa_enc $(MLKEM_NAMESPACE)indcpa_dec $(MLKEM_NAMESPACE)mlkem_shake256_rkprf $(MLKEM_NAMESPACE)ct_memcmp $(MLKEM_NAMESPACE)ct_cmov_zero memcmp
USE_FUNCTION_CONTRACTS= $(FIPS202_NAMESPACE)sha3_512 $(FIPS202_NAMESPACE)sha3_256 $(MLKEM_NAMESPACE)indcpa_enc $(MLKEM_NAMESPACE)indcpa_dec $(MLKEM_NAMESPACE)mlkem_shake256_rkprf ct_memcmp ct_cmov_zero memcmp
APPLY_LOOP_CONTRACTS=on
USE_DYNAMIC_FRAMES=1

Expand Down
4 changes: 2 additions & 2 deletions cbmc/proofs/ct_cmov_zero/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ UNWINDSET +=
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
PROJECT_SOURCES += $(SRCDIR)/mlkem/poly.c # Dummy source

CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)ct_cmov_zero
CHECK_FUNCTION_CONTRACTS=ct_cmov_zero
USE_FUNCTION_CONTRACTS=ct_sel_uint8
APPLY_LOOP_CONTRACTS=on
USE_DYNAMIC_FRAMES=1
Expand All @@ -27,7 +27,7 @@ USE_DYNAMIC_FRAMES=1
EXTERNAL_SAT_SOLVER=
CBMCFLAGS=--smt2

FUNCTION_NAME = $(MLKEM_NAMESPACE)ct_cmov_zero
FUNCTION_NAME = ct_cmov_zero

# 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
Expand Down
4 changes: 2 additions & 2 deletions cbmc/proofs/ct_memcmp/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ UNWINDSET +=
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
PROJECT_SOURCES += $(SRCDIR)/mlkem/poly.c

CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)ct_memcmp
CHECK_FUNCTION_CONTRACTS=ct_memcmp
USE_FUNCTION_CONTRACTS=value_barrier_u8 ct_cmask_nonzero_u8
APPLY_LOOP_CONTRACTS=on
USE_DYNAMIC_FRAMES=1
Expand All @@ -27,7 +27,7 @@ USE_DYNAMIC_FRAMES=1
EXTERNAL_SAT_SOLVER=
CBMCFLAGS=--bitwuzla

FUNCTION_NAME = $(MLKEM_NAMESPACE)ct_memcmp
FUNCTION_NAME = ct_memcmp

# 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
Expand Down
4 changes: 2 additions & 2 deletions cbmc/proofs/poly_compress_du/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ PROJECT_SOURCES += $(SRCDIR)/mlkem/poly.c
CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)poly_compress_du
# For K = 2 or 3, the code calls scalar_compress_d10, so
ifeq ($(MLKEM_K),4)
USE_FUNCTION_CONTRACTS = $(MLKEM_NAMESPACE)scalar_compress_d11
USE_FUNCTION_CONTRACTS = scalar_compress_d11
else
USE_FUNCTION_CONTRACTS = $(MLKEM_NAMESPACE)scalar_compress_d10
USE_FUNCTION_CONTRACTS = scalar_compress_d10
endif

APPLY_LOOP_CONTRACTS=on
Expand Down
4 changes: 2 additions & 2 deletions cbmc/proofs/poly_compress_dv/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ PROJECT_SOURCES += $(SRCDIR)/mlkem/poly.c

CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)poly_compress_dv
ifeq ($(MLKEM_K),4)
USE_FUNCTION_CONTRACTS = $(MLKEM_NAMESPACE)scalar_compress_d5
USE_FUNCTION_CONTRACTS = scalar_compress_d5
else
USE_FUNCTION_CONTRACTS = $(MLKEM_NAMESPACE)scalar_compress_d4
USE_FUNCTION_CONTRACTS = scalar_compress_d4
endif
APPLY_LOOP_CONTRACTS=on
USE_DYNAMIC_FRAMES=1
Expand Down
4 changes: 2 additions & 2 deletions cbmc/proofs/poly_decompress_du/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)poly_decompress_du

# For K = 2 or 3, the code calls scalar_decompress_d10, so
ifeq ($(MLKEM_K),4)
USE_FUNCTION_CONTRACTS = $(MLKEM_NAMESPACE)scalar_decompress_d11
USE_FUNCTION_CONTRACTS = scalar_decompress_d11
else
USE_FUNCTION_CONTRACTS = $(MLKEM_NAMESPACE)scalar_decompress_d10
USE_FUNCTION_CONTRACTS = scalar_decompress_d10
endif

APPLY_LOOP_CONTRACTS=on
Expand Down
4 changes: 2 additions & 2 deletions cbmc/proofs/poly_decompress_dv/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)poly_decompress_dv

# For K = 2 or 3, the code calls scalar_decompress_d4, so
ifeq ($(MLKEM_K),4)
USE_FUNCTION_CONTRACTS = $(MLKEM_NAMESPACE)scalar_decompress_d5
USE_FUNCTION_CONTRACTS = scalar_decompress_d5
else
USE_FUNCTION_CONTRACTS = $(MLKEM_NAMESPACE)scalar_decompress_d4
USE_FUNCTION_CONTRACTS = scalar_decompress_d4
endif

APPLY_LOOP_CONTRACTS=on
Expand Down
2 changes: 1 addition & 1 deletion cbmc/proofs/poly_reduce/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
PROJECT_SOURCES += $(SRCDIR)/mlkem/poly.c

CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)poly_reduce
USE_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)scalar_signed_to_unsigned_q $(MLKEM_NAMESPACE)barrett_reduce
USE_FUNCTION_CONTRACTS=scalar_signed_to_unsigned_q $(MLKEM_NAMESPACE)barrett_reduce
APPLY_LOOP_CONTRACTS=on
USE_DYNAMIC_FRAMES=1

Expand Down
2 changes: 1 addition & 1 deletion cbmc/proofs/scalar_compress_d1/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ UNWINDSET +=
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
PROJECT_SOURCES += $(SRCDIR)/mlkem/poly.c

CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)scalar_compress_d1
CHECK_FUNCTION_CONTRACTS=scalar_compress_d1
USE_FUNCTION_CONTRACTS=
APPLY_LOOP_CONTRACTS=on
USE_DYNAMIC_FRAMES=1
Expand Down
2 changes: 1 addition & 1 deletion cbmc/proofs/scalar_compress_d10/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ UNWINDSET +=
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
PROJECT_SOURCES += $(SRCDIR)/mlkem/poly.c

CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)scalar_compress_d10
CHECK_FUNCTION_CONTRACTS= scalar_compress_d10
USE_FUNCTION_CONTRACTS=
APPLY_LOOP_CONTRACTS=on
USE_DYNAMIC_FRAMES=1
Expand Down
2 changes: 1 addition & 1 deletion cbmc/proofs/scalar_compress_d11/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ UNWINDSET +=
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
PROJECT_SOURCES += $(SRCDIR)/mlkem/poly.c

CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)scalar_compress_d11
CHECK_FUNCTION_CONTRACTS= scalar_compress_d11
USE_FUNCTION_CONTRACTS=
APPLY_LOOP_CONTRACTS=on
USE_DYNAMIC_FRAMES=1
Expand Down
2 changes: 1 addition & 1 deletion cbmc/proofs/scalar_compress_d4/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ UNWINDSET +=
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
PROJECT_SOURCES += $(SRCDIR)/mlkem/poly.c

CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)scalar_compress_d4
CHECK_FUNCTION_CONTRACTS=scalar_compress_d4
USE_FUNCTION_CONTRACTS=
APPLY_LOOP_CONTRACTS=on
USE_DYNAMIC_FRAMES=1
Expand Down
2 changes: 1 addition & 1 deletion cbmc/proofs/scalar_compress_d5/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ UNWINDSET +=
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
PROJECT_SOURCES += $(SRCDIR)/mlkem/poly.c

CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)scalar_compress_d5
CHECK_FUNCTION_CONTRACTS=scalar_compress_d5
USE_FUNCTION_CONTRACTS=
APPLY_LOOP_CONTRACTS=on
USE_DYNAMIC_FRAMES=1
Expand Down
2 changes: 1 addition & 1 deletion cbmc/proofs/scalar_decompress_d10/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ UNWINDSET +=
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
PROJECT_SOURCES += $(SRCDIR)/mlkem/poly.c

CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)scalar_decompress_d10
CHECK_FUNCTION_CONTRACTS=scalar_decompress_d10
USE_FUNCTION_CONTRACTS=
APPLY_LOOP_CONTRACTS=on
USE_DYNAMIC_FRAMES=1
Expand Down
2 changes: 1 addition & 1 deletion cbmc/proofs/scalar_decompress_d11/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ UNWINDSET +=
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
PROJECT_SOURCES += $(SRCDIR)/mlkem/poly.c

CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)scalar_decompress_d11
CHECK_FUNCTION_CONTRACTS=scalar_decompress_d11
USE_FUNCTION_CONTRACTS=
APPLY_LOOP_CONTRACTS=on
USE_DYNAMIC_FRAMES=1
Expand Down
2 changes: 1 addition & 1 deletion cbmc/proofs/scalar_decompress_d4/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ UNWINDSET +=
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
PROJECT_SOURCES += $(SRCDIR)/mlkem/poly.c

CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)scalar_decompress_d4
CHECK_FUNCTION_CONTRACTS=scalar_decompress_d4
USE_FUNCTION_CONTRACTS=
APPLY_LOOP_CONTRACTS=on
USE_DYNAMIC_FRAMES=1
Expand Down
2 changes: 1 addition & 1 deletion cbmc/proofs/scalar_decompress_d5/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ UNWINDSET +=
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
PROJECT_SOURCES += $(SRCDIR)/mlkem/poly.c

CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)scalar_decompress_d5
CHECK_FUNCTION_CONTRACTS=scalar_decompress_d5
USE_FUNCTION_CONTRACTS=
APPLY_LOOP_CONTRACTS=on
USE_DYNAMIC_FRAMES=1
Expand Down
2 changes: 1 addition & 1 deletion cbmc/proofs/scalar_signed_to_unsigned_q/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ UNWINDSET +=
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
PROJECT_SOURCES += $(SRCDIR)/mlkem/poly.c

CHECK_FUNCTION_CONTRACTS=$(MLKEM_NAMESPACE)scalar_signed_to_unsigned_q
CHECK_FUNCTION_CONTRACTS=scalar_signed_to_unsigned_q
USE_FUNCTION_CONTRACTS=ct_sel_int16 ct_cmask_neg_i16
APPLY_LOOP_CONTRACTS=on
USE_DYNAMIC_FRAMES=1
Expand Down
2 changes: 1 addition & 1 deletion fips202/native/aarch64/common.i
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2024 The mlkem-native project authors
* SPDX-License-Identifier: MIT
*/
*/

#if __APPLE__
#define ASM_LOAD(dst, symbol) \
Expand Down
2 changes: 1 addition & 1 deletion fips202/native/x86_64/xkcp/KeccakP-1600-unrolling.macros
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2024 The mlkem-native project authors
* SPDX-License-Identifier: Apache-2.0
*/
*/

/*
Implementation by the Keccak, Keyak and Ketje Teams, namely, Guido Bertoni,
Expand Down
4 changes: 2 additions & 2 deletions mk/config.mk
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ CFLAGS += \
-Wpointer-arith \
-Wno-long-long \
-Wno-unknown-pragmas \
-Wno-unused-command-line-argument \
-Wno-unused-command-line-argument \
-O3 \
-fomit-frame-pointer \
-std=c99 \
-std=c99 \
-pedantic \
-MMD \
$(CPPFLAGS)
Expand Down
2 changes: 1 addition & 1 deletion mlkem/native/aarch64/poly_clean.S
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2024 The mlkem-native project authors
* SPDX-License-Identifier: Apache-2.0
*/
*/

#include "config.h"
#if defined(MLKEM_USE_NATIVE_AARCH64)
Expand Down
2 changes: 1 addition & 1 deletion mlkem/native/aarch64/poly_opt.S
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2024 The mlkem-native project authors
* SPDX-License-Identifier: Apache-2.0
*/
*/

#include "config.h"
#if defined(MLKEM_USE_NATIVE_AARCH64)
Expand Down
2 changes: 1 addition & 1 deletion mlkem/native/aarch64/polyvec_clean.S
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2024 The mlkem-native project authors
* SPDX-License-Identifier: Apache-2.0
*/
*/
//
// AArch64 re-implementation of the asymmetric base multiplication from:
//
Expand Down
2 changes: 1 addition & 1 deletion mlkem/native/aarch64/polyvec_opt.S
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2024 The mlkem-native project authors
* SPDX-License-Identifier: Apache-2.0
*/
*/

// AArch64 re-implementation of the asymmetric base multiplication from:

Expand Down
2 changes: 1 addition & 1 deletion mlkem/native/aarch64/rej_uniform_asm_clean.S
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2024 The mlkem-native project authors
* SPDX-License-Identifier: Apache-2.0
*/
*/

/*************************************************
* Name: rej_uniform_asm_clean
Expand Down
2 changes: 1 addition & 1 deletion mlkem/native/x86_64/fq.S
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2024 The mlkem-native project authors
* SPDX-License-Identifier: Apache-2.0
*/
*/

// Implementation based on Kyber reference repository
// https://github.com/pq-crystals/kyber/blob/main/avx2
Expand Down
2 changes: 1 addition & 1 deletion mlkem/native/x86_64/shuffle.S
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2024 The mlkem-native project authors
* SPDX-License-Identifier: Apache-2.0
*/
*/

// Implementation from Kyber reference repository
// https://github.com/pq-crystals/kyber/blob/main/avx2
Expand Down
11 changes: 0 additions & 11 deletions mlkem/poly.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,17 +40,6 @@ typedef struct
int16_t coeffs[MLKEM_N >> 1];
} poly_mulcache;

#define scalar_compress_d1 MLKEM_NAMESPACE(scalar_compress_d1)
#define scalar_compress_d4 MLKEM_NAMESPACE(scalar_compress_d4)
#define scalar_compress_d5 MLKEM_NAMESPACE(scalar_compress_d5)
#define scalar_compress_d10 MLKEM_NAMESPACE(scalar_compress_d10)
#define scalar_compress_d11 MLKEM_NAMESPACE(scalar_compress_d11)
#define scalar_decompress_d4 MLKEM_NAMESPACE(scalar_decompress_d4)
#define scalar_decompress_d5 MLKEM_NAMESPACE(scalar_decompress_d5)
#define scalar_decompress_d10 MLKEM_NAMESPACE(scalar_decompress_d10)
#define scalar_decompress_d11 MLKEM_NAMESPACE(scalar_decompress_d11)
#define scalar_signed_to_unsigned_q MLKEM_NAMESPACE(scalar_signed_to_unsigned_q)

/************************************************************
* Name: scalar_compress_d1
*
Expand Down
2 changes: 0 additions & 2 deletions mlkem/verify.h
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,6 @@ __contract__(ensures(return_value == (cond ? a : b)))
return b ^ (ct_cmask_nonzero_u8(cond) & (a ^ b));
}

#define ct_memcmp MLKEM_NAMESPACE(ct_memcmp)
/*************************************************
* Name: ct_memcmp
*
Expand Down Expand Up @@ -275,7 +274,6 @@ __contract__(
return (value_barrier_u8(ct_cmask_nonzero_u8(r) ^ s) ^ s);
}

#define ct_cmov_zero MLKEM_NAMESPACE(ct_cmov_zero)
/*************************************************
* Name: ct_cmov_zero
*
Expand Down

17 comments on commit c2e20e6

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on c2e20e6 Dec 3, 2024

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: c2e20e6 Previous: 3ae93fe Ratio
ML-KEM-512 keypair 29176 cycles 29174 cycles 1.00
ML-KEM-512 encaps 35850 cycles 35851 cycles 1.00
ML-KEM-512 decaps 46652 cycles 46651 cycles 1.00
ML-KEM-768 keypair 49174 cycles 49178 cycles 1.00
ML-KEM-768 encaps 55840 cycles 55841 cycles 1.00
ML-KEM-768 decaps 71008 cycles 71010 cycles 1.00
ML-KEM-1024 keypair 72211 cycles 72215 cycles 1.00
ML-KEM-1024 encaps 81521 cycles 81522 cycles 1.00
ML-KEM-1024 decaps 102030 cycles 102032 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on c2e20e6 Dec 3, 2024

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: c2e20e6 Previous: 3ae93fe Ratio
ML-KEM-512 keypair 13877 cycles 14162 cycles 0.98
ML-KEM-512 encaps 18215 cycles 18043 cycles 1.01
ML-KEM-512 decaps 24093 cycles 24306 cycles 0.99
ML-KEM-768 keypair 22511 cycles 22522 cycles 1.00
ML-KEM-768 encaps 24564 cycles 24576 cycles 1.00
ML-KEM-768 decaps 32642 cycles 32814 cycles 0.99
ML-KEM-1024 keypair 32142 cycles 32189 cycles 1.00
ML-KEM-1024 encaps 35677 cycles 35756 cycles 1.00
ML-KEM-1024 decaps 47313 cycles 47411 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on c2e20e6 Dec 3, 2024

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: c2e20e6 Previous: 3ae93fe Ratio
ML-KEM-512 keypair 20315 cycles 20334 cycles 1.00
ML-KEM-512 encaps 27114 cycles 27138 cycles 1.00
ML-KEM-512 decaps 36206 cycles 36284 cycles 1.00
ML-KEM-768 keypair 34839 cycles 34931 cycles 1.00
ML-KEM-768 encaps 38195 cycles 38206 cycles 1.00
ML-KEM-768 decaps 51368 cycles 51394 cycles 1.00
ML-KEM-1024 keypair 48080 cycles 48061 cycles 1.00
ML-KEM-1024 encaps 54240 cycles 54232 cycles 1.00
ML-KEM-1024 decaps 72104 cycles 72130 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on c2e20e6 Dec 3, 2024

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: c2e20e6 Previous: 3ae93fe Ratio
ML-KEM-512 keypair 18141 cycles 18135 cycles 1.00
ML-KEM-512 encaps 23108 cycles 23108 cycles 1
ML-KEM-512 decaps 30355 cycles 30362 cycles 1.00
ML-KEM-768 keypair 31046 cycles 31042 cycles 1.00
ML-KEM-768 encaps 33994 cycles 34044 cycles 1.00
ML-KEM-768 decaps 44773 cycles 44767 cycles 1.00
ML-KEM-1024 keypair 44662 cycles 44694 cycles 1.00
ML-KEM-1024 encaps 50046 cycles 50154 cycles 1.00
ML-KEM-1024 decaps 64679 cycles 64633 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on c2e20e6 Dec 3, 2024

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: c2e20e6 Previous: 3ae93fe Ratio
ML-KEM-512 keypair 15075 cycles 15074 cycles 1.00
ML-KEM-512 encaps 19761 cycles 19772 cycles 1.00
ML-KEM-512 decaps 26414 cycles 26428 cycles 1.00
ML-KEM-768 keypair 25580 cycles 25591 cycles 1.00
ML-KEM-768 encaps 28209 cycles 28198 cycles 1.00
ML-KEM-768 decaps 38208 cycles 38214 cycles 1.00
ML-KEM-1024 keypair 35656 cycles 35633 cycles 1.00
ML-KEM-1024 encaps 41356 cycles 41241 cycles 1.00
ML-KEM-1024 decaps 54630 cycles 54596 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on c2e20e6 Dec 3, 2024

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: c2e20e6 Previous: 3ae93fe Ratio
ML-KEM-512 keypair 36189 cycles 36314 cycles 1.00
ML-KEM-512 encaps 46455 cycles 46272 cycles 1.00
ML-KEM-512 decaps 62002 cycles 61668 cycles 1.01
ML-KEM-768 keypair 58959 cycles 58901 cycles 1.00
ML-KEM-768 encaps 73135 cycles 72646 cycles 1.01
ML-KEM-768 decaps 91655 cycles 91331 cycles 1.00
ML-KEM-1024 keypair 88377 cycles 88853 cycles 0.99
ML-KEM-1024 encaps 109333 cycles 109321 cycles 1.00
ML-KEM-1024 decaps 133624 cycles 133151 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on c2e20e6 Dec 3, 2024

Choose a reason for hiding this comment

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

Graviton3

Benchmark suite Current: c2e20e6 Previous: 3ae93fe Ratio
ML-KEM-512 keypair 19029 cycles 19030 cycles 1.00
ML-KEM-512 encaps 23843 cycles 23842 cycles 1.00
ML-KEM-512 decaps 31230 cycles 31228 cycles 1.00
ML-KEM-768 keypair 32332 cycles 32329 cycles 1.00
ML-KEM-768 encaps 36084 cycles 36082 cycles 1.00
ML-KEM-768 decaps 46492 cycles 46488 cycles 1.00
ML-KEM-1024 keypair 46967 cycles 46965 cycles 1.00
ML-KEM-1024 encaps 53086 cycles 53090 cycles 1.00
ML-KEM-1024 decaps 67400 cycles 67401 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on c2e20e6 Dec 3, 2024

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: c2e20e6 Previous: 3ae93fe Ratio
ML-KEM-512 keypair 56648 cycles 56704 cycles 1.00
ML-KEM-512 encaps 71741 cycles 71804 cycles 1.00
ML-KEM-512 decaps 96268 cycles 96358 cycles 1.00
ML-KEM-768 keypair 91745 cycles 91801 cycles 1.00
ML-KEM-768 encaps 111318 cycles 111418 cycles 1.00
ML-KEM-768 decaps 144339 cycles 144437 cycles 1.00
ML-KEM-1024 keypair 134507 cycles 134470 cycles 1.00
ML-KEM-1024 encaps 159831 cycles 159910 cycles 1.00
ML-KEM-1024 decaps 201213 cycles 201264 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on c2e20e6 Dec 3, 2024

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: c2e20e6 Previous: 3ae93fe Ratio
ML-KEM-512 keypair 45704 cycles 45717 cycles 1.00
ML-KEM-512 encaps 58785 cycles 58799 cycles 1.00
ML-KEM-512 decaps 79989 cycles 80030 cycles 1.00
ML-KEM-768 keypair 74616 cycles 74618 cycles 1.00
ML-KEM-768 encaps 91452 cycles 91462 cycles 1.00
ML-KEM-768 decaps 120146 cycles 120165 cycles 1.00
ML-KEM-1024 keypair 109883 cycles 109962 cycles 1.00
ML-KEM-1024 encaps 130982 cycles 131027 cycles 1.00
ML-KEM-1024 decaps 167609 cycles 167647 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on c2e20e6 Dec 3, 2024

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: c2e20e6 Previous: 3ae93fe Ratio
ML-KEM-512 keypair 52285 cycles 52308 cycles 1.00
ML-KEM-512 encaps 67762 cycles 67783 cycles 1.00
ML-KEM-512 decaps 92614 cycles 92639 cycles 1.00
ML-KEM-768 keypair 84613 cycles 84655 cycles 1.00
ML-KEM-768 encaps 104798 cycles 104848 cycles 1.00
ML-KEM-768 decaps 137744 cycles 137752 cycles 1.00
ML-KEM-1024 keypair 125411 cycles 125467 cycles 1.00
ML-KEM-1024 encaps 149662 cycles 149711 cycles 1.00
ML-KEM-1024 decaps 192482 cycles 192228 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on c2e20e6 Dec 3, 2024

Choose a reason for hiding this comment

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

Graviton2

Benchmark suite Current: c2e20e6 Previous: 3ae93fe Ratio
ML-KEM-512 keypair 29175 cycles 29176 cycles 1.00
ML-KEM-512 encaps 35861 cycles 35858 cycles 1.00
ML-KEM-512 decaps 46665 cycles 46666 cycles 1.00
ML-KEM-768 keypair 49193 cycles 49216 cycles 1.00
ML-KEM-768 encaps 55865 cycles 55885 cycles 1.00
ML-KEM-768 decaps 70980 cycles 71003 cycles 1.00
ML-KEM-1024 keypair 72171 cycles 72363 cycles 1.00
ML-KEM-1024 encaps 81619 cycles 81878 cycles 1.00
ML-KEM-1024 decaps 102063 cycles 102389 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on c2e20e6 Dec 3, 2024

Choose a reason for hiding this comment

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

Graviton4

Benchmark suite Current: c2e20e6 Previous: 3ae93fe Ratio
ML-KEM-512 keypair 18265 cycles 18265 cycles 1
ML-KEM-512 encaps 22476 cycles 22478 cycles 1.00
ML-KEM-512 decaps 29400 cycles 29399 cycles 1.00
ML-KEM-768 keypair 30773 cycles 30772 cycles 1.00
ML-KEM-768 encaps 34058 cycles 34058 cycles 1
ML-KEM-768 decaps 43910 cycles 43907 cycles 1.00
ML-KEM-1024 keypair 44483 cycles 44484 cycles 1.00
ML-KEM-1024 encaps 50206 cycles 50204 cycles 1.00
ML-KEM-1024 decaps 63636 cycles 63636 cycles 1

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on c2e20e6 Dec 3, 2024

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: c2e20e6 Previous: 3ae93fe Ratio
ML-KEM-512 keypair 58018 cycles 58033 cycles 1.00
ML-KEM-512 encaps 65676 cycles 65687 cycles 1.00
ML-KEM-512 decaps 84280 cycles 84395 cycles 1.00
ML-KEM-768 keypair 98268 cycles 98285 cycles 1.00
ML-KEM-768 encaps 110293 cycles 109962 cycles 1.00
ML-KEM-768 decaps 137081 cycles 136872 cycles 1.00
ML-KEM-1024 keypair 148914 cycles 149084 cycles 1.00
ML-KEM-1024 encaps 166309 cycles 166251 cycles 1.00
ML-KEM-1024 decaps 201586 cycles 202480 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on c2e20e6 Dec 3, 2024

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: c2e20e6 Previous: 3ae93fe Ratio
ML-KEM-512 keypair 45371 cycles 45371 cycles 1
ML-KEM-512 encaps 56179 cycles 56178 cycles 1.00
ML-KEM-512 decaps 75101 cycles 75102 cycles 1.00
ML-KEM-768 keypair 74864 cycles 74876 cycles 1.00
ML-KEM-768 encaps 89186 cycles 89195 cycles 1.00
ML-KEM-768 decaps 114552 cycles 114557 cycles 1.00
ML-KEM-1024 keypair 111075 cycles 111081 cycles 1.00
ML-KEM-1024 encaps 129995 cycles 129998 cycles 1.00
ML-KEM-1024 decaps 162574 cycles 162585 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on c2e20e6 Dec 3, 2024

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: c2e20e6 Previous: 3ae93fe Ratio
ML-KEM-512 keypair 41915 cycles 41913 cycles 1.00
ML-KEM-512 encaps 51761 cycles 51760 cycles 1.00
ML-KEM-512 decaps 69324 cycles 69323 cycles 1.00
ML-KEM-768 keypair 69073 cycles 69071 cycles 1.00
ML-KEM-768 encaps 82686 cycles 82685 cycles 1.00
ML-KEM-768 decaps 106476 cycles 106478 cycles 1.00
ML-KEM-1024 keypair 102237 cycles 102241 cycles 1.00
ML-KEM-1024 encaps 120659 cycles 120659 cycles 1
ML-KEM-1024 decaps 150664 cycles 150663 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on c2e20e6 Dec 3, 2024

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: c2e20e6 Previous: 3ae93fe Ratio
ML-KEM-512 keypair 71123 cycles 71105 cycles 1.00
ML-KEM-512 encaps 87849 cycles 87840 cycles 1.00
ML-KEM-512 decaps 118148 cycles 118142 cycles 1.00
ML-KEM-768 keypair 117641 cycles 117474 cycles 1.00
ML-KEM-768 encaps 139355 cycles 139289 cycles 1.00
ML-KEM-768 decaps 180095 cycles 180008 cycles 1.00
ML-KEM-1024 keypair 174454 cycles 174494 cycles 1.00
ML-KEM-1024 encaps 202063 cycles 202136 cycles 1.00
ML-KEM-1024 decaps 253328 cycles 253431 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on c2e20e6 Dec 3, 2024

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: c2e20e6 Previous: 3ae93fe Ratio
ML-KEM-512 keypair 51668 cycles 51684 cycles 1.00
ML-KEM-512 encaps 59457 cycles 58858 cycles 1.01
ML-KEM-512 decaps 75422 cycles 74726 cycles 1.01
ML-KEM-768 keypair 87840 cycles 87300 cycles 1.01
ML-KEM-768 encaps 98215 cycles 96679 cycles 1.02
ML-KEM-768 decaps 119859 cycles 120665 cycles 0.99
ML-KEM-1024 keypair 131237 cycles 131796 cycles 1.00
ML-KEM-1024 encaps 145377 cycles 145631 cycles 1.00
ML-KEM-1024 decaps 177138 cycles 177272 cycles 1.00

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

Please sign in to comment.