Skip to content

Commit

Permalink
Added BoringSSL SHAKE benchmarks.
Browse files Browse the repository at this point in the history
  • Loading branch information
xvzcf committed Sep 13, 2023
1 parent 42845e3 commit 5a31b4b
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 0 deletions.
5 changes: 5 additions & 0 deletions benches/boringssl/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,8 @@ FetchContent_MakeAvailable(boringssl)
add_executable(kyber768 kyber768.cxx)
target_compile_options(kyber768 PRIVATE -Wall -Wextra)
target_link_libraries(kyber768 crypto benchmark::benchmark)

add_executable(shake shake.cxx)
target_include_directories(shake PRIVATE ${boringssl_SOURCE_DIR})
target_compile_options(shake PRIVATE -Wall -Wextra)
target_link_libraries(shake crypto benchmark::benchmark)
33 changes: 33 additions & 0 deletions benches/boringssl/shake.cxx
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#include <stdlib.h>
#include <string>

#include "crypto/kyber/internal.h"

#include <benchmark/benchmark.h>

#define BYTES_TO_OUTPUT 10000

static void BM_SHAKE128(benchmark::State &state) {
uint8_t input[34] = {0};
uint8_t output[BYTES_TO_OUTPUT];

for (auto _ : state) {
BORINGSSL_keccak(output, BYTES_TO_OUTPUT, input, sizeof(input),
boringssl_shake128);
}
}

static void BM_SHAKE256(benchmark::State &state) {
uint8_t input[34] = {0};
uint8_t output[BYTES_TO_OUTPUT];

for (auto _ : state) {
BORINGSSL_keccak(output, BYTES_TO_OUTPUT, input, sizeof(input),
boringssl_shake256);
}
}

BENCHMARK(BM_SHAKE128);
BENCHMARK(BM_SHAKE256);

BENCHMARK_MAIN();

0 comments on commit 5a31b4b

Please sign in to comment.