Project Overview - crt26/pqc-evaluation-tools GitHub Wiki
Project's Purpose
This repository provides an automated and comprehensive evaluation framework for benchmarking Post-Quantum Cryptography (PQC) algorithms. It is designed for researchers and developers looking to evaluate the feasibility of integrating PQC into their environments. The framework streamlines the setup and testing of PQC implementations, enabling the collection of computational and networking performance metrics across x86 and ARM systems through a suite of dedicated automation scripts.
PQC implementations are sourced from multiple libraries, including algorithms natively supported in OpenSSL 3.5.0 and those available from the Open Quantum Safe (OQS) project's Liboqs
and OQS-Provider
libraries. The framework also provides automated mechanisms for testing PQC TLS handshake performance across physical or virtual networks, providing valuable insight into real-world environment testing. Results are outputted as raw CSV files that are automatically processed using the provided Python parsing scripts to provide detailed metrics and averages ready for analysis.
Future versions of the project aim to support additional PQC libraries, further expanding the scope of supported benchmarking.
Project Features
-
Verifying and installing required system packages and Python PIP dependencies.
-
Compiling and configuring the OpenSSL, OQS, and ARM PMU dependency libraries.
-
Collecting PQC computational performance data, including CPU and memory usage metrics, using the Liboqs library.
-
Gathering networking performance data for PQC schemes integrated into the TLS 1.3 protocol using the PQC support available natively in OpenSSL 3.5.0 and via the OQS-Provider.
-
Coordinated PQC TLS handshake tests run over the loopback interface or across physical networks between a server and client device.
-
Automatic or manual parsing of raw performance data, including calculating averages across multiple test runs.
Project Development
For details on the project's development and upcoming features, see the project's GitHub Projects page: